Inhaltsverzeichnis:
Video: Arduino Puzzle-Box - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Für dieses Projekt werden wir eine Puzzlebox herstellen, die mit Musik funktioniert. Das Wesentliche daran ist, dass beim Drücken einer Taste eine Melodie freigesetzt wird und der Arduino berechnet, welche Tasten gedrückt werden, damit er weiß, was die richtige und was die falsche Antwort ist.
Lieferungen
1 x Arduino uno
1 x 1k Ohm Widerstand
5 x 220 Ohm Widerstände
1 xPiezo-Summer
5 x Taster 6x6 mm
1 x Set Jumperdrähte
1 x Perforations-/Streifenbrett
1 x Lötset
1 x Scharnier
1 x Klemme
1 x kleine Kommode/Holz
1x Heißklebepistole + Klebestifte
1 x 9V Batterie + Halter
bisschen worbla
Farbe
Schritt 1:
Zu Beginn müssen Sie Ihre Stifte in Ihr Steckbrett drücken. Verbinden Sie nun analog 2 mit einem Draht mit der Ecke der Platine. Wir werden zwei Widerstände in einer Linie daran anschließen. Der erste ist ein 10k Ohm Widerstand. Am anderen Ende dieses Widerstands verbinden wir den Draht mit der analogen Masse. Der zweite Widerstand ist ein 220 Ohm Widerstand, den wir an den ersten Knopf anschließen. Verwenden Sie einen weiteren Widerstand gleichen Werts, um die zweite offene Seite des Tasters mit dem zweiten Taster zu verbinden. Verbinden Sie die Tasten auf diese Weise bis zum letzten. Beim letzten greifen Sie einen Draht und verbinden ihn mit einer entsprechenden geschlossenen Seite des Knopfes und verbinden ihn mit dem nächsten in der Reihe. Sie wiederholen nun den Vorgang, den Sie mit den Widerständen durchgeführt haben, die nur mit einfachen Drähten bekannt sind. Verbinden Sie die erste Taste mit dem analogen 3, 3V-Anschluss Ihres Arduino. Alles in allem erhalten Sie eine Art Kreuzmuster wie unten abgebildet.
Schritt 2:
Als nächstes stecken Sie den Summer in das Steckbrett und befestigen Sie eine Seite an der digitalen Masse und die andere am 12-Port. Es ist klug, den folgenden Code bereits in Ihr Arduino hochzuladen, damit Sie testen können, ob alles richtig funktioniert. Wenn dies der Fall ist, können Sie mit dem Zusammenlöten der Komponenten beginnen. Tun Sie dies, indem Sie sie aus dem Steckbrett nehmen und die Drähte und Verbindungen direkt zusammenlöten. Wenn Sie der Meinung sind, dass Sie zwischen den Tasten mehr Länge benötigen, können Sie zwischen den Widerständen etwas zusätzlichen Draht hinzufügen. Das Steckbrett ist an dieser Stelle nicht mehr erforderlich.
Schritt 3:
Nachdem alles gelötet ist, ist es Zeit, die Box selbst zu machen. Ich habe ein billiges Schubladenset als Basis für meine verwendet. Ich habe einfach der Länge nach halbiert und die Rückseite und die Seite entfernt, die ich durchschneide. Sie sollten jetzt zwei C-förmige Stücke haben. Schneiden Sie eine Seite von einem von ihnen ab, um sie als Deckel zu verwenden. Drehen Sie nun eines der restlichen Teile so, dass sie wie eine deckellose Schachtel zusammenpassen und kleben Sie sie zusammen. Sobald der Kleber richtig ausgehärtet ist, bohren Sie ein kleines Loch in jede Seite der Schachtel für die Knöpfe und ein größeres Loch für den Summer im Deckel.
Schritt 4:
Jetzt können Sie die Box bemalen. Ich habe meins mit einem Blumendesign basierend auf BOTW gemacht, aber Sie können wirklich jedes gewünschte Design auswählen. Danach können Sie die Knöpfe in die Löcher stecken und einen Klecks Kleber auf die Rückseite des Knopfes und das umgebende Holz auftragen. Das gleiche Prinzip gilt für den Summer, aber meiner passt perfekt in das Loch, was ihn überflüssig macht. Als nächstes nimmst du etwas Worbla und Hitze und schneidest es, um einige kleine Knöpfe zu machen. Kleben Sie sie vorsichtig auf die Knöpfe, aber achten Sie darauf, nicht zu viel Kleber zu verwenden, da Sie die Knöpfe versehentlich verkleben könnten. Jetzt können Sie sie übermalen, damit sie sich besser in die Schachtel einfügen.
Schritt 5:
Zuletzt kleben oder schrauben Sie die Klemme und die Scharniere an Box und Deckel, die beide verbinden.
Schritt 6:
Nun, da Ihre Box komplett ist, müssen Sie nur noch den Arduino und die Batterie hineinlegen und den Deckel schließen.
Schritt 7: Code
// Dies ist der Code für ein Zelda-Themen-Puzzle/eine Spieluhr.
// dies verbindet Ihren Code mit der Liste der Notizen in der anderen Registerkarte
#include "Stellplätze.h"
// Diese Variable stellt sicher, dass das Arduino ein längeres Drücken der Taste als nur ein Drücken sieht
int gleich = 0;
// von hier aus wird es deine Eingabe lesen
intk = 2;
// Dies ist Ihr Ausgangspin
int-Lautsprecher = 12;
// unten sind die Schlussmelodien
int Zelda = {ANMERKUNG_B4, ANMERKUNG_D5, ANMERKUNG_A4, ANMERKUNG_G4, ANMERKUNG_A4, ANMERKUNG_B4, ANMERKUNG_D5, ANMERKUNG_A4, ANMERKUNG_G4, ANMERKUNG_A4, ANMERKUNG_B4, ANMERKUNG_D5, ANMERKUNG_A5, ANMERKUNG_G5, ANMERKUNG_D5, ANMERKUNG_C5, ANMERKUNG_B4, ANMERKUNG_
int ZeldaTime = {2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 4, 4, 2};
int Epona = {HINWEIS_D5, ANMERKUNG_B4, ANMERKUNG_A4, ANMERKUNG_D5, ANMERKUNG_B4, ANMERKUNG_A4, ANMERKUNG_D5, ANMERKUNG_B4, ANMERKUNG_A4, ANMERKUNG_B4, ANMERKUNG_A4};
int EponaTime = {4, 4, 1.5, 4, 4, 1.5, 4, 4, 2, 2, 1};
int Saria = {HINWEIS_F4, ANMERKUNG_A4, ANMERKUNG_B4, ANMERKUNG_F4, ANMERKUNG_A4, ANMERKUNG_B4, ANMERKUNG_F4, ANMERKUNG_A4, ANMERKUNG_B4, ANMERKUNG_E5, ANMERKUNG_D5, ANMERKUNG_B4, ANMERKUNG_C5, ANMERKUNG_B4, ANMERKUNG_G4, ANMERKUNG_E4, ANMERKUNG_D4, ANMERKUNG_E;
int SariaTime = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// die normale Dauer einer Note
int BEATTIME = 300;
// der Zähler, der verfolgt, wo wir in der Lösung sind
int zähler = 0;
Leere Einrichtung () {
Serial.begin (9600);
pinMode (2, EINGANG);
pinMode (1, EINGANG);
}
Leere Schleife () {
// liest die Eingabe von den Pins
k = analogRead(2);
int p = analogRead(1);
// Wenn keine Taste gedrückt wird, sollte kein Ton ausgegeben werden
wenn (Erzähler == 0) {
kein Ton (12);
}
// Wenn die gelesenen Daten mit den Parametern übereinstimmen, führen Sie das beschriebene Code-Bit aus
if (k > 320 && k < 350) {
rechts();
}
//""
sonst wenn (k 290) {
Links();
}
//""
sonst if (k > 260 && k < 280) {
boven();
}
//""
sonst if (k> 240 && k < 260) {
unter();
}
//""
sonst if (k > 220 && k < 240) {
ein();
}
// Wenn dies nicht der Fall ist (wenn keine Taste gedrückt wird), führen Sie diesen Code aus
anders {
// dasselbe zurücksetzen, damit es beim nächsten Drücken einer Taste verwendet werden kann
gleich = 0;
// Wenn der Zähler bis zu einer bestimmten Zahl reicht, führen Sie das beschriebene Code-Bit aus
wenn (Anzähler == 166) {
zelda();
}
//""
sonst if (teller == 386) {
Saria ();
}
//""
sonst if (teller == 266) {
epona();
}
//""
sonst if (teller == 999) {
// diesen Ton abspielen, um den Fehler zu markieren
Ton (Lautsprecher, NOTE_C3, BEATTIME);
// den Zähler auf 0 zurücksetzen
Kassierer = 0;
}
}
// die Verzögerung zwischen Eingang und Ausgang
Verzögerung (100);
// druckt die Werte Ihrer Eingabe im seriellen Monitor
Serial.println(k);
}
// das ist die erste melodie
Leere zelda () {
// dies setzt einen Zähler, der sich während des Abspielens der Melodie aktualisiert, damit er sie lesen und stoppen kann, wenn er sollte
for (int i = 0; i < sizeof(Zelda); i++) {
// sagt, wie lange eine Notiz dauern soll
int ZTime = 1000 / ZeldaTime;
// erzeugt die Töne
Ton (Sprecher, Zelda, ZTime);
// erzeugt die richtige Verzögerung
int Pause = ZTime * 1,30;
Verzögerung (Pause);
// setzt den Zähler zurück
Kassierer = 0;
// druckt die Werte Ihrer Eingabe im seriellen Monitor
Serial.println (Zähler);
}
}
//""
Leere epona () {
für (int i = 0; i < sizeof(Epona); i++) {
int ETime = 1000 / EponaTime;
Ton (Sprecher, Epona, ETime);
int Pause = ETime * 1,30;
Verzögerung (Pause);
Kassierer = 0;
Serial.println (Zähler);
}
}
//""
leere Saria () {
für (int i = 0; i < sizeof(Saria); i++) {
int STime = 1000 / SariaTime;
Ton (Sprecher, Saria, STime);
int pause = STime * 1,30;
Verzögerung (Pause);
Kassierer = 0;
Serial.println (Zähler);
}
}
ungültige Aufnahme
hts() {
// falls dies nicht schon gedrückt wurde
wenn (gleich == 0) {
// Wenn der Zähler derzeit einen dieser Werte hat, füge ihn hinzu
if (Zahler == 0 || Kassierer == 132 || Kassierer == 165 || Kassierer == 232 || Kassierer == 265 || Kassierer == 331 || Kassierer == 374) {
Kassierer = Kassierer + 1;
}
// andernfalls auf 999 setzen, damit Sie das Fehlerrauschen hören
anders {
Kassierer = 999;
}
// auf eins setzen, damit das Arduino ein längeres Drücken nicht als mehrfaches Drücken liest
gleich = 1;
}
// den Ton spielen
anders {
Ton (Lautsprecher, NOTE_A4, BEATTIME);
}
// druckt die Werte Ihrer Eingabe im seriellen Monitor
Serial.println (Zähler); }
//""
Leere Links () {
wenn (gleich == 0) {
if (Zahler == 133 || Kassierer == 254 || Kassierer == 244 || Kassierer == 332 || Kassierer == 375 || Kassierer == 221) {
Kassierer = Kassierer + 11;
}
sonst if (Erzähler == 0) {
Kassierer = 111;
}
anders {
Kassierer = 999;
}
gleich = 1;
} anders{
Ton (Lautsprecher, NOTE_B4, BEATTIME);
} Serial.println (Zähler);
}
//""
Leere boven() {
if (gleich == 0) { if (Zahler == 111 || Kassierer == 144 || Kassierer == 233) {
Kassierer = Kassierer + 21;
}
sonst if (Erzähler == 0) {
Kassierer = 221;
}
anders {
Kassierer = 999;
}
gleich = 1;
}
anders {
Ton (Lautsprecher, NOTE_D5, BEATTIME);
Serial.println (Zähler);
}
}
//""
Void onder () {
wenn (gleich == 0) {
if (Anzähler == 343) {
Kassierer = Kassierer + 31;
}
sonst if (Erzähler == 0) {
Kassierer = 331;
} anders {
Kassierer = 999;
} gleich = 1;
} anders {
Ton (Lautsprecher, NOTE_F4, BEATTIME);
Serial.println (Zähler);
}
}
//""
nichtig a() {
wenn (gleich == 0) {
wenn (Erzähler == 0) {
Kassierer = 461;
}
anders {
Kassierer = 999;
}
gleich = 1;
}
Ton (Lautsprecher, NOTE_D4, BEATTIME);
Serial.println (Zähler);
}
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
Augmented-Reality-Puzzle: 11 Schritte
Augmented Reality Puzzle: Puzzlespiele sind einfach wunderbar. Es gibt Rätsel aller Art, das typische Puzzle, das Labyrinth, mit Token und sogar Videospiele dieses Genres (zum Beispiel Captain Toad). Puzzlespiele erfordern, dass der Spieler eine Problemlösungsstrategie entwickelt