Innholdsfortegnelse:
- Trinn 1: Funksjonell beskrivelse
- Trinn 2: Deleliste
- Trinn 3: Koblingsskjema
- Trinn 4: Arduino kildekode
Video: Arduino metronom: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Når du lærer et nytt musikkinstrument som barn, er det så mange nye ting å holde fokus på. Å holde tempoet i riktig tempo er en av dem. Å ikke finne en funksjonelt komplett og praktisk metronom betydde den beste unnskyldningen for å begynne å bygge igjen med barna mine. I dette Instructables -innlegget finner du den funksjonelle beskrivelsen, delelisten med webshop -lenker og priser, koblingsskjema for montering og komplett Arduino -kildekode.
Trinn 1: Funksjonell beskrivelse
Det ville være fint å ha en metronom -enhet med følgende funksjoner for å bruke den hjemme eller på musikkskolen.
- Kompakt formfaktor for å passe små steder på toppen eller ved siden av musikkinstrumenter,
- Batteridrevet, robust og bærbar å bære rundt,
- Enkelt konfigurert selv for barn, BPM -verdi vises alltid,
- Justerbare slag per minutt med en dreieknapp, opptil 240 BPM
- Hørbar takt med volumkontroll,
- Stille modus for øvelse med hodetelefoner over natten,
- Visuell tilbakemelding på slag (1/4, 2/4, 3/3, 4/4, 6/8, etc.) opptil 8 lysdioder,
- Med eller uten ledende aksent, med visuell og hørbar tilbakemelding.
Slå på, vil metronom -modus starte med 60 BPM som vises på den lille skjermen og la tempoet justeres med dreieknappen mellom 10 og 240. Neopixels viser takten i blå LED mens summeren tikker. Ved å trykke på knappen vil du bytte til taktjusteringsmodus og grønne lysdioder indikerer den angitte taktstrukturen. Dreieknappen vil øke eller redusere taktstrukturen (2/2, 3/3, 4/4, 6/8, etc.). Over 8 lysdioder, ytterligere rotasjon med klokken, vil ledende aksent slås på, og den første lysdioden indikerer dette med rødt. Ledende aksent vil også ha hørbar tilbakemelding. Den kan slås av ved å rotere mot klokken. Trykk på knappen for å bytte tilbake fra taktjusteringsmodus til metronom -modus.
Trinn 2: Deleliste
Du trenger en sak. Enhver form eller størrelse kan kjøpes, men vi hadde en fin svart metallkasse med en gammel manuell VGA -bryter som ble avhendt av en venn. Resten av delene er listet opp nedenfor.
- 9V batteri, 1,50 dollar
- Batterikontaktkabel, USD 0, 16
- Arduino Nano med pinnehoder, USD 2,05
- Nano IO Extension Shield, USD 1, 05
- Mini skyvebryter for strøm, 0,15 USD
- Piezo -summer, 0 USD, 86
- Adafruit Neopixel WS2812 8-bit, USD 1, 01
- OLED -skjerm 128x64, USD 1, 53
- Rotary encoder, USD 0, 50
- Dupont -kabler F/F, USD 0, 49
Totalpris på komponentene er mindre enn USD 10, -
Trinn 3: Koblingsskjema
Bruk Nano IO Extension Board for ikke å bry deg med lodding av flere GND- og VCC -tilkoblinger. Minimal lodding vil være nødvendig for Nano -pinnehodene og for Neopixel -modulkontaktene. Ved bruk av Dupont -ledninger tillates stabile tilkoblinger for resten av ledningene som vist på diagrammet. 9V -batteriet er koblet til GND og VIN, sistnevnte via strømbryteren. Den roterende kodermodulen har en integrert bryterknapp, som er vist separat i diagrammet for lettere forståelse av hvordan du kobler dem til. Roterende del (CLK og DT) er koblet til henholdsvis PIN2 og PIN3, fordi disse er de eneste NANO -pinnene som kan avbryte håndteringen. Rotary GND er selvfølgelig koblet til Nanos GND -PIN. Den integrerte bryterknappen er koblet til PIN4. Piezo -summer er koblet til PIN5 og GND. Adafruit Neopixel -modulen er koblet til PIN7 og VIN og GND til henholdsvis Nanos 5V og GND. Liten OLED -skjerm er koblet til I2C -bussgrensesnittet, som er PIN A4 og A5 for SDA og SDL. VCC og GND går selvfølgelig til Nanos 5V og GND. Det avsluttes våre Dupont -ledninger.
Trinn 4: Arduino kildekode
// Metronom, ledende aksent, visuell og hørbar takt - Peter Csurgay 2019
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset pin #(or -1 if sharing Arduino reset pin) Adafruit_SSD1306 display (SCREEN_WIDH, SCRE_ & Wire, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, pin_neopixel, NEO_GRB + NEO_KHZ800); #define IDLE_11 0 #define SCLK_01 1 #define SCLK_00 2 #define SCLK_10 3 #define SDT_10 4 #define SDT_00 5 #define SDT_01 6 int state = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #define pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // LED på først, av i resten … int tack = 4; bool leadingTack = false; int pos = 0; int curVal = 0; int prevVal = 0; ugyldig oppsett () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Timer1.initialize (1000000*60/bpm/2); Timer1.attachInterrupt (buzztick); pinMode (CLK, INPUT_PULLUP); pinMode (DT, INPUT_PULLUP); pinMode (pin_switch, INPUT_PULLUP); attachInterrupt (digitalPinToInterrupt (CLK), rotaryCLK, CHANGE); attachInterrupt (digitalPinToInterrupt (DT), rotaryDT, CHANGE); if (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// Adresse 0x3D for 128x64 for (;;); // Ikke fortsett, loop for alltid} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {delay (100); mens (digitalRead (pin_switch) == LOW); forsinkelse (100); Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; if (tack> 8) {if (leadingTack) tack = 8; annet {leadingTack = true; tack = 1; }}} annet hvis (curValprevVal) {bpm+= 2; hvis (bpm> 240) bpm = 240; } annet hvis (curVal = 100) display.print (""); annet display.print (""); display.print (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int volume = 4; if (leadingTack && pos == 0) volume = 8; for (int i = 0; i
Anbefalt:
555-timers metronom: 3 trinn
555-timers metronom: En metronom er en enhet som produserer et hørbart klikk eller annen lyd med jevne mellomrom som kan angis av brukeren, vanligvis i slag per minutt (BPM). Musikere bruker enheten til å øve på å spille til en vanlig puls. (Https://en.wikipedia.org/w
Mikrokontroller basert metronom: 5 trinn
Mikrokontroller basert metronom: En metronom er en tidsenhet som brukes av musikere for å holde oversikt over takter i sanger og for å utvikle en følelse av timing blant nybegynnere som lærer et nytt instrument. Det hjelper til med å opprettholde en rytmefølelse som er avgjørende i musikk. Denne metronom
Visuell metronom for trommeslagere: 8 trinn
Visual Metronome for Drummers: Jeg har en venn og kollega som er en rock and roll trommeslager. Kabinen hans ligger ved siden av min på jobben, og så ser og hører han om alle mine elektronikk- og programvareprosjekter. Det har gått mer enn et år, så jeg kan ikke engang huske hvordan alt dette skjedde
CPE 133 metronom: 3 trinn
CPE 133 Metronom: For vårt siste prosjekt på Cal Poly opprettet vi en tempobærende enhet som kalles en metronom, vi valgte dette prosjektet på grunn av interesse for musikk og digital design. Vi brukte tidligere laboratorier i CPE 133 for å hjelpe til med å designe koden vår og online opplæringsprogrammer for å hjelpe
Lys opp trommer med metronom: 4 trinn
Lys opp trommer med metronom: Dette prosjektet bruker en tromme fra et videospill. Circuit Playground Express er programmert til å fungere som en metronom, og LED -stripene reagerer på lyden av trommene som blir truffet