INHOUDSOPGAWE:

Metronoom gebaseer op mikrobeheerder: 5 stappe
Metronoom gebaseer op mikrobeheerder: 5 stappe

Video: Metronoom gebaseer op mikrobeheerder: 5 stappe

Video: Metronoom gebaseer op mikrobeheerder: 5 stappe
Video: Vlaamse bermen en onmiddellijke omg. in kader van groenblauwe netwerken en afname van biodiversiteit 2024, Julie
Anonim
Image
Image

'N Metronoom is 'n tydsinstrument wat deur musikante gebruik word om die ritme in liedjies by te hou en 'n gevoel van tydsberekening te ontwikkel by beginners wat 'n nuwe instrument leer. Dit help om 'n gevoel van ritme te handhaaf wat van kardinale belang is in musiek.

Hierdie metronoom wat hier gebou is, kan gebruik word om die aantal slae per maat en die slae per minuut in te stel. Sodra hierdie opstellingsdata ingevoer is, piep dit volgens die data vergesel van gepaste beligting met behulp van LED's. Die opstellingsdata word op 'n LCD -skerm vertoon.

Stap 1: Vereiste komponente:

·

  • Atmega8A mikrobeheerder
  • · 16*2 Lcd -skerm
  • · Piezo -gonser
  • · LED's (groen, rooi)
  • · Weerstande (220e, 330e, 1k, 5.6k)
  • · Drukknoppies (2* anti-locking, 1* locking)
  • · 3V CR2032 muntselbattery (*2)
  • Muntbatteryhouer (*2)
  • · 6 -pins Relimate (gepolariseerde) aansluiting

Stap 2: Maak die kring

Maak die stroomverbindings soos op die foto op 'n verobord getoon en soldeer die verbindings behoorlik

Stap 3: Kenmerke van die metronoom

Die koppelvlak van die metronoom word hoofsaaklik deur die lcd -skerm beset. Daarbo is die 8A -mikrobeheerder sentraal geplaas met die LED's en die gonser aan die regterkant. Die drie skakelaars en die Relimate -aansluiting word bo -aan geplaas.

Die hele projek word slegs aangedryf deur twee muntstukke (in serie @6V 220mAh) met 'n geskatte tydsduur van 20 dae tot 1 maand (nie deurlopend nie). Dit is dus matig effektief en het 'n huidige vereiste van 3 - 5 mA.

Die self -sluitskakelaar is links links geplaas en is die AAN/UIT -knoppie. Die knoppie in die middel is die Setup -knoppie en die knoppie regs word gebruik om die waardes vir bpm en slae (per maat) te verander.

As die AAN/UIT -skakelaar ingedruk word, skakel die lcd aan en toon die waarde van slae per maat. Dit wag 3 sekondes totdat die gebruiker die waarde verander, waarna dit die gevolglike waarde as invoer neem. Hierdie waarde wissel tussen 1/4, 2/4, 3/4, 4/4.

Dan wys dit die slae per minuut (bpm) en wag weer vir 3 sekondes totdat die gebruiker die waarde verander, waarna dit die spesifieke waarde stel. Hierdie wagtyd van 3 sekondes word gekalibreer nadat die gebruiker 'n waarde verander het. Die bpm -waardes kan wissel van 30 tot 240. Deur op die Setup -knoppie te druk tydens die bpm -opstelling, word die waarde daarvan teruggestel na 30 bpm, wat nuttig is om die hoeveelheid klik op die knoppie te verminder. Die bpm waardes is veelvoude van 5.

Nadat die opstelling voltooi is, skakel die LCD -agterlig uit om die battery te bespaar. Die gonser piep een keer vir elke maatslag en die LED's knipper een vir een om die beurt. Om die waardes te verander, word op die Setup -knoppie gedruk. As u dit doen, word die LCD -agtergrond aangeskakel en verskyn die klopaanwyser net soos voorheen genoem, met dieselfde prosedure daarna.

Die Atmega8A -mikrobeheerder bestaan uit 500 grepe EEPROM, wat beteken dat watter waardes van slae en bpm ook ingevoer word, gestoor bly, selfs nadat die metronoom uitgeskakel is. As u dit weer aanskakel, kan u dit hervat met dieselfde data as wat voorheen ingevoer is.

Die Relimate -aansluiting is eintlik 'n SPI -kop wat vir twee doeleindes gebruik kan word. Dit kan gebruik word om die Atmega8A -mikrobeheerder te herprogrammeer om sy firmware op te dateer en nuwe funksies by die metronoom te voeg. Tweedens kan 'n eksterne kragtoevoer ook gebruik word om die metronoom vir hardcore gebruikers aan te dryf. Maar hierdie kragtoevoer mag nie groter as 5,5 volt wees nie en dit oorskry die AAN/UIT -skakelaar. Om veiligheidsredes MOET hierdie skakelaar af wees sodat die eksterne toevoer nie kortkom met die ingeboude batterye nie.

Stap 4: Beskrywing

Hierdie projek word gemaak met behulp van die Atmel Atmega8A -mikrobeheerder wat geprogrammeer is met die Arduino IDE via 'n Arduino Uno/Mega/Nano wat as 'n ISP -programmeerder gebruik word.

Hierdie mikrobeheerder is 'n minder weergawe van die Atmel Atmega328p wat wyd gebruik word in die Arduino Uno. Die Atmega8A bestaan uit 8Kb programmeerbare geheue met 1Kb RAM. Dit is 'n 8 -bis mikrokontroleerder wat op dieselfde frekwensie as die 328p werk, dws 16Mhz.

Aangesien huidige verbruik 'n belangrike aspek in hierdie projek is, is die klokfrekwensie verminder en word die interne 1 Mhz -ossillator gebruik. Dit verminder die huidige vereiste aansienlik tot ongeveer 3.5 mA @3.3V en 5mA @4.5V.

