Πίνακας περιεχομένων:
Βίντεο: Arduino Space Race Game Έκδοση _1: 5 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Γεια σας φίλοι. Σήμερα ı am ganna σας δείχνει πώς μπορείτε να φτιάξετε ένα Space Race Game by LCD5110 οθόνη και joystic. Ας δούμε τα βήματα…
Βήμα 1: ΑΝΑΓΚΕΣ
Ακολουθεί μια λίστα με τα μέρη που χρησιμοποίησα για να φτιάξω αυτό το έργο:
- Arduino UNO
- Ενότητα Joystick
- Jumper Wires (αρσενικό σε αρσενικό και αρσενικό σε θηλυκό)
- Breadboard
Βήμα 2: SCHEMA
VCC -> Arduino 5V
BL -> καρφίτσα Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Καρφίτσα Arduino 8
DIN (MOSI) -> Καρφίτσα Arduino 9
DC -> καρφίτσα Arduino 10
CE ή CS -> Arduino pin 12
RST (ΕΠΑΝΑΦΟΡΑ) -> Καρφίτσα Arduino 11
Βήμα 3: ΚΩΔ
Ο κώδικας έχει επεξηγήσεις για τις συναρτήσεις κώδικα. Θα το καταλάβεις εύκολα. Αν έχετε πρόβλημα, μπορείτε να επικοινωνήσετε μαζί μου.
#περιλαμβάνω
LCD5110 LCD (8, 9, 10, 11, 12). // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // περιγράψτε τις γραμματοσειρές εξωτερικά uint8_t MediumNumbers ; extern uint8_t arac ; // περιγράψτε το σχήμα μας εξωτερικά uint8_t dusman_araci ; // περιγραφή σχήματος εχθρού const int xpin = A0; // joystick x pin char pozisyon = 2; // περιγράψτε την τοποθεσία, τη θέση έναρξης του σχήματός μας 2 boolean kontrol = true; boolean dusmanOldu = αλήθεια; int skor = 0; int hiz = 0; int dusmanKonumu1; // περιγράψτε τον εχθρό1 x θέση int dusmanKonumu2; // περιγράψτε τον εχθρό2x θέση int dusmaninYdeKonumu; // περιγράψτε την τοποθεσία των εχθρών
void dusmanAraci (int yer, int asama) {// ορίστε τοποθεσίες για σχήματα εχθρού
if (yer == 1) {// if location = 1? lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // σχεδιάστε σχήμα εχθρού} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// αν αποτύχουμε, το παιχνίδι τελείωσε
ενώ (1) {καθυστέρηση (100)? // περιμένετε 1 χιλιοστό δευτερολέπτου lcd.clrScr (); // καθαρίστε την οθόνη lcd.setFont (SmallFont); // καθορισμός γραμματοσειράς lcd.print ("GAME OVER", CENTER, 20); // εκτύπωση lcd.update (); // ενημέρωση της οθόνης}}
void setup () {pinMode (BL, OUTPUT); // ρύθμιση πίσω φωτός Έξοδος lcd. InitLCD (); // προετοιμάστε την οθόνη LCD lcd.setContrast (55); // ρύθμιση αντίθεσης (από 0 έως 127) Serial.begin (9600); // έναρξη σειριακής επικοινωνίας}
void loop () {
analogWrite (BL, 200);
// ρύθμιση οθόνης παιχνιδιού lcd.drawRect (0, 0, 47, 47); // σχεδιάζουμε ορθογώνιο lcd.setFont (SmallFont); // καθορισμός γραμματοσειράς lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumbers); // ορίστε γραμματοσειρά lcd.printNumI (skor, 59, 7); // λάβετε βαθμολογία lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // ταχύτητα εκτύπωσης lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // λάβετε ταχύτητα lcd.update (); //εκσυγχρονίζω
// ορίστε τη θέση του joyistick int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x κατάσταση> 600 και ο έλεγχος είναι αληθινός pozisyon ++? // αύξηση της τοποθεσίας σημαίνει μετακίνηση σχήματος προς τα δεξιά kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // για εκμάθηση της κατάστασης x // ορίστε τη θέση του σχήματός μας lcd.clrScr (); // καθαρίστε την οθόνη if (pozisyon == 1) {// if location = 1? lcd.drawBitmap (2, 37, arac, 12, 8);} // σχεδιάστε το πλοίο μας εάν (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
αν (θεση == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
εάν (dusmanOldu) {// εάν το σχήμα του εχθρού είναι νεκρό, ελέγξτε αν είναι νεκρά
dusmanKonumu1 = pozisyon; // σχεδίασε το πρώτο σχήμα του εχθρού dusmanKonumu2 = τυχαίο (0, 4); // σχεδιάστε άλλο σχήμα εχθρού κάπου dusmaninYdeKonumu = 0; // φέρτε εχθρό από την κορυφή dusmanOldu = false;} // ο εχθρός αναδημιουργείται έτσι ώστε να μην είναι νεκροί dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // σχεδιάστε το πρώτο σχήμα του εχθρού και πάρτε το από πάνω προς τα κάτω dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu). dusmaninYdeKonumu ++; // σχεδιάστε το δεύτερο σχήμα του εχθρού και πάρτε το από πάνω προς τα κάτω εάν (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// εάν το σχήμα μας αγγίξει τον εχθρό σχηματίζει oyunBitti ();} // το παιχνίδι τελείωσε αν (dusmaninYdeKonumu> 40) {// αν το σχήμα μας ξεφύγει από τους εχθρούς dusmanOldu = true; // σκοτώστε τα σχήματα του εχθρού skor ++;} // αυξήστε ένα προς ένα το σκορ // αυξήστε την ταχύτητα ανάλογα με τη βαθμολογία εάν (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; καθυστέρηση (40)? }}
Βήμα 4: ΚΩΔΙΚΟΣ BITMAP
Επιπλέον, πρέπει να συμπεριλάβετε γραφικά bitmap για σχήματα. Πρέπει να είναι αρχείο.c και το ίδιο όνομα με κωδικό όνομα. Επίσης, πρέπει να βρίσκεται στο ίδιο αρχείο.
// ---------------------------------------------------- ------------------------------ // Αρχείο που δημιουργήθηκε από το LCD Assistant // https://en.radzio.dxp.pl /bitmap_converter/// ------------------------------------------------- --------------------------------- #Include // include για λειτουργία progmem
const unsigned char arac PROGMEM = {// το bitmap του σχήματός μας
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// bitmap του εχθρικού πλοίου
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Βήμα 5: ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΗΝ ΠΡΟΒΟΛΗ
Πριν ı αρχίσω να μοιράζομαι τα έργα μου, κωδικοποιούμαι σε τουρκικές λέξεις, οπότε δεν μπορούσα να βρω κάθε λέξη στα αγγλικά. Εδώ οι λέξεις μετάφραση που χρησιμοποιούν αυτό το έργο, Oyun = Παιχνίδι
Αράκ = Σχήμα
Dusman = Εχθρός
έλεγχος = έλεγχος
Konum, Yer = Τοποθεσία
Oyun Bitti = Το παιχνίδι τελείωσε
Σκορ = Βαθμολογία
Hiz = Ταχύτητα
Συνιστάται:
Arduino Volt Meter (0-100V DC) - Έκδοση 2 (καλύτερη): 3 βήματα
Arduino Volt Meter (0-100V DC)-Έκδοση 2 (καλύτερη): Σε αυτό το διδακτικό, έχω κατασκευάσει ένα βολτόμετρο για τη μέτρηση υψηλών τάσεων DC (0-100v) με σχετική ακρίβεια και ακρίβεια χρησιμοποιώντας Arduino Nano και ADS 1115 ADC .Αυτή είναι μια δεύτερη έκδοση του βολτόμετρου που χρησιμοποιήθηκε εδώ για προηγούμενες οδηγίες: https: // ww
ARDUINO SOLAR CHARGE CONTROLLER (Έκδοση 2.0): 26 βήματα (με εικόνες)
ARDUINO SOLAR CHARGE CONTROLLER (Έκδοση 2.0): [Αναπαραγωγή βίντεο] Πριν από ένα χρόνο, άρχισα να χτίζω το δικό μου ηλιακό σύστημα για να παρέχω ενέργεια στο σπίτι του χωριού μου. Αρχικά, έφτιαξα έναν ελεγκτή φόρτισης με βάση LM317 και έναν μετρητή ενέργειας για την παρακολούθηση του συστήματος. Τέλος, έφτιαξα έναν ελεγκτή φόρτισης PWM. Στην Άπρι
Space Race Game Έκδοση 2: 5 Βήματα
Space Race Game Έκδοση 2: Γεια σε όλους. Πριν από αυτήν την έκδοση παιχνιδιού, ο ı δημοσίευσε την πρώτη έκδοση του παιχνιδιού. Σήμερα, το ı θα σας δείξει το Space Race Game έκδοση 2. Ας δούμε βήματα
ARDUINO SOLAR CHARGE CONTROLLER (Έκδοση-1): 11 βήματα (με εικόνες)
ARDUINO SOLAR CHARGE CONTROLLER (Έκδοση-1): [Αναπαραγωγή βίντεο] Σε προηγούμενες οδηγίες μου περιέγραψα τις λεπτομέρειες της ενεργειακής παρακολούθησης ενός ηλιακού συστήματος εκτός δικτύου. Έχω κερδίσει επίσης τον διαγωνισμό κυκλωμάτων 123D για αυτό. Μπορείτε να δείτε αυτό το ARDUINO ENERGY METER .Τελικά δημοσιεύω τη νέα μου χρέωση έκδοσης-3
Μπαταρία Arduino Έκδοση 0.1V: 3 Βήματα
Arduino Battery Pack Έκδοση 0.1V: Αυτό είναι το πρώτο μου arduino Instructable. Εδώ θα χρησιμοποιήσω μια επαναφορτιζόμενη μπαταρία ασύρματων τηλεφώνων για να τροφοδοτήσω ένα Boarduino (κλώνος arduino). Η μπαταρία τους είναι 3,6V στα 600mAh. Απίστευτα τροφοδοτούσε πολύ το arduino