Sisällysluettelo:
- Vaihe 1: Toiminnallinen kuvaus
- Vaihe 2: Osaluettelo
- Vaihe 3: Kytkentäkaavio
- Vaihe 4: Arduinon lähdekoodi
Video: Arduino Metronome: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Kun opit uutta soitinta lapsena, on niin monia uusia asioita, joihin kannattaa keskittyä. Tahdin pitäminen oikeassa tahdissa on yksi niistä. Toimimattomasti täydellisen ja kätevän metronomin löytäminen ei ollut paras tekosyy aloittaa rakentaminen uudelleen lasteni kanssa. Tästä Instructables -viestistä löydät toiminnallisen kuvauksen, osaluettelon verkkokaupan linkkeillä ja hinnoilla, kytkentäkaavion kokoonpanolle ja täydellisen Arduino -lähdekoodin.
Vaihe 1: Toiminnallinen kuvaus
Olisi mukavaa saada metronomilaite, jolla on seuraavat toiminnot, jotta voit käyttää sitä kotona tai musiikkikoulussa kätevästi.
- Kompakti muoto, joka sopii pieniin paikkoihin soittimien päällä tai vieressä,
- Paristokäyttöinen, kestävä ja kannettava kuljettaa mukana,
- Helppo asentaa jopa lapsille, BPM -arvo näkyy aina
- Säädettävä lyönti minuutissa kiertonupilla, jopa 240 BPM
- Kuuluva kosketus äänenvoimakkuuden säätimellä,
- Hiljainen tila kuulokkeiden yön harjoitteluun,
- Visuaalinen palaute (1/4, 2/4, 3/3, 4/4, 6/8 jne.) Jopa 8 LED -valoa,
- Johtavalla aksentilla tai ilman, visuaalinen ja kuuluva palaute.
Kun metronomitila kytkeytyy päälle, se alkaa nopeudella 60 BPM, joka näkyy pienellä näytöllä ja antaa nopeuden säätää kiertovalitsimella välillä 10 - 240. Neopikselit näyttävät sykkeen sinisinä LED -valoina, kun summeri tikittää. Nupin painaminen vaihtaa sykkeen säätötilaan ja vihreät LEDit osoittavat asetetun lyöntirakenteen. Kiertonuppi lisää tai pienentää lyöntirakennetta (2/2, 3/3, 4/4, 6/8 jne.). Yli kahdeksan LED -valon yläpuolella, jotka pyörivät edelleen myötäpäivään, johtava aksentti syttyy ja ensimmäinen LED osoittaa tämän punaisena. Johtavalla aksentilla on myös kuultavaa palautetta. Se voidaan sammuttaa kiertämällä vastapäivään. Nupin painaminen vaihtaa takaisin sykkeen säätötilasta metronomitilaan.
Vaihe 2: Osaluettelo
Tarvitset kotelon. Mitä tahansa muotoa tai kokoa voi ostaa, mutta meillä oli mukava musta metallikotelo vanhasta manuaalisesta VGA -kytkimestä, joka hävitettiin ystävälle. Loput osat on lueteltu alla.
- 9 V: n akku, 1,50 USD
- Akun liitäntäkaapeli, USD 0, 16
- Arduino Nano nastatulpilla, 2,05 USD
- Nano IO Extension Shield, USD 1, 05
- Mini -liukukytkin virtalähteelle, USD 0,15
- Pietsosummeri, USD 0, 86
- Adafruit Neopixel WS2812 8-bittinen, USD 1, 01
- OLED -näyttö 128x64, USD 1, 53
- Pyörivä anturi, USD 0, 50
- Dupont -kaapelit F/F, USD 0, 49
Osien kokonaishinta on alle 10 USD
Vaihe 3: Kytkentäkaavio
Käytä Nano IO -laajennuslevyä, jotta et vaivaudu juottamaan useita GND- ja VCC -liitäntöjä. Nano -nastaisten otsikoiden ja Neopixel -moduuliliittimien juotos tarvitaan mahdollisimman vähän. Dupont -johtojen käyttäminen mahdollistaa vakaat liitännät muille johtimille kaavion mukaisesti. 9 V: n akku on kytketty GND: hen ja VIN: ään, jälkimmäinen virtakytkimen kautta. Pyörivässä anturimoduulissa on sisäänrakennettu kytkinpainike, joka näkyy kaaviossa erikseen, jotta ne ymmärtäisivät paremmin, miten ne kytketään. Pyörivä osa (CLK ja DT) on kytketty PIN2- ja PIN3 -järjestelmään, koska nämä ovat ainoat NANO -nastat, jotka voivat keskeyttää käsittelyn. Rotary GND on tietysti kytketty Nanon GND -PIN -koodiin. Integroitu kytkinpainike on kytketty PIN4 -koodiin. Pietsosummeri on kytketty PIN5: een ja GND: hen. Adafruit Neopixel -moduuli on kytketty PIN7 -järjestelmään ja sen VIN- ja GND -numero Nanon 5V- ja GND -järjestelmään. Pieni OLED -näyttö on liitetty I2C -väyläliitäntään, joka on PIN A4 ja A5 SDA: lle ja SDL: lle. VCC ja GND menevät tietenkin Nanon 5V: lle ja GND: lle. Tämä päättää Dupont -johdotuksemme.
Vaihe 4: Arduinon lähdekoodi
// Metronomi, johtava aksentti, visuaalinen ja kuuluva tahti - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset pin #(tai -1, jos jaat Arduino reset pin) Adafruit_SSD1306 -näyttö (SCREEN_WIDTH, & 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 bpmEnsimmäinen = 0; // LED palaa aluksi, pois päältä… int tack = 4; bool leadTack = epätosi; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Ajastin 1. alku (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)) {// Osoite 0x3D for 128x64 for (;;); // Älä jatka, silmukka ikuisesti} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {delay (100); while (digitalRead (pin_switch) == LOW); viive (100); Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; jos (tack> 8) {if (leaderTack) tack = 8; else {leadTack = true; tack = 1; }}} muu jos (curValprevVal) {bpm+= 2; jos (bpm> 240) bpm = 240; } else if (curVal = 100) display.print (""); else display.print (""); näyttö. tulostus (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int volume = 4; if (leadTack && pos == 0) äänenvoimakkuus = 8; varten (int i = 0; i
Suositeltava:
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Halvin Arduino -- Pienin Arduino -- Arduino Pro Mini -- Ohjelmointi -- Arduino Neno: 6 vaihetta (kuvilla)
Halvin Arduino || Pienin Arduino || Arduino Pro Mini || Ohjelmointi || Arduino Neno: …………………………. Tilaa YouTube -kanavani saadaksesi lisää videoita ……. Tässä projektissa keskitytään kaikkien aikojen pienimpään ja halvinan arduinoon. Pienin ja halvin arduino on arduino pro mini. Se muistuttaa arduinoa
Tee Chi -käynnissä oleva "Metronome" MP3 -raita: 6 vaihetta (kuvilla)
Tee Chi Running "Metronome" MP3 -raita: Juuri ennen kuin aloitin juoksemisen Vibram Five Fingersilla viime vuonna, luin myös Danny Dreyerin kehittämän Chi Running -menetelmän, jotta voisin säätää juoksutyyliäni. Huomasin nopeasti, että yksi lisävaruste, metronomi, olisi hyödyllinen, mutta