![Arduino Metronom: 4 steg Arduino Metronom: 4 steg](https://i.howwhatproduce.com/images/011/image-30806-j.webp)
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
![Image Image](https://i.howwhatproduce.com/images/011/image-30806-2-j.webp)
![](https://i.ytimg.com/vi/lj-VNMmd9zY/hqdefault.jpg)
När man lär sig ett nytt musikinstrument som barn finns det så många nya saker att hålla fokus på. Att hålla tempot i rätt tempo är en av dem. Att inte hitta en funktionellt komplett och bekväm metronom innebar den bästa ursäkten att börja bygga igen med mina barn. I detta Instructables -inlägg hittar du funktionsbeskrivningen, listan med webbshoppslänkar och priser, kopplingsschema för montering och komplett Arduino -källkod.
Steg 1: Funktionsbeskrivning
![Reservdelar Reservdelar](https://i.howwhatproduce.com/images/011/image-30806-3-j.webp)
Det skulle vara trevligt att ha en metronom med följande funktioner för att använda den hemma eller på musikskolan bekvämt.
- Kompakt formfaktor för att passa små platser ovanpå eller bredvid musikinstrument,
- Batteridriven, robust och bärbar att bära med sig,
- Enkelt att konfigurera även för barn, BPM -värde visas alltid,
- Justerbara slag per minut med en vridknapp, upp till 240 BPM
- Hörbar takt med volymkontroll,
- Tyst läge för övning med hörlurar över natten,
- Visuell återkoppling av slag (1/4, 2/4, 3/3, 4/4, 6/8, etc.) upp till 8 lysdioder,
- Med eller utan ledande accent, med visuell och hörbar feedback.
Om man slår på, börjar metronomläget vid 60 BPM som visas på den lilla displayen och låter tempot justeras med vridknappen mellan 10 och 240. Neopixlar visar takten i blå lysdioder medan summern tickar. Genom att trycka på vredet växlas till taktjusteringsläge och gröna lysdioder indikerar den inställda taktstrukturen. Vridratten ökar eller minskar slagstrukturen (2/2, 3/3, 4/4, 6/8, etc.). Över 8 lysdioder, ytterligare roterande medurs, kommer den främre accenten att tändas, och den första lysdioden indikerar detta med rött. Ledande accent kommer också att ha hörbar feedback. Den kan stängas av genom att vrida moturs. Genom att trycka på knappen växlar du tillbaka från taktjusteringsläge till metronomläge.
Steg 2: Dellista
Du behöver ett fall. Vilken form eller storlek som helst kan köpas, men vi hade ett snyggt svart metallhölje med en gammal manuell VGA -omkopplare som hanterade en vän. Resten av delarna listas nedan.
- 9V batteri, 1,50 USD
- Batterikontaktkabel, 0 USD, 16
- Arduino Nano med stifthuvuden, 2,05 USD
- Nano IO Extension Shield, USD 1, 05
- Mini -skjutbrytare för ström, 0,15 USD
- Piezo -summer, 0 USD, 86
- Adafruit Neopixel WS2812 8-bitars, USD 1, 01
- OLED -skärm 128x64, USD 1, 53
- Roterande pulsgivare, USD 0, 50
- Dupont -kablar F/F, USD 0, 49
Komponenternas totala pris är mindre än USD 10, -
Steg 3: Anslutningsdiagram
![Kopplingsschema Kopplingsschema](https://i.howwhatproduce.com/images/011/image-30806-4-j.webp)
Använd Nano IO -förlängningskortet för att inte krångla till att löda flera GND- och VCC -anslutningar. Minimal lödning kommer att behövas för Nano -stifthuvuden och för Neopixel -modulkontakterna. Användning av Dupont -ledningar möjliggör stabila anslutningar för resten av ledningarna enligt diagrammet. 9V -batteriet är anslutet till GND och VIN, det senare via strömbrytaren. Den roterande givarmodulen har en integrerad omkopplare, som visas separat i diagrammet för att lättare förstå hur man ansluter dem. Roterande del (CLK och DT) är ansluten till PIN2 respektive PIN3, eftersom dessa är de enda NANO -stiften som kan avbryta hanteringen. Rotary GND är naturligtvis ansluten till Nanos GND -PIN. Den integrerade omkopplarknappen är ansluten till PIN4. Piezo -summer är ansluten till PIN5 och GND. Adafruit Neopixel -modul är ansluten till PIN7 och dess VIN och GND till Nanos 5V respektive GND. Liten OLED -display är ansluten till I2C -bussgränssnittet, som är PIN A4 och A5 för SDA och SDL. VCC och GND går naturligtvis till Nanos 5V och GND. Det avslutar vår Dupont -ledning.
Steg 4: Arduino -källkod
![Arduino källkod Arduino källkod](https://i.howwhatproduce.com/images/011/image-30806-5-j.webp)
// Metronom, ledande accent, visuell och 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, SCREEN_ & 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, släckt i resten … int tack = 4; bool leadingTack = false; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Timer1.initialisera (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)) {// Adress 0x3D för 128x64 för (;;); // Fortsätt inte, loop för alltid} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {delay (100); medan (digitalRead (pin_switch) == LOW); fördröjning (100); Timer1.detachInterrupt (); showGreenTacks (); medan (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; if (tack> 8) {if (leadingTack) tack = 8; annars {leadingTack = true; tack = 1; }}} annars if (curValprevVal) {bpm+= 2; om (bpm> 240) bpm = 240; } annars if (curVal = 100) display.print (""); annars display.print (""); display.print (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int volume = 4; if (leadingTack && pos == 0) volume = 8; för (int i = 0; i
Rekommenderad:
555-timers metronom: 3 steg
![555-timers metronom: 3 steg 555-timers metronom: 3 steg](https://i.howwhatproduce.com/images/007/image-18468-j.webp)
555-timers metronom: En metronom är en enhet som ger ett hörbart klick eller annat ljud med ett regelbundet intervall som kan ställas in av användaren, vanligtvis i slag per minut (BPM). Musiker använder enheten för att träna på att spela med en vanlig puls. (Https://en.wikipedia.org/w
Mikrostyrenhet baserad metronom: 5 steg
![Mikrostyrenhet baserad metronom: 5 steg Mikrostyrenhet baserad metronom: 5 steg](https://i.howwhatproduce.com/images/009/image-24823-j.webp)
Mikrostyrenhet baserad metronom: En metronom är en tidsinställningsenhet 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 för musik. Denna metronom bygger
Visuell metronom för trummisar: 8 steg
![Visuell metronom för trummisar: 8 steg Visuell metronom för trummisar: 8 steg](https://i.howwhatproduce.com/images/003/image-6495-j.webp)
Visual Metronome for Drummers: Jag har en vän och kollega som är en rock and roll -trummis. Hans bås ligger bredvid min på jobbet och så ser och hör han om alla mina elektronik- och mjukvaruprojekt. Det har gått mer än ett år så jag kan inte ens komma ihåg hur allt detta hände
CPE 133 metronom: 3 steg
![CPE 133 metronom: 3 steg CPE 133 metronom: 3 steg](https://i.howwhatproduce.com/images/001/image-105-49-j.webp)
CPE 133 Metronom: För vårt slutprojekt på Cal Poly skapade vi en tempobehållare som kallas en metronom, vi valde detta projekt på grund av intresse för musik och digital design. Vi använde tidigare laboratorier i CPE 133 för att hjälpa till att utforma vår kod och onlinehandledning för att hjälpa till med
Tänd trummor med metronom: 4 steg
![Tänd trummor med metronom: 4 steg Tänd trummor med metronom: 4 steg](https://i.howwhatproduce.com/images/001/image-2294-39-j.webp)
Tänd trummor med metronom: Detta projekt använder en trumma från ett tv -spel. Circuit Playground Express är programmerad att fungera som en metronom och LED -remsorna reagerar på ljudet av trummorna som träffas