Innehållsförteckning:

Mikrostyrenhet baserad metronom: 5 steg
Mikrostyrenhet baserad metronom: 5 steg

Video: Mikrostyrenhet baserad metronom: 5 steg

Video: Mikrostyrenhet baserad metronom: 5 steg
Video: Полуночное шоу - Полное интервью Чумилкай 2024, November
Anonim
Image
Image

En metronom är en timinginstrument som används av musiker för att hålla koll på beats i låtar och för att utveckla en känsla av timing bland nybörjare som lär sig ett nytt instrument. Det hjälper till att upprätthålla en rytmkänsla som är avgörande i musiken.

Denna metronom byggd här kan användas för att ställa in antalet slag per takt och slag per minut. När denna inställningsdata har matats in piper den enligt data tillsammans med lämplig belysning med hjälp av lysdioder. Inställningsdata visas på en LCD -skärm.

Steg 1: Komponenter som krävs:

·

  • Atmega8A mikrokontroller
  • · 16*2 Lcd -skärm
  • · Piezo -summer
  • · Lysdioder (grön, röd)
  • · Motstånd (220e, 330e, 1k, 5.6k)
  • · Tryckknappar (2* låsningsfria, 1* låsning)
  • · 3V CR2032 myntcellsbatteri (*2)
  • Myntbatterihållare (*2)
  • · 6pin Relimate (polariserad) kontakt

Steg 2: Gör kretsen

Gör kretsanslutningarna enligt bilden på ett veroboard och löd anslutningarna ordentligt

Steg 3: Metronomen

Metronomens gränssnitt upptas huvudsakligen av LCD -skärmen. Ovanför den är 8A mikrokontroller placerad centralt med lysdioderna och summern till höger. De tre omkopplarna och Relimate -kontakten är placerade högst upp.

Hela projektet drivs endast av två myntcellsbatterier (i serie @6V 220mAh) med en uppskattad drifttid på 20 dagar till 1 månad (inte kontinuerligt). Därför är den måttligt energieffektiv och har ett aktuellt krav på 3 - 5 mA.

Den självlåsande omkopplaren är placerad längst till vänster och är PÅ/AV -knappen. Knappen i mitten är Setup -knappen och knappen till höger används för att ändra värdena för bpm och slag (per stapel).

När man trycker på ON/OFF -knappen slås LCD -skärmen på och visar värdet på slag per takt. Det väntar i 3 sekunder för användaren att ändra värdet varefter det tar det resulterande värdet som inmatning. Detta värde ligger mellan 1/4, 2/4, 3/4, 4/4.

Sedan visar den slag per minut (bpm) och väntar igen i 3 sekunder för användaren att ändra värdet, varefter det ställer in det specifika värdet. Denna väntetid på 3 sekunder kalibreras efter att användaren ändrat ett värde. Bpm -värdena kan variera från 30 till 240. Genom att trycka på Setup -knappen under bpm -inställningen återställs värdet till 30 bpm, vilket är till hjälp för att minska antalet knappklick. Bpm -värdena är multiplar av 5.

När installationen är klar stängs LCD -bakgrundsbelysningen av för att spara batteri. Summern piper en gång för varje slag och lysdioderna blinkar en i taget växelvis för varje slag. För att ändra värden, tryck på knappen Setup. När du gör det tänds LCD -bakgrundsbelysningen och beat -prompten visas precis som nämnts tidigare med samma procedur efteråt.

Atmega8A -mikrokontrollern består av 500 byte EEPROM, vilket betyder att oavsett värden för slag och slag per minut lagras även efter att metronomen har stängts av. Därför kan du återuppta den med samma data som angavs tidigare genom att slå på den igen.

Relimate -kontakten är faktiskt ett SPI -huvud som kan användas för två ändamål. Den kan användas för att omprogrammera Atmega8A mikrokontroller för att uppdatera sin firmware och lägga till nya funktioner i metronom. För det andra kan en extern strömförsörjning också användas för att driva metronom för hardcore -användare. Men denna strömförsörjning får inte vara större än 5,5 volt och den åsidosätter ON/OFF -omkopplaren. Av säkerhetsskäl MÅSTE denna omkopplare vara avstängd så att den externa strömförsörjningen inte blir kort med de inbyggda batterierna.

Steg 4: Beskrivning

Detta projekt görs med hjälp av Atmel Atmega8A mikrokontroller som är programmerad med Arduino IDE via en Arduino Uno/Mega/Nano som används som ISP -programmerare.

Denna mikrokontroller är en mindre version av Atmel Atmega328p som används flitigt i Arduino Uno. Atmega8A består av 8Kb programmerbart minne med 1Kb RAM. Det är en 8 -bitars mikrokontroller som körs med samma frekvens som 328p dvs 16Mhz.

I detta projekt, eftersom strömförbrukningen är en viktig aspekt, har klockfrekvensen minskat och den interna 1 Mhz -oscillatorn används. Detta minskar kraftigt det nuvarande kravet till cirka 3,5 mA @3.3V och 5mA @4.5V.

Arduino IDE har inte möjlighet att programmera denna mikrokontroller. Därför installerades ett "Minicore" -paket (plugin) för att köra 8A med dess interna oscillator med en Optiboot bootloader. Det märktes att projektets effektbehov ökade med ökande spänning. Därför var mikrokontrollern inställd på att köras på 1 MHz för ett optimalt energianvändning med ett enda 3V myntbatteri som bara tog 3,5 mA. Men det observerades att LCD -skärmen inte fungerade korrekt vid en så låg spänning. Därför tillämpades beslutet att använda två myntbatterier i serie för att sänka spänningen till 6V. Men detta innebar att den nuvarande förbrukningen ökade till 15mA vilket var en enorm nackdel eftersom batterilivslängden skulle bli mycket dålig. Det överskred också den säkra spänningsgränsen på 5,5 V för 8A mikrokontroller.

Därför kopplades ett 330 ohm motstånd i serie med 6V strömförsörjning för att bli av med detta problem. Motståndet orsakar i princip ett spänningsfall över sig själv för att sänka spänningsnivån inom 5,5V för att säkert köra mikrokontrollern. Dessutom valdes värdet 330 med hänsyn till olika faktorer:

  • · Målet var att köra 8A vid så låg spänning som möjligt för att spara ström.
  • · Det observerades att LCD -skärmen slutade fungera under 3,2V även om mikrokontrollern fortfarande fungerade
  • · Detta värde på 330 säkerställer att spänningsfallet vid ytterligheterna är exakt exakt för att utnyttja myntbatterierna fullt ut.
  • · När myntcellerna var på topp var spänningen cirka 6,3 V, där 8A fick en effektiv spänning på 4,6 - 4,7 V (@ 5mA). Och när batterierna nästan torkade ut var spänningen runt 4V med 8A och LCD: n fick precis tillräckligt med spänning, dvs 3.2V för att fungera korrekt. (@3,5mA)
  • · Under batteriernas 4v -nivå var de i själva verket värdelösa utan att någon saft lämnades för att driva något. Spänningsfallet över motståndet varierar hela tiden sedan strömförbrukningen för 8A -mikrokontrollern och LCD -skärmen minskar med reducerande spänning vilket väsentligen hjälper till att öka batteriets livslängd.

16*2 LCD -skärmen programmerades med det inbyggda LiquidCrystal -biblioteket i Arduino IDE. Den använder 6 datapinnar på 8A mikrokontroller. Dessutom styrdes dess ljusstyrka och kontrast med två datastift. Detta gjordes för att inte använda en extra komponent, dvs en potentiometer. I stället användes PWM -funktionen för datastift D9 för att justera skärmens kontrast. Även LCD -bakgrundsbelysningen behövde vara avstängd när det inte behövs, så detta hade inte varit möjligt utan att använda en datapinne för att driva den. Ett 220 ohm motstånd användes för att begränsa strömmen över bakgrundsbelysningens LED.

Summern och lysdioderna var också anslutna till datastiften på 8A (en för varje). Ett 5,6 k ohm motstånd användes för att begränsa strömmen över den röda lysdioden medan en 1 k ohm användes för den gröna. Motståndsvärdena har valts genom att skaffa en sweet spot mellan ljusstyrka och strömförbrukning.

PÅ/AV -knappen är inte ansluten till en datapinne och är helt enkelt en omkopplare som byter projekt. En av dess terminaler ansluter till 330 ohm -motståndet medan den andra ansluter till Vcc -stiften på LCD: n och 8A. De två andra knapparna är anslutna till datapinnar som dras upp internt för att mata spänning via programvara. Detta är nödvändigt för att växlarna ska fungera.

Dessutom är datapinnen, som Setup -knappen ansluter till, en maskinvaruavbrottsstift. Dess avbrottsrutin (ISR) är aktiverad i Arduino IDE. Vad detta betyder är att när användaren vill köra installationsmenyn, avbryter 8A sin nuvarande drift av att fungera som en metronom och kör ISR som i princip aktiverar inställningsmenyn. Annars skulle användaren inte kunna komma åt inställningsmenyn.

EEPROM -alternativet som nämns tidigare säkerställer att de inmatade data förblir lagrade även efter att kortet har stängts av. Och SPI -rubriken består av 6 stift - Vcc, Gnd, MOSI, MISO, SCK, RST. Detta är en del av SPI -protokollet och som nämnts tidigare kan en ISP -programmerare användas för att programmera 8A igen för att lägga till nya funktioner eller något annat. Vcc -stiftet är isolerat från batteriets positiva terminal och därför erbjuder Metronom möjligheten att använda en extern strömförsörjning med tanke på de begränsningar som nämnts tidigare.

Hela projektet konstruerades i en Veroboard genom att lödda de enskilda komponenterna och lämpliga anslutningar enligt kretsschemat.

Rekommenderad: