Inhaltsverzeichnis:

Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C - Gunook
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C - Gunook

Video: Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C - Gunook

Video: Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C - Gunook
Video: Rock Paper Scissor game using arduino 2024, Juli
Anonim
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C
Handheld Arduino Paper Rock Scissors Spiel mit 20x4 LCD-Display mit I2C

Hallo zusammen, oder vielleicht sollte ich "Hallo Welt" sagen!

Es wäre mir eine große Freude, ein Projekt mit Ihnen zu teilen, das mein Einstieg in viele Dinge mit Arduino war. Dies ist ein tragbares Arduino Paper Rock Scissors-Spiel mit einem I2C 20x4 LCD-Display. Ich weiß, Sie denken vielleicht: "Noch ein Paper Rock Scissors-Spiel?" Aber die meisten Arduino Paper Rock Scissors-Spiele verwenden einfache LEDs und ich habe auch eine gesehen, die Papiersymbole verwendet, die von Servos angehoben werden. Die sind cool. Dieses Projekt verwendet ein 20x4 LCD-Display und hat eines mit I2C und eines ohne I2C gemacht (hier nicht gezeigt). Wollte ein preiswertes Gehäuse mit einem fertigen Look, nicht nur ein Brotbrett-Durcheinander. Nicht jeder hat Zugang zu einem 3D-Drucker und möchte jemanden bezahlen, der dies tut. Und ich wollte, dass es einfach zu machen ist, damit ich die Ideen mit anderen teilen kann. Da meine Programmierkenntnisse Anfänger sind, ist die Skizze ziemlich einfach und leicht zu verstehen und zu bearbeiten. Dies war meine persönliche Ausbildung zum Erstellen einer Skizze. Sie werden viele Notizen in der Skizze finden und sie hat viele, viele (20+?) Iterationen durchlaufen, bis ich glaube, dass sie genau richtig sind. Das Projekt kostet weniger als 20 US-Dollar (nicht I2C).

Ich habe 2018 mit Arduino angefangen und bin ihre Website durchgegangen und habe alles gelesen, was ich konnte. Gebaut und mit den mitgelieferten Beispielprojekten experimentiert und viele Instructables gelesen, die so viele von Ihnen im Laufe der Jahre geteilt haben. Ich schätze sie wirklich und habe so viel von Ihnen allen gelernt. Dankeschön. Jetzt möchte ich etwas von dem, was ich gelernt habe, teilen und meine eigene Kreativität hinzufügen. Bevor sich der Kommentarbereich mit vielen Fragen dazu anhäuft, wie man dies macht und dies bitte im Hinterkopf behalten sollte, habe ich dies ohne Erfahrung mit Arduino begonnen. Ich habe gelernt, indem ich die Beispielprojekte auf den Arduino- und den Instructables-Websites erstellt habe. Ich habe von euch gelernt. Wenn Sie nicht weiterkommen, ist dies möglicherweise der schnellste Weg für Sie, eine Lösung zu finden.

Schritt 1: Projektvorstellung

Projektvorstellung
Projektvorstellung
Projektvorstellung
Projektvorstellung

Ich wählte das LCD-Display von Amazon und wählte I2C 20x4 LCD wegen der geringen Kosten (ca. 12 - 18 US-Dollar) und der einfachen Verdrahtung und Programmierung. Wenn Sie möchten, können Sie einen ohne I2C verwenden und erhalten einen bis zu 7 US-Dollar. Sie müssen jedoch eine andere Bibliothek und ein anderes Verdrahtungsschema verwenden und mehr Arduino-Pins verbrauchen. Keine Sorge, es reicht für beides. Serielles I2C 20x4 wäre einfacher zu bauen, weniger Drähte sind weniger verwirrend. Aber paralleles 20x4-LCD ist etwa 5 US-Dollar billiger. Ich habe Schaltpläne für beide Verdrahtungsschemata gezeichnet. Die meisten anderen Teile habe ich bei Amazon und einigen lokalen Geschäften gekauft. Meine Box ist eine leere Cappuccino-Getränkemixbox. Ich mag es, dass der Deckel leicht abspringt, um das Gerät ein- und auszuschalten, an Komponenten zu arbeiten oder die Batterie zu wechseln. Und "Hey!" Die Box war kostenlos und ich mag Cappuccino. Plastik zu recyceln ist gut für die Umwelt. Sie können eine beliebige Box verwenden, in die alles passt, oder sogar die Box oder das Steckbrett des Projekts überspringen. Ich wollte einen "fertigen Projektlook" zum günstigen Preis. Ich wette, jemand erstellt eine 3D-gedruckte Version. Der Arduino spielt das Paper Rock Scissors-Spiel mit Ihnen auf dem LCD, hält den Punktestand, Sie können mit den Tasten eingeben, und wenn Sie sich entscheiden, gibt es eine Option, mit der Sie betrügen können. Ursprünglich wurde die Cheat-Funktion für Debugging-Zwecke geschrieben und als ich damit fertig war, habe ich sie auskommentiert. Aus Spaß habe ich es wieder eingebaut.

Schritt 2: Brotbrett

Brotplatte
Brotplatte
Brotplatte
Brotplatte

Ich habe meine Schaltungen mit Arduino Uno auf einem Steckbrett verdrahtet, aber beim Zusammensetzen habe ich Arduino Nano verwendet, weil es besser in die Box passt. Sie können dies also mit beiden erstellen. Denken Sie jedoch daran, einige Einstellungen in der IDE zu ändern. Der Nano wird mit Command Strips oder doppelseitigem Klebeband auf der Rückseite des LCD angebracht. Positionieren Sie den Arduino Nano neben der I2C-Huckepack-Platine, sodass der USB-Anschluss nach außen zeigt (rechts vom LCD). Sie können eine 9-V- oder 4x-AA-Batteriebox (die 6 V liefert) mit SPST-Schiebeschalter für die Stromversorgung in der Box auch mit Command Strips verwenden. Der Arduino ist in beide Richtungen gebaut und verfügt über einen integrierten Spannungsregler, der ihn auf die benötigten 5 Volt herunterfährt. Wenn Sie darüber nachdenken, kann dieses Spiel tatsächlich "meist leere 9-V-Batterien" für die Stromversorgung recyceln und gut funktionieren. (Du wechselst die Rauchmelderbatterien zweimal im Jahr, oder?) Andere Geräte, die eine 9-V-Batterie verwenden, könnten sagen, dass sie bei 6 – 8 Volt leer ist; aber es ist nicht tot, bis es "Arduino Dead!"

Beim Entwerfen des Projekts habe ich 4 SPST-Tasten für die Eingabe verwendet. Aber beim Bau des fertigen Spiels in die Box wurden 5 SPST-Tasten verwendet, um in Zukunft zu denken, dass ich versuchen könnte, ein Spiel zu entwickeln, das mehr Tasten benötigt. Vielleicht ein Labyrinth-Spiel? Ein Widerstandsspannungsteiler für die Tasten ist zusammen auf einem Schrottstück Protoboard montiert, das auch mit Command Strips montiert werden kann.

Schritt 3: Montage

Montage
Montage
Montage
Montage
Montage
Montage

Montage:

Die 4 Hauptbaugruppen sind das LCD mit optionaler I2C-Huckepack-Platine, Arduino Nano, die Widerstände und Schalter, die mit der Zwischenplatine verkettet sind, und die Batteriebox mit Ein-/Ausschalter.

Sie sollten damit beginnen, die Schaltung mit einem Steckbrett zu versehen oder die Proto-Platine gemäß dem Schaltplan fest zu verdrahten. Ich mag es, das LCD mit der Vorderseite nach unten im Kartondeckel aufzubewahren, um es nicht zu zerkratzen. Ich habe nur auf der einen Seite von Arduino einen Header verwendet, der 5 V hat, um ihn mit der Proto-Platine zu verbinden. Ich habe eine Brücke mit 3 Headern (viel Lötarbeit) vom Arduino zum Proto-Board gemacht, so dass sie flach auf der Rückseite des LCD mit Befehlsstreifen oder doppelseitigem Klebeband liegen. Aber wirklich, die Platinen können nur mit Lötdrähten von einem zum anderen verbunden werden. Verwendet eine Buchsenleiste, um die Proto-Platine mit dem LCD I2C zu verbinden. Die Proto-Board-Widerstandsbeine können verwendet werden, um die 5 Lötpunkte für die Tasten herzustellen. Das andere Bein jeder Taste geht zum Arduino-Pin A0. Jede Taste benötigt 2 gelötete Drähte. Verwenden Sie ein Ohmmeter, um zu bestimmen, welche Knopfbeine verwendet werden sollen, aber im Allgemeinen können Sie mit nicht benachbarten Beinen (diagonal zueinander) nichts falsch machen.

Wählen Sie Ihre Einstellungen für Ihr Arduino in der IDE. Laden Sie die Skizze herunter und laden Sie sie auf den Arduino und testen / Fehlersuche.

Bereit, es in eine Kiste zu legen? Das Etikett für Cappuccino entfernt, meine Schachtel gewaschen und getrocknet. Das Loch in der Box für das LCD sorgfältig ausgemessen und ausgeschnitten, wie Sie sehen können, und es wird mit 3 Dübeln montiert, die an drei LCD-Ecklöchern (2 am Boden der Box, 1 in der Nähe des Deckels) gerade lang genug angeschraubt sind, um die Rückseite der Box und halten Sie sie mit Reibung an Ort und Stelle. Das Schraubenloch auf dem LCD der Huckepack-Platine könnte zu nahe am Terminal sein, daher lasse ich es weg. Verwenden Sie ein Exacto-Messer, um Pilotlöcher für Schrauben in die Dübel zu bohren, damit sie nicht spalten (Vorsicht, nicht abrutschen und sich selbst stechen, Dübel mit einer Zange halten). Musste die Box für die endgültige Installation ein wenig biegen / zerdrücken, aber sie schnappt wieder in die richtige Form. Die Löcher für die Knöpfe werden "gebohrt", indem man sie anlegt (Linien mit gerader Kante zeichnen) und die Klemmen mit einem Lötkolben aufheizt, bis sie die Dose "durchschmelzen". Entfernen Sie dann die Tasten, nachdem sie abgekühlt sind, und löten Sie 6" - 9" CAT 5e-Drahtreste oder 18ga bis 22ga-Draht an die Tasten. Installieren Sie die Tasten mit dem Draht zuerst wieder in ihren Löchern und löten Sie sie dann an die Widerstands-Proto-Platine. Ein Punkt Sekundenkleber, Heißkleber oder auch nur Reibung halten die Knöpfe an Ort und Stelle. Bei einem Build wurden einige Telefonkabelspleißer (die roten Kreise in den durchsichtigen Kunststoffblöcken) verwendet, um die letzte Handvoll Verbindungen zwischen dem Batteriekasten, der Widerstands-Proto-Platine und der LCD / Arduino-Baugruppe zu erleichtern. Wenn Sie möchten, können Sie stattdessen Lot und Schrumpfschlauch verwenden. Schieben Sie dann vorsichtig und langsam alle Drähte und Komponenten in die Box und schließen Sie den Deckel. Sie haben eine Batterie installiert und die Arduino-Skizze hochgeladen, bevor Sie dies alles getan haben? Sie benötigen auch die Bibliothek für 20x4 LCD-Displays mit oder ohne I2C (je nachdem, was Sie wählen), die Sie kostenlos auf Github herunterladen können. Schalten Sie es ein, probieren Sie es aus und sehen Sie, ob es funktioniert. Später habe ich meine Skizze mit Pausen bearbeitet, um sie besser lesbar zu machen, den "Blinking-Punkte-Effekt" und einige andere Dinge sowie viele Kommentare hinzugefügt. Versuchen Sie, den Arduino so zu positionieren, dass der USB noch angeschlossen und eine neue Skizze hochgeladen werden kann. Beim Erstellen der Skizze wurde natürlich ein Flussdiagramm verwendet. Sie werden feststellen, dass die Kommentare ziemlich genau definieren, wo sich die einzelnen Flussdiagrammblöcke befanden.

Sie werden feststellen, dass sich die Tasten in einer Reihen- / Parallelschaltung befinden, die es Ihnen ermöglicht, einen Arduino-Eingangspin für so viele Tasten zu verwenden, wie Sie möchten. Die Schaltung wirkt wie ein Spannungsteiler, um dem analogen Pin einen Wert zuzuführen, der den von jeder gedrückten Taste gelesenen Wert ändert. Sie können den seriellen Monitor verwenden, um Ihre Schaltungswerte basierend auf Ihren Widerständen herauszufinden und die "akzeptierten Werte" in Ihrer Skizze zu ändern.

Viel Spaß beim Selberbauen! Wenn Sie eine oder sogar einige Mods davon erstellen, teilen Sie uns dies bitte mit. Vielen Dank fürs Lesen.

Schritt 4: Programmierung und Einstellungen

Programmierung und Einstellungen
Programmierung und Einstellungen
Programmierung und Einstellungen
Programmierung und Einstellungen

Jetzt zum Spaß mit IDE. Ich hoffe, Sie haben Cappuccino getrunken. Möglicherweise benötigen Sie es, um wach zu bleiben.

Möglicherweise müssen Sie einige Bibliotheken einrichten. Sie benötigen Wire.h für I2C, LCD.h für LCD, LiquidCrystal_I2C.h für I2C-gesteuertes LCD. Sie müssen auch den Befehl lcd.begin (20, 4) verwenden, um Arduino mitzuteilen, dass Sie ein 20-stelliges 4-Zeilen-LCD verwenden und es möglicherweise andere Einstellungen gibt.

Informationen zum Installieren von Bibliotheken finden Sie unter:

In der Arduino IDE müssen Sie möglicherweise Ihr Board und den Port einstellen, mit dem es verbunden ist. Den Port finden Sie in der Systemsteuerung Ihres Computers/Gerätemanager/Universal Serial Bus-Controllern. Sie müssen herausfinden, welches Arduino Sie verwenden. Ich verwende Arduino Nano, aber Uno funktioniert auch dafür. Wählen Sie Ihre Einstellungen sorgfältig aus.

Möglicherweise müssen Sie Ihre I2C-Adresse herausfinden. Sie sollten in der Lage sein, es direkt von den Platinen-Jumpern zu lesen. Sie können auch einen I2C-Scanner von Arduino.cc oder auch https://www.gammon.com.au/forum/?id=10896 und anderen Stellen herunterladen.

Irgendwo um diesen Punkt herum sollten Sie das Programm auf den Arduino laden und auf Funktionalität testen können. Leuchtet der LCD-Bildschirm? Kannst du Zeichen lesen? Einmal baute ich die Schaltung und testete sie dann die Hintergrundbeleuchtung leuchtete, aber die Zeichen waren unlesbar. Verbrachte Stunden (das ist richtig, STUNDEN) damit, Einstellungen auszuprobieren und Verbindungen zu tonen, um sicherzustellen, dass es richtig erstellt wurde. Habe für ein paar Tage aufgegeben. Kam später darauf zurück und stellte fest, dass der variable Widerstand auf der Huckepack-Platine auf das Minimum eingestellt war. Aufgedreht und die Zeichen waren sichtbar. Kopf auf den Schreibtisch schlagen. Ein weiterer Grund, sich den Kopf auf den Schreibtisch zu schlagen? Wenn Sie die Batterie wechseln müssen, müssen Sie diesen variablen Widerstand möglicherweise erneut einstellen. Als dies geschah, schnitt ich ein kleines Loch in die Rückseite der Schachtel, um Zugang zu erhalten.

Möglicherweise müssen Sie in diesem Programm Ihre eigenen Tastenwerte basierend auf den Widerständen einstellen, die Sie für Ihre Tasten verwenden. Sie können dafür diese praktische kleine Skizze verwenden und daran denken, den seriellen Monitor zu aktivieren. Führen Sie die Skizze aus, drücken Sie jede Taste und notieren Sie jeden Wert. Bearbeiten Sie dann die Skizze, um Ihre Schaltflächenwerte widerzuspiegeln. Laden Sie dann die bearbeitete Skizze auf Ihr Board hoch und sehen Sie, ob sie funktioniert.

Es gibt viele kleine Variablen, die alle genau richtig sein müssen und Ihre können sich von meiner unterscheiden. Geduldig zu sein und verschiedene Dinge auszuprobieren, wird dir helfen, deines zum Laufen zu bringen. Denken Sie auch daran, dass Sie nach dem Einstellen Ihrer Arduino-Variablen (wie Boardname, com 3, 5 oder was auch immer, Prozessor und Programmierer [alle unter Tools]) möglicherweise alle richtig eingestellt haben, aber es funktioniert nicht, da Sie neu starten müssen. Trennen Sie das Arduino und schließen Sie es wieder an Ihren Computer an. Möglicherweise müssen Sie Ihren Computer auch speichern und neu starten.

Laden Sie diese Skizze hoch, führen Sie den Monitor aus, drücken Sie die Tasten und zeichnen Sie die Werte auf, bearbeiten Sie dann die Skizze der Paper Rock Scissors und ersetzen Sie meine Widerstandswerte durch Ihre. Führen Sie die Paper Rock Scissors-Skizze aus und sehen Sie, ob sie richtig funktioniert. Oh ja, hast du deine Buttons in der falschen Reihenfolge installiert? Sie müssen sie möglicherweise neu installieren, wenn Sie sie in einer bestimmten Reihenfolge haben möchten.

Spaß haben!

Schritt 5: Die Skizze zum Lesen der Schaltfläche hilft Ihnen, Ihre Widerstandswerte zu finden, um sie in die Hauptskizze zu bearbeiten. Drücken Sie jede Taste und notieren Sie Ihre Widerstandswerte, um in die Hauptskizze einzutreten

// Schaltfläche Leseskizze

Leere Einrichtung () {

// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:

Serial.begin (9600);

}

Leere Schleife () {

// Geben Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen:

int-Taste; // Zum Lesen von Tasten

Taste = 0; // Zum Lesen von Tasten

Taste = analogRead(A0); //Befehl zum Lesen der Schaltflächen

Verzögerung (100);

Serial.println (buTTon);

Schritt 6: Teilelisten und Werkzeuge, die Sie möglicherweise benötigen

Teileliste von Amazon:

Arduino Uno oder Arduino Nano

20x4 LCD-Display mit oder ohne I2C

9V oder 6V Batteriekasten mit SPST-Schiebeschalter (oder den Schiebeschalter separat erhalten)

5x SPST-Taster

1x Pull-up-Widerstand 1k - 5k

5x Widerstände weniger als 1k, 200 - 500 Ohm ist gut

Teilelisten Andere Standorte oder Geschäfte:

9V oder 4x 1,5-Volt-Batterie (9V-Option ermöglicht das Recycling von "meist leeren" Batterien)

Command Strips (als Nachfüllpack verwendet) oder doppelseitiges Klebeband

Telefonkabelspleißer (optional, aber zum einfachen Anschließen von Drähten)

Ein paar Zoll 1/4 Dübel

Winzige Holzschrauben zur Befestigung von Dübeln am LCD

Lot

Schrumpfschlauch für 18 ga Drähte

Schrott oder Recyclingteile:

Leere Cappuccino-Getränkemixbox (nicht jeder hat einen 3D-Drucker, hat etwas Cappuccino und recycelt etwas Plastik)

Ungefähr 1 "x 2" Protoboard-Schrott, obwohl ich Protoboard von Amazon verwendet habe

Verschiedene Längen von 18ga bis 22ga Draht oder Cat 5e Vollkern

Werkzeuge, die Sie möglicherweise benötigen:

Kleiner Kreuzschlitzschraubendreher

Kleiner Schlitzschraubendreher

Exacto Messer

Lötkolben und Lot

Schwere Schere

Spitzzange

Herrscher

Schritt 7: Einige weitere Informationen und die Hauptskizze

Vielen Dank fürs Lesen. Ich weiß, es ist viel. Dies ist mein erstes Intructable und das allein war ein bisschen lehrreich für mich. Rückblickend sehe ich, dass ich an manchen Stellen wortreich und an anderen zu kurz bin. Ich hätte die Baugruppe mehr in Schritte zerlegen sollen. Und da ich dieses Projekt ungefähr ein Dutzend Mal gebaut habe, bis es genau richtig war, stammen einige der Bilder von dem einen oder anderen Modell. Ich muss zurückgehen und nur ein Modell fotografieren. Ich möchte auch ein oder zwei Videos einfügen. Also ja, ich werde zurückkommen und das Zeug reparieren. Aber jetzt lege ich es in deine Hände. Ich hoffe, Sie haben genauso viel Spaß beim Bauen wie ich. Nochmals vielen Dank fürs Lesen.

Empfohlen: