Inhaltsverzeichnis:
- Schritt 1: BEDÜRFNISSE
- Schritt 2: SCHEMA
- Schritt 3: CODE
- Schritt 4: CODE BITMAP
- Schritt 5: DANKE FÜR DAS ANSEHEN
Video: Arduino Space Race Spielversion _1 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Hallo Freunde. Heute am ganna zeigen Sie, wie Sie ein Weltraumrennen-Spiel mit LCD5110-Bildschirm und Joystic machen können. Schauen wir uns die Schritte an …
Schritt 1: BEDÜRFNISSE
Hier ist eine Liste von Teilen, die ich verwendet habe, um dieses Projekt zu machen:
- Arduino UNO
- Joystick-Modul
- Überbrückungsdrähte (männlich zu männlich und männlich zu weiblich)
- Steckbrett
Schritt 2: SCHEMA
VCC -> Arduino 5V
BL -> Arduino-Pin 3
GND -> Arduino GND
CLK (SCLK) -> Arduino-Pin 8
DIN (MOSI) -> Arduino-Pin 9
DC -> Arduino-Pin 10
CE oder CS -> Arduino-Pin 12
RST (RESET) -> Arduino-Pin 11
Schritt 3: CODE
Der Code enthält Erläuterungen zu Codefunktionen. Sie werden es leicht verstehen. Wenn Sie ein Problem haben, können Sie mich kontaktieren.
#enthalten
LCD5110 LCD (8, 9, 10, 11, 12); //(clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont; //Schriftarten beschreiben extern uint8_t MediumNumbers; extern uint8_t arac; //beschreibe unsere Form extern uint8_t dusman_araci; // feindliche Form beschreiben const int xpin=A0; // Joystick x Stiftzeichen pozisyon = 2; // den Ort beschreiben, unsere Form Startort 2 boolean kontrol = true; boolescher Wert dusmanOldu = true; int skor=0; int hiz=0; int dusmanKonumu1; //beschreibe den Feind1 x Standort int dusmanKonumu2; // Feind2 x Standort beschreiben int dusmaninYdeKonumu; //beschreibe den Standort der Feinde
void dusmanAraci (int yer, int asama) {//Orte für feindliche Formen festlegen
wenn (yer==1){//wenn Standort=1; lcd.drawBitmap(2, asama, dusman_araci, 12, 8); // feindliche Form zeichnen} if (yer = = 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); aufrechtzuerhalten. Wenn (yer = = 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti() {//wenn wir scheitern, ist das Spiel vorbei
während (1) { Verzögerung (100); // 1 Millisekunde warten lcd.clrScr (); // den Bildschirm löschen lcd.setFont (SmallFont); // Schriftart einstellen lcd.print ("GAME OVER", CENTER, 20); // lcd.update () drucken; // den Bildschirm aktualisieren }}
Void setup () { PinMode (BL, OUTPUT); // Licht zurücksetzen Ausgang lcd. InitLCD (); // lcd-Bildschirm initialisieren lcd.setContrast (55); // Kontrast einstellen (ca. 0 bis 127) Serial.begin (9600); // Serielle Kommunikation starten}
Leere Schleife () {
analogWrite(BL, 200);
// Spielbildschirm einstellen lcd.drawRect (0, 0, 47, 47); // wir zeichnen ein Rechteck lcd.setFont (SmallFont); // Schriftart einstellen lcd.print ("skor", 53, 0); // printf-Score lcd.setFont (MediumNumbers); // Schriftart einstellen lcd.printNumI (skor, 59, 7); // Punktzahl abrufen lcd.setFont (SmallFont); lcd.print("hiz", 56, 25); // Druckgeschwindigkeit lcd.setFont (MediumNumbers); lcd.printNumI(hiz, 59, 32); // Geschwindigkeit abrufen lcd.update (); //aktualisieren
// setze die Joyistick-Position int x = analogRead (xpin); if(x<300 && pozisyon!=1 && kontrol==true){ //if location!=1, x state600 && pozisyon!=3 && kontrol==true){ //if location!=3, x state> 600 und Kontrolle ist wahr pozisyon++; // Erhöhen Sie die Position, dh die Form nach rechts verschieben kontrol=false; aufrechtzuerhalten. Sonst if(x>300 && x<600){ kontrol=true; } Serial.println (x); // zum Erlernen des x-Zustands // Legen Sie die Position unserer Form fest lcd.clrScr (); // lösche den Bildschirm, wenn (pozisyon = = 1) {// if location = 1; lcd.drawBitmap(2, 37, arac, 12, 8);} // unser Schiff zeichnen if (pozisyon==2){ lcd.drawBitmap(18, 37, arac, 12, 8);}
wenn (pozisyon==3){
lcd.drawBitmap(34, 37, arac, 12, 8);}
If (dusmanOldu) {// Wenn die feindliche Form tot ist, überprüfen Sie, ob sie tot sind
dusmanKonumu1 = pozisyon; // erste feindliche Form zeichnen dusmanKonumu2 = random (0, 4); // eine andere feindliche Form irgendwo zeichnen dusmaninYdeKonumu = 0; // Feind von oben bringen dusmanOldu = false;} // Feind wird neu erstellt, damit er nicht tot ist dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu++; // Erste feindliche Form zeichnen und von oben nach unten erhalten dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu++; //Zeigt die zweite feindliche Form und holt sie von oben nach unten if (dusmaninYdeKonumu>22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))){ //wenn unsere Form die feindlichen Formen berührt oyunBitti();} //Das Spiel ist vorbei if (dusmaninYdeKonumu>40){ //wenn unsere Form vor Feinden entkommt dusmanOldu = true; // feindliche Formen töten skor++;} // Erhöhen Sie die Punktzahl nacheinander // Erhöhen Sie die Geschwindigkeit entsprechend der Punktzahl if (skor>=0 && skor10 && skor20 && skor30 && skor<=40){ hiz = 3; Verzögerung (40); } }
Schritt 4: CODE BITMAP
Außerdem müssen Sie Bitmap-Grafiken für Formen einfügen. Es muss eine.c-Datei sein und den gleichen Namen wie den Codenamen haben. Außerdem muss sie sich in derselben Datei befinden.
//------------------------------------------------ ------------------------------------------// Vom LCD-Assistenten generierte Datei // https://en.radzio.dxp.pl /bitmap_converter/ //--------------------------------------------- --------------------------------- #include //include für die Programmfunktion
const unsigned char arac PROGMEM = { //unsere Form-Bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
const unsigned char dusman_araci PROGMEM = { // Feindesschiff-Bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
Schritt 5: DANKE FÜR DAS ANSEHEN
Bevor ı anfing, meine Projekte zu teilen, codierte ich türkische Wörter, damit ich nicht jedes Wort ins Englische ändern konnte. Hier die Wortübersetzung, die ı dieses Projekt verwendet, Oyun = Spiel
Arac = Form
Dusman = Feind
Kontrolle = Kontrolle
Konum, Yer = Standort
Oyun Bitti = Spiel vorbei
Skor = Punktzahl
Hiz = Geschwindigkeit
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
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
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