Inhaltsverzeichnis:

Schlange auf einem Steckbrett - Gunook
Schlange auf einem Steckbrett - Gunook

Video: Schlange auf einem Steckbrett - Gunook

Video: Schlange auf einem Steckbrett - Gunook
Video: Snake on Arduino 2024, November
Anonim
Schlange auf einem Steckbrett
Schlange auf einem Steckbrett
Schlange auf einem Steckbrett
Schlange auf einem Steckbrett
Schlange auf einem Steckbrett
Schlange auf einem Steckbrett

"Hast du irgendwelche Spiele auf deinem Handy?"

"Nicht genau."

Einführung:

Einfach zu steuern, einfach zu programmieren und durch das Nokia 6110 verewigt, ist Snake zu einem beliebten Projekt unter Ingenieuren geworden. Es wurde in alles implementiert, von LED-Matrizen, LCDs, Bücherregalbeleuchtung und sogar Fenstern ganzer Gebäude. Wir werden Snake auf einem winzigen Steckbrett und einem OLED-Bildschirm implementieren. Die Leute haben sicherlich kleinere Schlangenspieler gemacht, aber dies verwendet speziell ein Steckbrett, wodurch die Notwendigkeit entfällt, PCBs zu entwerfen oder zu löten.

(Sie könnten einfach eine App auf Ihrem Telefon erstellen, aber wir tun Dinge nicht, weil sie einfach sind.)

Voraussetzungen:

Ein grundlegendes Verständnis von Schaltungen, Breadboards und ein solides Verständnis der Programmierung in Arduino.

Lieferungen

  • Arduino Nano
  • 2 relativ hohe Widerstände (1kOhm)
  • Winziges Steckbrett
  • 2 Drucktasten
  • 22 AWG Massivkerndraht
  • 128 x 64 OLED

Dies sind Amazon-Partnerlinks, daher verdiene ich bei jedem Verkauf eine kleine Provision. Wenn Sie diese Vorräte noch nicht haben und zukünftige Projekte von mir unterstützen möchten, folgen Sie diesen Links!:)

Schritt 1: Steckbrett

Steckbrett
Steckbrett
Steckbrett
Steckbrett
Steckbrett
Steckbrett

Um unser Endprodukt herzustellen, müssen wir natürlich die Hardware zusammenbauen, um unser Projekt darauf zu programmieren und zu testen. Das Systemdiagramm für dieses Projekt ist ziemlich einfach, da es nur aus insgesamt 4 Komponenten besteht.

1. Legen Sie es aus:

Nehmen Sie Ihre Komponenten und legen Sie sie auf der Platine aus, um sicherzustellen, dass alles passt. Visualisieren Sie, welche Drähte und Pins Sie für welche Zwecke verwenden werden. Stellen Sie sicher, dass sich Ihre erwarteten Drähte nicht kreuzen, da dies zu einem unordentlicheren Steckbrett führt. Schreiben Sie auf, welche Punkte Sie zum Verbinden benötigen! Obwohl dies ein einfaches Steckbrett ist, wird es Ihr Leben während des Verdrahtungsprozesses und im Allgemeinen viel einfacher machen. Aufgrund der geringen Größe unseres Arbeitsbereichs ist dies ein unglaublich wichtiger Schritt.

Anmerkungen:

Da die OLED den I2C-Bus verwendet, müssen die Pins A4 und A5 verwendet werden. Die Größe des Steckbretts lässt keine Strom- und Masseschiene zu, daher habe ich ein paar Tricks verwendet, damit alles funktioniert. Die positive Spannung für die Tasten wird von den Pins D13 und A2 geliefert. Ich habe entdeckt, dass Arduino-Pins nicht nur Strom liefern, sondern auch Strom absenken können, daher habe ich A3 als Masse für den rechten Knopf verwendet. Um den Platz auf dem Steckbrett zu maximieren, hängte ich die Hälfte des Nano von der Platine ab und stützte die linken Seitenstifte mit einem Stück Schaumstoff ab.

2. Verdrahten Sie es:

Verdrahten Sie Ihre Komponenten mit einem Paar Abisolierzangen und einer anständigen Menge von 22 AWG Massivkerndraht sauber miteinander. Die Verwendung eines festen Kerns für die Erstellung von semipermanenten Steckbrettprojekten ist der Schlüssel, da Sie sie im Gegensatz zu Jumperdrähten auf Länge kürzen können. Stellen Sie sicher, dass Sie nicht viel Überlänge auf Ihren Drähten hinterlassen, da dies zu einem unordentlichen Board führt. Trimmen Sie die Leitungen der Pull-Down-Widerstände, damit sie bündig mit der Platine abschließen.

(Sie können auch einfach dem folgen, was ich oben getan habe.)

Schritt 2: Programmieren und testen

Programm und Test
Programm und Test

Um sich später Kopfschmerzen zu ersparen, stellen Sie sicher, dass das OLED und die Tasten so funktionieren, wie sie sollen, indem Sie einfache Testprogramme erstellen.

1. Planen, planen, planen:

Einfach direkt in den Code zu springen, ist keine kluge Vorgehensweise. Vertrauen Sie mir, ich habe es versucht! Deshalb sollten Sie skizzieren, wie Ihr Programm funktionieren wird. Ein Programmflussdiagramm ist eine ziemlich solide Methode, um zu planen, was Ihr Code tun muss, und hält Sie definitiv auf dem Laufenden. Nimm meins zum Beispiel (oben)

2. Code, Code, Code:

Ehrlich gesagt ist dieses Projekt eine größere Programmierübung als eine Hardwareübung. Die einzige Bibliothek, die ich verwendet habe, war die OLED-Bibliothek von Adafruit, die unterstützenden GFX- und Wire-Bibliotheken nicht mitgerechnet.

Lassen Sie die OLED-Bibliothek von Adafruit über den Bibliotheksmanager der Arduino IDE installieren.

Ich kann nicht jede einzelne Codezeile dokumentieren, die ich geschrieben habe, aber hier sind ein paar Tipps:

Tipps:

Kommentare:

- Schreiben Sie in erster Linie saubere und nützliche Kommentare, während Sie programmieren. Zukünftig werden Sie und andere, die Ihren Code lesen, Ihnen auf jeden Fall danken.

Speicher:

- Bei komplexeren Projekten wie diesen wird SRAM zur heißen Ware. In der Adafruit-Bibliothek nimmt der 128 x 64 OLED-Puffer allein 1 kB ein, was etwa der Hälfte des Speichers in einem ATMega328p entspricht. Daher ist intelligentes Speichermanagement wichtiger denn je.

- Bei großen Datenstrukturen sammeln sich die gespeicherten Daten an und nehmen viel Platz ein. Um den Speicherbedarf meiner Variablen zu reduzieren, habe ich nach Möglichkeit kleinere Datentypen (wie Short und Byte) verwendet.

- Strings werden normalerweise im SRAM gespeichert, aber mit der Funktion F() werden sie stattdessen in PROGMEM abgelegt, wodurch wertvoller Speicher gespart wird.

Millisekunden:

- Um ein genaueres Timing von Spielzyklen zu erreichen, verwenden Sie die Funktion millis(). Es gibt viele gute Tutorials und Beispiele im Internet.

Vordefinieren:

- Verwenden Sie die Präprozessordirektive #define als einfache Möglichkeit, dauerhafte Werte im Code festzulegen.

Prüfen:

- Testen Sie Ihren Code, während Sie gehen. Es wird viel einfacher sein, Bugs auszurotten.

Schritt 3: Viel Spaß

Viel Spaß mit deinem neuen Schlangenspiel!

(Ich weiß, dass ich im Video oben mit 20 Punkten gewonnen habe, Sie können die Gewinnbedingung in meinem Code höher setzen.)

Dinge zum Erweitern:

  • Eine Batterie für Mobilität
  • Sicherere Tasten
  • Ein noch kleineres Schlangenspiel
  • Noch mehr Spiele?

Empfohlen: