Inhaltsverzeichnis:
- Schritt 1: Funktionsbeschreibung
- Schritt 2: Teileliste
- Schritt 3: Schaltplan
- Schritt 4: Arduino-Quellcode
Video: Arduino Metronom - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Wenn man als Kind ein neues Musikinstrument lernt, gibt es so viele neue Dinge, auf die man sich konzentrieren sollte. Das Tempo im richtigen Tempo zu halten ist eine davon. Kein funktional vollständiges und praktisches Metronom zu finden, war die beste Ausrede, um mit meinen Kindern wieder zu bauen. In diesem Instructables-Beitrag finden Sie die Funktionsbeschreibung, die Teileliste mit Webshop-Links und Preisen, den Schaltplan für die Montage und den vollständigen Arduino-Quellcode.
Schritt 1: Funktionsbeschreibung
Es wäre schön, ein Metronomgerät mit den folgenden Funktionen zu haben, um es bequem zu Hause oder in der Musikschule verwenden zu können.
- Kompakter Formfaktor für kleine Plätze auf oder neben Musikinstrumenten,
- Batteriebetrieben, robust und tragbar zum Mitnehmen,
- Einfache Einrichtung auch für Kinder, BPM-Wert wird immer angezeigt,
- Einstellbare Beats pro Minute mit einem Drehknopf, bis zu 240 BPM
- Hörbarer Takt mit Lautstärkeregler,
- Silent-Modus für Kopfhörer-Übungen über Nacht,
- Visuelles Feedback von Beats (1/4, 2/4, 3/3, 4/4, 6/8, etc.) bis zu 8 LEDs,
- Mit oder ohne führendem Akzent, mit optischem und akustischem Feedback.
Beim Einschalten startet der Metronom-Modus bei 60 BPM, die auf dem kleinen Display angezeigt wird und das Tempo mit dem Drehknopf zwischen 10 und 240 eingestellt werden kann. Neopixel zeigen den Beat in blauen LEDs an, während der Summer tickt. Durch Drücken des Knopfes wird in den Beat-Einstellmodus gewechselt und grüne LEDs zeigen die eingestellte Beat-Struktur an. Der Drehknopf erhöht oder verringert die Beat-Struktur (2/2, 3/3, 4/4, 6/8 usw.). Über 8 LEDs, die sich weiter im Uhrzeigersinn drehen, wird der führende Akzent eingeschaltet, und die erste LED zeigt dies in Rot an. Der führende Akzent hat auch ein hörbares Feedback. Sie kann durch Drehen gegen den Uhrzeigersinn ausgeschaltet werden. Durch Drücken des Knopfes wird vom Beat-Einstellmodus in den Metronom-Modus zurückgeschaltet.
Schritt 2: Teileliste
Sie brauchen einen Koffer. Jede Form und Größe kann gekauft werden, aber wir hatten ein schönes schwarzes Metallgehäuse eines alten manuellen VGA-Schalters, der von einem Freund entsorgt wurde. Die restlichen Teile sind unten aufgeführt.
- 9V Batterie, USD 1,50
- Batterieanschlusskabel, USD 0, 16
- Arduino Nano mit Stiftleisten, USD 2,05
- Nano IO-Erweiterungsschild, USD 1, 05
- Mini-Schiebeschalter für Strom, USD 0,15
- Piezo-Summer, USD 0, 86
- Adafruit Neopixel WS2812 8-Bit, USD 1, 01
- OLED-Display 128x64, USD 1, 53
- Drehgeber, USD 0, 50
- Dupont-Kabel F/F, USD 0, 49
Der Gesamtpreis der Komponenten beträgt weniger als USD 10,-
Schritt 3: Schaltplan
Verwenden Sie das Nano IO Extension Board, um sich nicht mit dem Löten mehrerer GND- und VCC-Anschlüsse zu beschäftigen. Für die Nano-Stiftleisten und für die Neopixel-Modulanschlüsse sind nur minimale Lötarbeiten erforderlich. Die Verwendung von Dupont-Kabeln ermöglicht stabile Verbindungen für den Rest der Verkabelung, wie im Diagramm gezeigt. Die 9V-Batterie wird an GND und VIN angeschlossen, letztere über den Power-Schiebeschalter. Das Drehgebermodul verfügt über einen integrierten Schalttaster, der zum besseren Verständnis des Anschlusses separat in der Abbildung dargestellt ist. Der Drehteil (CLK und DT) ist mit PIN2 bzw. PIN3 verbunden, da dies die einzigen NANO-Pins sind, die Interrupt-Handhabung ermöglichen. Rotary GND ist natürlich mit Nanos GND PIN verbunden. Der integrierte Schalttaster ist mit PIN4 verbunden. Piezo-Summer ist mit PIN5 und GND verbunden. Das Adafruit Neopixel-Modul ist an PIN7 und seine VIN und GND an Nanos 5V bzw. GND angeschlossen. Das kleine OLED-Display wird an die I2C-Bus-Schnittstelle angeschlossen, die PIN A4 und A5 für SDA und SDL ist. VCC und GND gehen natürlich zu Nanos 5V und GND. Damit ist unsere Dupont-Verkabelung abgeschlossen.
Schritt 4: Arduino-Quellcode
// Metronom, führender Akzent, visueller und hörbarer Takt - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset Pin # (oder -1 wenn Arduino Reset Pin geteilt) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Draht, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define HELLIGKEIT 32 Adafruit_NeoPixel Pixel = 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 zuerst an, ansonsten aus… int tack = 4; bool führenderTack = false; intpos = 0; int curVal = 0; int prevVal = 0; Void setup () {pixel.begin (); pinMode (pin_buzzer, AUSGANG); 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 für 128x64 for(;;); // Nicht fortfahren, Endlosschleife } display.clearDisplay(); display.display(); aufrechtzuerhalten. Void Schleife () { if (digitalRead (pin_switch) = = LOW) { Verzögerung (100); while(digitalRead(pin_switch)==LOW); Verzögerung (100); Timer1.detachInterrupt(); showGreenTacks(); while(digitalRead(pin_switch)==HIGH) { if (curVal>prevVal) {tack+=1; if (tack>8) { if (leadingTack) tack = 8; else { führenderTack = wahr; Klebrigkeit = 1; } } } sonst if (curValprevVal) { bpm + = 2; wenn (bpm > 240) bpm = 240; } else if (curVal=100) display.print(" "); sonst display.print(" "); display.print (bpm); display.display(); aufrechtzuerhalten. Void Buzztick () { if (bpmFirst = = 0) { Int Volume = 4; if (leadingTack && pos==0) volume = 8; für (int i=0; i
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
Ein elektronisches Metronom herstellen – wikiHow
Wie man ein elektronisches Metronom macht: In diesem Instructables bauen wir ein elektronisches Metronom mit einfachen elektronischen Komponenten, die in jedem elektronischen Geschäft und Werkzeugen zu finden sind, die Sie wahrscheinlich bereits haben. Bevor wir anfangen, einen zu erstellen, beantworten wir einige grundlegende Fragen wie: 1. Was ist ein M