Die Arduino IDE het nie die geleentheid om hierdie mikrobeheerder te programmeer nie. Daarom is 'n "Minicore" -pakket (inprop) geïnstalleer om die 8A met sy interne ossillator uit te voer met behulp van 'n Optiboot -selflaaiprogram. Daar is opgemerk dat die kragbehoefte van die projek toeneem met toenemende spanning. Vir 'n optimale kragverbruik was die mikrobeheerder dus ingestel op 1 MHz met 'n enkele 3V muntbattery wat slegs 3,5mA trek. Maar daar is opgemerk dat die lcd nie behoorlik funksioneer by so 'n lae spanning nie. Daarom is die besluit om twee muntbatterye in serie te gebruik, toegepas om die spanning tot 6V te verhoog. Maar dit beteken dat die huidige verbruik tot 15mA toegeneem het, wat 'n groot nadeel was, aangesien die batterylewe baie swak sou word. Dit het ook die veilige spanningslimiet van 5.5V van die 8A -mikrobeheerder oorskry.

Daarom is 'n weerstand van 330 ohm in serie met die 6V -kragtoevoer gekoppel om van hierdie probleem ontslae te raak. Die weerstand veroorsaak basies dat 'n spanningsval oor homself die spanningsvlak binne 5.5V verlaag om die mikrobeheerder veilig te laat loop. Boonop is die waarde van 330 gekies deur verskeie faktore in ag te neem:

  • · Die doel was om die 8A teen so 'n lae spanning as moontlik te laat werk om krag te bespaar.
  • · Daar is opgemerk dat die lcd opgehou het om onder 3.2V te werk, hoewel die mikrobeheerder steeds funksioneer
  • · Hierdie waarde van 330 maak seker dat die spanningsdalings aan die uiterste presies akkuraat is om die muntbatterye ten volle te benut.
  • · Toe die muntselle op hul hoogtepunt was, was die spanning ongeveer 6,3V, terwyl die 8A 'n effektiewe spanning van 4,6 - 4,7 V (@ 5mA) ontvang. En toe die batterye amper opgedroog het, was die spanning ongeveer 4V met die 8A en die lcd het net genoeg spanning, dws 3.2V om korrek te funksioneer. (@3.5mA)
  • · Onder die 4v -vlak van die batterye, was hulle effektief nutteloos sonder dat daar sap oor was om iets aan te dryf. Die spanningsval oor die weerstand wissel die hele tyd sedert die huidige verbruik van die 8A mikrokontroleerder en die lcd verminder met die vermindering van spanning, wat in wese bydra tot die verlenging van die batterylewe.

Die 16*2 LCD is geprogrammeer met behulp van die ingeboude LiquidCrystal -biblioteek van die Arduino IDE. Dit maak gebruik van 6 datapennetjies van die 8A -mikrobeheerder. Boonop is die helderheid en kontras daarvan beheer met behulp van twee datapennetjies. Dit is gedoen om geen ekstra komponent te gebruik nie, dit wil sê 'n potensiometer. In plaas daarvan is die PWM -funksie van dataspeld D9 gebruik om die kontras van die skerm aan te pas. Die lcd -agtergrond moes ook af wees as dit nie nodig is nie, so dit sou nie moontlik gewees het sonder om 'n data -pen te gebruik nie. 'N Weerstand van 220 ohm is gebruik om die stroom oor die LED van die agtergrond te beperk.

Die gonser en die LED's is ook gekoppel aan die datapennetjies van die 8A (een vir elk). 'N Weerstand van 5,6 k ohm is gebruik om die stroom oor die rooi LED te beperk, terwyl 'n 1k ohm vir die groen een gebruik is. Die weerstandswaardes is gekies deur 'n ligpunt tussen helderheid en huidige verbruik te verkry.

Die AAN/UIT -knoppie is nie aan 'n datapenn gekoppel nie en is bloot 'n skakelaar wat die projek verander. Een van sy terminale maak verbinding met die 330 ohm -weerstand, terwyl die ander aansluit by die Vcc -penne van die lcd en die 8A. Die twee ander knoppies is verbind met datapennetjies wat intern opgetrek word om spanning via sagteware te voorsien. Dit is nodig vir die werking van die skakelaars.

Boonop is die datapennet waarmee die Setup -knoppie gekoppel is, 'n Hardware Interrupt -pen. Die onderbrekingsdiensroetine (ISR) is geaktiveer in die Arduino IDE. Wat dit beteken, is dat wanneer die gebruiker die instellingsmenu wil uitvoer, die 8A die huidige werking daarvan as 'n metronoom ophou, en die ISR bestuur wat die instellingsmenu basies aktiveer. Anders kan die gebruiker nie toegang tot die instellingsmenu kry nie.

Die EEPROM -opsie wat voorheen genoem is, verseker dat die ingevoerde data gestoor word, selfs nadat die bord afgeskakel is. En die SPI -kop bestaan uit 6 penne - Vcc, Gnd, MOSI, MISO, SCK, RST. Dit is deel van die SPI -protokol en soos voorheen genoem, kan 'n ISP -programmeerder gebruik word om die 8A weer te programmeer vir die toevoeging van nuwe funksies of enigiets anders. Die Vcc -pen is geïsoleerd van die battery -positiewe aansluiting en daarom bied die Metronoom die opsie om 'n eksterne kragtoevoer te gebruik, met inagneming van die voorheen genoemde beperkings.

Die hele projek is in 'n Veroboard gebou deur die individuele komponente en die toepaslike verbindings volgens die stroombaan -diagram te soldeer.

Aanbeveel: