In Light Up Effects zu Backyard Games Wie Cornhole
16 Schritt:Schritt 1: Sehen Sie das Video Schritt 2: Materialien Schritt 3: Wie arbeitet der Sensor Schritt 4: Schließen Sie das Arduino an den Laser-Pointer Schritt 5: Anschluss des Sensors an das Arduino Schritt 6: Schließen Sie die Arduino zu den Lichtern Schritt 7: Die Arduino-Code Schritt 8: Prototyp der Schaltung auf einem Breadboard Schritt 9: Löten Sie die Schaltung auf eine Perf Foren Schritt 10: Einrichten der Wave-Schild Schritt 11: Konvertieren Sie die Audiodateien in das WAV-Format Schritt 12: Befestigen Sie den Lichtsensor Stromkreis dem Spielplan Schritt 13: Befestigen Sie den Rest des Parts auf der Innenseite des Spielbrett Schritt 14: Kleben Sie die LEDs in Place Schritt 15: Testen Sie es Schritt 16: Use Your Light Up Spiel-Brett
Hinterhof-Spiele wie Cornhole sind eine Menge Spaß. Aber man kann sie noch besser, indem Lichter und Klänge. Durch Anschließen einige einfache Elektronik, können Sie die Platine Licht ausmachen und spielen ein Sieg Fanfare, wenn jemand Partituren. Hier ist, wie es zu machen.
Schritt 1: Sehen Sie das Video
-
Hier ist eine Video-Anleitung des Projekts.
Schritt 2: Materialien
-
Alle 9 Artikel anzeigen
Hier sind die Materialien und Werkzeuge, die Sie benötigen, um dieses Projekt zu vollenden:
Materialien:
Arduino Uno
Arduino Wellenabschirmschicht
2 x IRF510 Leistungs-MOSFET
Batteriebetriebene Weihnachtsbeleuchtung
Schaltdrähte
Laserpointer
Fotowiderstand
10 kOhm Widerstand
Krokodilklemmen
Werkzeuge:
Lötkolben und Lötzinn
Kabelschneider
Abisoliergeräte
Schraubendreher
Heißklebepistole und Klebestifte
Schritt 3: Wie arbeitet der Sensor
-
Zu erkennen, wenn jemand Partituren, bin ich mit einem Basis-Lichtsensorschaltung. Ein Laser-Pointer ist auf der einen Seite der Öffnung gesetzt. Auf der anderen Seite des Loches wird ein Lichtdetektor in Übereinstimmung mit dem Laserzeiger positioniert.
Der Lichtdetektor, die ich benutze ist ein Fotowiderstand, der in Reihe mit einem 10 kOhm festen Widerstand verdrahtet ist. Die 10 kOhm-Widerstand auf 5V verbunden, und der Photowiderstand mit GND verbunden ist. Der Mittelstift zwischen ihnen auf der arduino einem analogen Eingangsstift verbunden ist. Wenn der Lichtstrahl des Laser-Pointer wird von der Tasche geht durch das Loch unterbrochen wird, geht die Spannung an der Mittelstift auf. Diese Spannungsänderung wird von der Arduino detektiert und die Arduino aktiviert Lichter und Töne.
Schritt 4: Schließen Sie das Arduino an den Laser-Pointer
-
Alle 7 Artikel anzeigen
Ich Versorgung der Laser-Pointer vom Arduino. Um dies zu tun, habe ich ein Paar von Drahtbrücken und ich angebracht Krokodilklemmen an den Enden. Der negative Draht wurde auf die Feder im Inneren des Laser-Zeiger angebracht. Dann wurde dieser Draht mit GND verbunden. Die positiven Draht wurde auf der Trommel der Laserzeiger verbunden ist. Dieser Draht wurde dann aus dem Arduino 5V verbunden. Um den Laser-Pointer zu halten, können Sie nur wickeln etwas Klebeband um den Lauf über den Schalter.
Schritt 5: Anschluss des Sensors an das Arduino
-
Der Mittelstift des Sensors muss auf einem der analogen Eingangsanschlüsse angeschlossen werden. In diesem Projekt, Ich bin mit dem Adafruit Wellenabschirmschicht um Sound-Effekte hinzuzufügen. Also zuerst angebracht ich die Welle Abschirmung mit der Arduino. Dann habe ich eine Drahtbrücke mit einem weiblichen Header Pin-Anschluss, an die Spitze der Welle Abschirmung verbinden.
Schritt 6: Schließen Sie die Arduino zu den Lichtern
-
Die Lichter benötigen mehr Strom als Arduino ausgeben kann. Also müssen wir eine externe Stromquelle verwenden. Ich beschloss, zwei Strings von batteriebetriebene LED-Leuchten zu verwenden. Um die Beleuchtung ein- und auszuschalten, bin ich mit einem Paar von IRF510 Leistungs-MOSFETs. Das Gate des MOSFET wird in digitale Stift 6 auf der Wellenabschirmung verbunden. Die Quelle Stift des MOSFET ist, um auf der Welle Schild der GND-Pin verbunden. Die Quelle Stift des MOSFET ist auch an den negativen Anschluss der Batteriepackung des Lichts verbunden ist. The Drain-Pin des MOSFET ist mit dem Feder der Batteriehalterung verbunden ist. Diese werden durch Einfügen eines Stück Karton zwischen ihnen getrennt und voneinander isoliert. Mit dieser Karte vorhanden ist, können die Lichtschaltung nur durch den Transistor abgeschlossen sein.
Wenn ein HIGH-Signal wird von der Arduino zum Tor Stift geschickt, der Transistor verbindet die Batterie zu den LEDs und die Lichter einschalten.
Schritt 7: Die Arduino-Code
-
// Hier ist eine Kopie des Codes, die ich für dieses Projekt verwendet. Sie können kopieren und in eine neue Skizze oder laden Sie die Code-Datei.
# include
# include # include #include "WaveUtil.h" #include "WaveHC.h"
SdReader Karte; // Dieses Objekt enthält die Informationen für die Karte FatVolume vol; // Dies enthält die Informationen für die Partition auf der Karte FatReader root; // Dies enthält die Informationen für den Dateisystem auf der Karte FatReader f; // Dies enthält die Informationen für den Datei wir spielen
WaveHC Welle; // Dies ist die einzige Welle (Audio) Objekt, da wir nur spielen ein zu einer Zeit
#define DEBOUNCE 100 // Button Entpreller
int ledPin = 6;
// Diese praktische Funktion wird die Anzahl der Bytes derzeit kostenlos im RAM für die Fehlersuche zurückzukehren, großartig! int FreeRAM (void) {extern int __bss_end; extern int * __ brkval; int free_memory; if ((int) __ brkval == 0) {free_memory = ((int) & free_memory) - ((int) und __ bss_end); } Else {free_memory = ((int) & free_memory) - ((int) __ brkval); } Return free_memory; }
nichtig sdErrorCheck (void) {if (card.errorCode ()!) return; putstring ("\ n \ RSD-I / O-Fehler:"); Serial.print (card.errorCode (), HEX); putstring (","); Serial.println (card.errorData (), HEX); while (1); }
// <----------------------------------------------- ------------------------------- Void-Setup Leere Setup () {// up serielle Schnittstelle Serial.begin (9600) festgelegt ; putstring_nl ("WaveHC mit 6 Tasten"); putstring ("Free RAM:"); // Dies kann bei der Fehlersuche zu helfen, aus dem RAM ausgeführt ist schlecht Serial.println (FreeRAM ()); // Wenn dies unter 150 Byte kann es Probleme buchstabieren! // Die Ausgangspins für die DAC-Steuerung ein. Diese Stifte werden in der Bibliothek pinMode (13, OUTPUT) definiert sind;
// If (! Card.init (true)) {// mit 4 MHz spi spielen, wenn 8 MHz arbeitet nicht für Sie, wenn (! Card.init ()) {// spielen mit 8 MHz spi (default schneller!) putstring_nl (". Karte init failed!"); // Etwas schief gelaufen ist, können Druck warum sdErrorCheck (); while (1); // Dann "Halt" - nichts zu tun! } // Ermöglichen optimize lesen - einige Karten können Timeout. Zu deaktivieren, wenn Sie Probleme card.partialBlockRead (true); // Jetzt werden wir für eine FAT-Partition aus! uint8_t Teil; für (Teil = 0; Teil <5; Teil ++) {// wir haben bis zu 5 Steckplätze zu suchen, wenn in (vol.init (Karte, Teil)) zu brechen; // Wir haben ein, lässt bail} if (Teil == 5) {// wenn wir am Ende nicht einen zu finden :( putstring_nl ("Keine gültige FAT-Partition!"); SdErrorCheck (); // etwas schief gegangen ist, können ausdrucken, warum while (1); // dann "Halt" - nichts tun} // Ermöglicht dem Benutzer mitteilen, was wir gefunden putstring ("Verwendung von Partition");! Serial.print (Teil, DEC); putstring (" Typ ist FAT "); Serial.println (vol.fatType (), DEC); // FAT16 oder FAT32 // Versuchen Sie, das Root-Verzeichnis zu öffnen, wenn) {putstring_nl ((root.openRoot (vol!)" Can not offene root dir "); // ging etwas schief, while (1);!. // dann" Halt "- nichts tun} // Puh Wir haben an den harten Teilen putstring_nl ("! Ready ")!
pinMode (ledPin, OUTPUT); }
// <----------------------------------------------- -------------------------------------- Void Schleife
Leere Schleife () {// putstring ("."); // Kommentieren Sie dies, wenn die Schleife ist nicht lauf sehen
int Sensorvalue = 0; int sensorPin = 5; int sensorThreshold = 200;
Sensorvalue = analogRead (sensorPin); // Den Eingabestift lesen
Serial.println (Sensorvalue); // Debug-Wert
if (Sensorvalue> sensorThreshold) {Serial.println ("Play Sounds and Lights"); digital (ledPin, HIGH); // Setzt die LED auf playcomplete ("1.wav"); digital (ledPin, LOW); // Setzt die LED ausschaltet (500);
}}
// eine vollständige Datei spielt von Anfang bis Ende ohne Pause. Leere playcomplete (char * name) {// können Sie unsere Helfer zu finden und spielen diesen Namen playfile (name); while (wave.isplaying) {// nichts tun, während seine Spiel} // nun ihre getan spielen}
Leere playfile (char * name) {// sehen, ob die Welle Objekt gerade, etwas zu tun, wenn (wave.isplaying) {// spielt schon etwas, so hör auf! wave.stop (); // Stoppen} // schauen in das Root-Verzeichnis und öffnen Sie die Datei, wenn {putstring ("Konnte Datei nicht öffnen") (f.open (root, Name)!); Serial.print (name); zurück; } // OK die Datei lesen und es in einer Welle-Objekt, wenn {putstring_nl ("Keine gültige WAV") (wave.create (f)!); zurück; } // Ok Zeit zu spielen! starten Sie die Wiedergabe wave.play (); }
Schritt 8: Prototyp der Schaltung auf einem Breadboard
Schritt 9: Löten Sie die Schaltung auf eine Perf Foren
Schritt 10: Einrichten der Wave-Schild
-
Wenn Sie Ihr Spiel, um Töne zu spielen möchten, können Sie eine Wave-Schild zu Ihrer Arduino hinzuzufügen. Auf diese Weise können Sie Audiodateien abspielen. Dieser Schild kann als Bausatz aus gekauft werden Adafruit oder vollständig aus der montierten MakerShed . Wenn Sie wählen, um es aus dem Satz montieren, können Sie erhalten detaillierte Anweisungen vom Adafruit Website . Für dieses Projekt benötigt man zusätzliche Kabel an Digital-Stift 6 verlötet werden, damit sie das Licht zu aktivieren.
Sobald Sie eine zusammengesetzte Welle Schild haben, müssen Sie die WaveHC Bibliothek herunterladen. Sie können eine Kopie von der Homepage des Autors herunterladen hier , oder Sie laden Sie einfach die ZIP-Datei in diesem Schritt angeschlossen.
Laden Sie die Zip-Datei. Dann entpacken / extrahieren Sie die Dateien. Kopieren Sie die WaveHC Ordner in den Bibliotheken Verzeichnis Ihrer Arduino-Programmordner. Eine ausführliche Anleitung, die Bibliothek und wie es zu benutzen finden Sie hier.
Schritt 11: Konvertieren Sie die Audiodateien in das WAV-Format
-
The Wave Schild kann nur Audio-Dateien im WAV-Format. Also, wenn Ihr Audio-Recorder speichert die Dateien in einem anderen Format, werden Sie brauchen, um sie zu konvertieren, um .WAV.
Wenn Sie iTunes haben Sie dieses Tutorial benutzen können, um sie zu bekehren: https://learn.adafruit.com/adafruit-wave-shield-audio-shield-for-arduino/convert-files . Sie können auch die Online-Datei-Konverter wie diese: http://audio.online-convert.com/convert-to-wav .
Unabhängig davon, welches Programm Sie verwenden, müssen Sie die Datei in das WAV-Typ zu konvertieren. Die Bit-Auflösung sollte auf "16-Bit" gesetzt werden. Die Abtastrate sollte auf 22050 Hz (oder 22,050 kHz) eingestellt werden. Die Audio-Kanäle gesetzt werden sollte "Mono".
Der Einfachheit halber, änderte ich meine Audiodatei 1.wav. Wenn Sie diesen Dateinamen verwenden, werden Sie nicht brauchen, um den Code zu ändern. Dann einfach die Dateien geladen werden auf einer SD-Karte und setzen Sie sie in die Welle Schild.
Schritt 12: Befestigen Sie den Lichtsensor Stromkreis dem Spielplan
Schritt 13: Befestigen Sie den Rest des Parts auf der Innenseite des Spielbrett
Schritt 14: Kleben Sie die LEDs in Place
Schritt 15: Testen Sie es
Schritt 16: Use Your Light Up Spiel-Brett
-
Nun sind Sie bereit, ein Spiel zu spielen. Immer wenn Sie eine Tasche in das Loch zu werfen, wird es den Strahl von der Laser-Pointer zu unterbrechen. Dann werden die Lichter und Klänge spielen. Ich tat dies mit einer grundlegenden cornhole Bord. Aber man kann diese Arbeit mit vielen verschiedenen Spiele zu machen. Zum Beispiel könnten Sie das gleiche Setup mit einem Basketball Ziel zu machen. Probieren Sie es aus und Spaß haben.