Taula de continguts:
- Pas 1: descripció funcional
- Pas 2: llista de peces
- Pas 3: Esquema de cablejat
- Pas 4: codi font Arduino
Vídeo: Metrònom Arduino: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Quan s’aprèn un nou instrument musical de petit, hi ha tantes coses noves sobre les quals cal centrar-se. Un d’ells és mantenir el ritme en el ritme adequat. No trobar un metrònom funcionalment complet i convenient significava la millor excusa per començar a construir de nou amb els meus fills. En aquest post d’Instructables trobareu la descripció funcional, la llista de peces amb enllaços i preus de la botiga web, el diagrama de cablejat per al muntatge i el codi font complet d’Arduino.
Pas 1: descripció funcional
Estaria bé tenir un dispositiu metrònom amb les funcions següents per utilitzar-lo còmodament a casa o a l’escola de música.
- Factor de forma compacte per adaptar-se a llocs petits a la part superior o al costat d’instruments musicals,
- Funcionat amb bateria, robust i portàtil per transportar-lo,
- Configuració fàcil fins i tot per a nens, sempre es mostra el valor BPM,
- Bats ajustables per minut amb un botó giratori de fins a 240 BPM
- Tacte audible amb control de volum,
- Mode silenciós per a la pràctica d’auriculars durant la nit,
- Retroalimentació visual de ritmes (1/4, 2/4, 3/3, 4/4, 6/8, etc.) fins a 8 LED,
- Amb accent principal o sense, amb comentaris visuals i sonors.
En activar-se, el mode de metrònom s'iniciarà a 60 BPM a la pantalla petita i permetrà ajustar el ritme mitjançant el botó rotatiu entre 10 i 240. Els Neopíxels mostren el ritme dels LED blaus mentre el zumbador marca. En prémer el botó es canviarà al mode d’ajust del batec i els LED verds indicaran l’estructura del batec configurada. El botó rotatiu incrementarà o disminuirà l'estructura del batec (2/2, 3/3, 4/4, 6/8, etc.). Per sobre de 8 LEDs, que giren més en sentit horari, s'activa l'accent principal i el primer LED ho indicarà en vermell. L’accent principal també tindrà comentaris audibles. Es pot apagar girant en sentit antihorari. En prémer el botó es tornarà del mode d’ajust del batec al mode metrònom.
Pas 2: llista de peces
Necessitareu un cas. Es pot comprar qualsevol forma o mida, però teníem una bonica caixa de metall negre d’un antic interruptor manual VGA que va deixar un amic. La resta de parts es detallen a continuació.
- Bateria de 9 V, 1,50 USD
- Cable del connector de la bateria, 0 USD, 16 USD
- Arduino Nano amb capçaleres de pin, 2,05 USD
- Escut d'extensió Nano IO, USD 1, 05
- Mini interruptor lliscant per alimentar, 0,15 USD
- Zumbador piezoelèctric, 0,86 USD
- Adafruit Neopixel WS2812 de 8 bits, USD 1, 01
- Pantalla OLED de 128 x 64, 1, 53 USD
- Codificador rotatiu, 0 USD, 50 USD
- Cables Dupont F / F, 0 USD, 49 USD
El preu total dels components és inferior a 10 USD, -
Pas 3: Esquema de cablejat
Utilitzeu la placa d’extensió Nano IO per no molestar-vos a soldar diverses connexions GND i VCC. Es necessitarà una soldadura mínima per a les capçaleres de pin Nano i per als connectors del mòdul Neopixel. L'ús de cables Dupont permet connexions estables per a la resta de cablejat, tal com es mostra a l'esquema. La bateria de 9V està connectada a GND i VIN, aquest darrer mitjançant el botó lliscant d’alimentació. El mòdul de codificador rotatiu té un botó d’interruptor integrat, que es mostra per separat al diagrama per facilitar la comprensió de com connectar-los. La part rotativa (CLK i DT) està connectada a PIN2 i PIN3 respectivament, ja que són els únics pins NANO capaços de manejar la interrupció. El GND rotatiu està connectat al PIN GND de Nano, per descomptat. El botó de commutador integrat està connectat al PIN4. El brunzidor piezo està connectat a PIN5 i GND. El mòdul Adafruit Neopixel està connectat a PIN7 i el seu VIN i GND als 5V i GND de Nano respectivament. Una petita pantalla OLED està connectada a la interfície del bus I2C, que és PIN A4 i A5 per a SDA i SDL. VCC i GND van a Nano's 5V i GND, per descomptat. Això conclou el cablejat de Dupont.
Pas 4: codi font Arduino
// Metronome, Accent líder, Tacte visual i audible - 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_WIDTH, SCREEN_HEIGHT & 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 encès al principi, apagat a la resta … int tack = 4; booling LeadTack = fals; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Temporitzador1.inicialitzar (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)) {// Adreça 0x3D per 128x64 per (;;); // No continueu, bucleu per sempre} display.clearDisplay (); display.display (); } bucle buit () {if (digitalRead (pin_switch) == BAIX) {delay (100); while (digitalRead (pin_switch) == BAIX); retard (100); Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack + = 1; if (tack> 8) {if (leadingTack) tack = 8; else {leadingTack = true; taca = 1; }}} else if (curValprevVal) {bpm + = 2; si (ppm> 240) ppm = 240; } else if (curVal = 100) display.print (""); else display.print (""); display.print (ppm); display.display (); } void buzztick () {if (bpmFirst == 0) {int volum = 4; if (leadingTack && pos == 0) volum = 8; per a (int i = 0; i
Recomanat:
Servon metrònom, programable per a diferents velocitats: 3 passos
Servon metrònom, programable per a diferents velocitats: fes el teu propi metrònom. Tot el que necessiteu és el kit d’inici Arduino Mega 2560 i un ordinador compatible
Metrònom de 555 temporitzadors: 3 passos
Metrònom de 555 temporitzadors: un metrònom és un dispositiu que produeix un clic audible o un altre so a un interval regular que l'usuari pot configurar, normalment en pulsacions per minut (BPM). Els músics utilitzen el dispositiu per practicar la reproducció a un ritme regular. (Https://en.wikipedia.org/w
Metrònom basat en microcontrolador: 5 passos
Metrònom basat en microcontroladors: un metrònom és un dispositiu de cronometratge utilitzat pels músics per fer un seguiment dels ritmes de les cançons i desenvolupar un sentit del temps entre els principiants que aprenen un nou instrument. Ajuda a mantenir un sentit del ritme que és crucial en la música. Aquest metrònom es
Metrònom visual per a bateries: 8 passos
Visual Metronome for Drummers: tinc un amic i company de feina que és bateria de rock and roll. El seu cubicle és al costat del meu a la feina, de manera que veu i sent sobre tots els meus projectes electrònics i de programari. Ha passat més d’un any, així que ni tan sols recordo com va passar tot això
CPE 133 Metrònom: 3 passos
CPE 133 Metronome: per al nostre projecte final a Cal Poly, vam crear un dispositiu de manteniment del tempo anomenat metrònom, vam triar aquest projecte per un interès musical i de disseny digital. Vam fer servir laboratoris anteriors al CPE 133 per ajudar a dissenyar el nostre codi i tutorials en línia per ajudar-vos a col·laborar