Daftar Isi:
- Langkah 1: Persyaratan Perangkat Keras dan Perangkat Lunak
- Langkah 2: Tweak UTFT Lib
- Langkah 3: Inisialisasi TFT Shield
- Langkah 4: Dasar Halo Dunia
- Langkah 5: Font UTFT
- Langkah 6: Bentuk, Garis, dan Pola UTFT
- Langkah 7: Bitmap UTFT
- Langkah 8: Antarmuka Tombol
- Langkah 9: Flappy Bird
- Langkah 10: Pengerjaan Proyek
Video: Dasar-dasar Antarmuka Arduino TFT: 10 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Layar sentuh TFT adalah antarmuka grafis luar biasa yang dapat digunakan dengan mikrokontroler seperti Atmel, PIC, STM, karena memiliki rentang warna yang luas, dan kemampuan grafis yang baik serta pemetaan piksel yang baik.
Hari ini, kita akan menghubungkan Perisai LCD TFT 2,4 inci dengan Arduino.
Perisai ini untuk Arduino UNO, tetapi saya akan mengajarkan cara menggunakannya dengan Arduino Mega untuk alasan yang sangat logis, "Memori Program".
Dengan menggunakan pelindung LCD TFT warna ini kita dapat menampilkan karakter, string, antarmuka tombol, gambar bitmap, dll pada LCD TFT berwarna.
Langkah 1: Persyaratan Perangkat Keras dan Perangkat Lunak
Untuk membuat antarmuka perisai dengan mega Arduino, kita membutuhkan yang berikut ini.
PERANGKAT KERAS:
• Arduino mega
• TFT 2.4/2.8/3.2 inci LCD
• Kabel USB
PERANGKAT LUNAK
• Arduino IDE
• Perpustakaan UTFT / Perpustakaan spfd5408
Shield awalnya dibuat untuk papan Arduino UNO, yang dapat digunakan dengan Arduino mega.
Ada dua masalah utama saat menggunakannya dengan Arduino UNO: "Memori penyimpanan" dan penggunaan pin.
Sulit untuk menggunakan pin yang tidak terpakai yang tersedia di UNO, sedangkan lebih baik dengan Arduino MEGA karena kita memiliki lebih banyak pin I/O yang tersisa.
Pada langkah selanjutnya, saya akan menunjukkan cara mengedit perpustakaan UTFT untuk menggunakan perisai TFT
Langkah 2: Tweak UTFT Lib
Pustaka ini merupakan kelanjutan dari pustaka ITDB02_Graph, ITDB02_Graph16 dan RGB_GLCD saya untuk Arduino dan chipKit. Karena jumlah modul tampilan dan pengontrol yang didukung mulai meningkat, saya merasa sudah waktunya untuk membuat satu perpustakaan universal karena akan lebih mudah untuk dipelihara di masa depan.
Arduino MEGA memiliki memori program 256kb. Selain itu, ada 54 pin.
Kebanyakan dari mereka gratis untuk digunakan, dan analognya hanya 5 yang diambil dari 16.
Pustaka ini mendukung sejumlah tampilan grafis 8bit, 16bit, dan serial, dan akan bekerja dengan Arduino, papan chipKit, dan TI LaunchPads tertentu.
CATATAN: Karena ukuran perpustakaan, saya tidak menyarankan menggunakannya pada ATmega328 (Arduino Uno) dan ATmega32U4 (Arduino Leonardo) karena mereka hanya memiliki memori flash 32KB. Ini akan berhasil, tetapi Anda akan sangat terbatas pada memori flash yang tersedia untuk aplikasi Anda
Langkah
- Unduh Perpustakaan UTFT
- Buka ritsleting Perpustakaan
- Buka UTFT\hardware\avr dalam kasus Arduino atau tergantung pada mikrokontroler yang digunakan
- Buka HW_AVR_defines menggunakan Notepad
- Batalkan Komentar Baris 7 untuk mengaktifkan perisai UNO untuk MEGA
- Simpan file dan Tambahkan Perpustakaan ini ke Arduino IDE
Sekarang kita selesai dengan langkah ini! Pada langkah selanjutnya, saya akan menunjukkan untuk menggunakan perpustakaan dan menentukan pin untuk Arduino Mega.
Langkah 3: Inisialisasi TFT Shield
Setelah mengedit perpustakaan, Tambahkan ke direktori Arduino.
Selanjutnya, saya akan menunjukkan cara menentukan modul TFT yang tepat yang Anda miliki
kita harus menemukan nama modulnya di perpustakaan.
- buka file perpustakaan
- pergi ke dokumentasi
Anda dapat melihat file-file ini di Dokumentasi
• UTFT:
File ini menunjukkan semua fungsi dan perintah yang disertakan dalam perpustakaan ini.
• UTFT_Persyaratan
File ini memiliki informasi tentang modul dan bagaimana itu terkait dengan perpustakaan, seperti konfigurasi pin
•UTFT_Supported_display_modules_&_controller
Ini adalah target kami, file ini memiliki nama modul dan perisai yang didukung oleh perpustakaan ini, Anda dapat melihat di dalamnya daftar nama modul dan nama modul untuk UTFT yang harus Anda gunakan untuk mendefinisikan modul Anda.
Langkah-langkah untuk Mendefinisikan TFT:
Buka file UTFT_Supported_display_modules_&_controller dari perpustakaan
- Buka file UTFT_Supported_display_modules_&_controller dari perpustakaan
- Temukan Model UTFT untuk Modul (perisai) yang Anda miliki.
- Sekarang untuk mendefinisikan fungsi UTFT pada Arduino IDE, kita menggunakan perintah:
nama UTFT(modul, Rs, Wr, Cs, Rst);
Buka file UTFT_Requirement dari perpustakaan
Dari dokumen tersebut, kita mengetahui bahwa pin terletak pada pin A5, A4, A3, dan A2.
kita menggunakan perintah:
UTFT myGLCD(ITDB28, 19, 18, 17, 16); # perhatikan bahwa pin 19, 18, 17, 16 di Arduino Mega
UTFT myGLCD(ITDB28, A5, A4, A3, A2); # perhatikan bahwa pin A5, A4, A3, A2 di Arduino UNO
Dan selesai! Sekarang Anda dapat menggunakan contoh perpustakaan pada Arduino IDE dengan perubahan berikut.
Langkah 4: Dasar Halo Dunia
#include // Menyatakan font mana yang akan kita gunakan
extern uint8_t BigFont; extern uint8_t SevenSegNumFont; // Ingatlah untuk mengubah parameter model agar sesuai dengan modul tampilan Anda! UTFT myGLCD(ITDB28, A5, A4, A3, A2); void setup() { myGLCD. InitLCD(); myGLCD.clrScr(); myGLCD.setFont(BigFont); } void loop() { myGLCD.setColor(0, 255, 0); //hijau myGLCD.print("HALO DUNIA", 45, 100); while (benar) {}; }
Langkah 5: Font UTFT
#include // Menyatakan font mana yang akan kita gunakan
extern uint8_t SmallFont; extern uint8_t BigFont; extern uint8_t SevenSegNumFont; // Setel pin ke pin yang benar untuk perisai pengembangan Anda // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Standar Arduino Uno/2009 shield:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT shield:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // Standar Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield untuk Arduino Mega:, 38, 39, 40, 41 // // Ingatlah untuk mengubah parameter model agar sesuai dengan modul tampilan Anda! UTFT myGLCD(ITDB32S, 38, 39, 40, 41); void setup() { myGLCD. InitLCD() myGLCD.clrScr(); } void loop() { myGLCD.setColor(0, 255, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.setFont(BigFont); myGLCD.print(" !\"#$%&'()*+, -./", CENTER, 0); myGLCD.print("0123456789:;?", CENTER, 16); myGLCD.print("@ ABCDEFGHIJKLMNO", CENTER, 32); myGLCD.print("PQRSTUVWXYZ^_", CENTER, 48); myGLCD.print("`abcdefghijklmno", CENTER, 64); myGLCD.print("pqrstuvwxyz{|} ~ ", CENTER, 80); myGLCD.setFont(SmallFont); myGLCD.print(" !\"#$%&'()*+, -./0123456789:;?", CENTER, 120); myGLCD.print("@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_", CENTER, 132); myGLCD.print("`abcdefghijklmnopqrstuvwxyz{|}~ ", TENGAH, 144); myGLCD.setFont(SevenSegNumFont); myGLCD.print("0123456789", TENGAH, 190); while(1) {}; }
Langkah 6: Bentuk, Garis, dan Pola UTFT
#include "UTFT.h"// Deklarasikan font mana yang akan kita gunakan extern uint8_t SmallFont;// Setel pin ke pin yang benar untuk perisai pengembangan Anda // -------------- ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Standar Arduino Uno/2009 shield:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT shield:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standar Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield untuk Arduino Mega:, 38, 39, 40, 41 // // Ingatlah untuk mengubah parameter model agar sesuai dengan modul tampilan Anda! UTFT myGLCD(ITDB32S, 38, 39, 40, 41);void setup() { randomSeed(analogRead(0)); // Atur LCD myGLCD. InitLCD(); myGLCD.setFont(SmallFont); }
lingkaran kosong()
{ int buf[318]; intx,x2; int y, y2; int r;// Kosongkan layar dan gambar bingkai myGLCD.clrScr(); myGLCD.setColor(255, 0, 0); myGLCD.fillRect(0, 0, 319, 13); myGLCD.setColor(64, 64, 64); myGLCD.fillRect(0, 226, 319, 239); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.print("* Perpustakaan Tampilan TFT Warna Universal *", CENTER, 1); myGLCD.setBackColor(64, 64, 64); myGLCD.setColor(255, 255, 0); myGLCD.print("", TENGAH, 227); myGLCD.setColor(0, 0, 255); myGLCD.drawRect(0, 14, 319, 225);// Menggambar garis bidik myGLCD.setColor(0, 0, 255); myGLCD.setBackColor(0, 0, 0); myGLCD.drawLine(159, 15, 159, 224); myGLCD.drawLine(1, 119, 318, 119); untuk (int i=9; i<310; i+=10) myGLCD.drawLine(i, 117, i, 121); for (int i=19; i<220; i+=10) myGLCD.drawLine(157, i, 161, i);// Menggambar sin-, cos- dan tan-lines myGLCD.setColor(0, 255, 255); myGLCD.print("Dosa", 5, 15); for (int i=1; i<318; i++) { myGLCD.drawPixel(i, 119+(sin(((i*1.13)*3.14)/180)*95)); } myGLCD.setColor(255, 0, 0); myGLCD.print("Cos", 5, 27); for (int i=1; i<318; i++) { myGLCD.drawPixel(i, 119+(cos(((i*1.13)*3.14)/180)*95)); } myGLCD.setColor(255, 255, 0); myGLCD.print("Kuning", 5, 39); for (int i=1; i<318; i++) { myGLCD.drawPixel(i, 119+(tan(((i*1.13)*3.14)/180))); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224); myGLCD.setColor(0, 0, 255); myGLCD.setBackColor(0, 0, 0); myGLCD.drawLine(159, 15, 159, 224); myGLCD.drawLine(1, 119, 318, 119);// Menggambar gelombang sinus bergerak x=1; for (int i=1; i319) { if ((x==159)||(buf[x-1]==119)) myGLCD.setColor(0, 0, 255); else myGLCD.setColor(0, 0, 0); myGLCD.drawPixel(x, buf[x-1]); } myGLCD.setColor(0, 255, 255); y=119+(sin(((i*1.1)*3.14)/180)*(90-(i / 100))); myGLCD.drawPixel(x,y); buf[x-1]=y; } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambarlah beberapa persegi panjang yang diisi untuk (int i=1; i<6; i++) { switch (i) { case 1: myGLCD.setColor(255, 0, 255); merusak; kasus 2: myGLCD.setColor(255, 0, 0); merusak; kasus 3: myGLCD.setColor(0, 255, 0); merusak; kasus 4: myGLCD.setColor(0, 0, 255); merusak; kasus 5: myGLCD.setColor(255, 255, 0); merusak; } myGLCD.fillRect(70+(i*20), 30+(i*20), 130+(i*20), 90+(i*20)); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambarlah beberapa persegi panjang bulat yang diisi untuk (int i=1; i<6; i++) { switch (i) { case 1: myGLCD.setColor(255, 0, 255); merusak; kasus 2: myGLCD.setColor(255, 0, 0); merusak; kasus 3: myGLCD.setColor(0, 255, 0); merusak; kasus 4: myGLCD.setColor(0, 0, 255); merusak; kasus 5: myGLCD.setColor(255, 255, 0); merusak; } myGLCD.fillRoundRect(190-(i*20), 30+(i*20), 250-(i*20), 90+(i*20)); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambarlah beberapa lingkaran yang diisi untuk (int i=1; i<6; i++) { switch (i) { case 1: myGLCD.setColor(255, 0, 255); merusak; kasus 2: myGLCD.setColor(255, 0, 0); merusak; kasus 3: myGLCD.setColor(0, 255, 0); merusak; kasus 4: myGLCD.setColor(0, 0, 255); merusak; kasus 5: myGLCD.setColor(255, 255, 0); merusak; } myGLCD.fillCircle(100+(i*20), 60+(i*20), 30); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambar beberapa garis dalam pola myGLCD.setColor (255, 0, 0); for (int i=15; i<224; i+=5) { myGLCD.drawLine(1, i, (i*1.44)-10, 224); } myGLCD.setColor (255, 0, 0); for (int i=224; i>15; i-=5) { myGLCD.drawLine(318, i, (i*1.44)-11, 15); } myGLCD.setColor (0, 255, 255); for (int i=224; i>15; i-=5) { myGLCD.drawLine(1, i, 331-(i*1.44), 15); } myGLCD.setColor (0, 255, 255); for (int i=15; i<224; i+=5) { myGLCD.drawLine(318, i, 330-(i*1.44), 224); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambar beberapa lingkaran acak untuk (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255))); x=32+acak(256); y=45+acak(146); r=acak(30); myGLCD.drawCircle(x, y, r); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambarlah beberapa persegi panjang acak untuk (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255))); x=2+acak(316); y=16+acak(207); x2=2+acak(316); y2=16+acak (207); myGLCD.drawRect(x, y, x2, y2); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224);// Gambarlah beberapa persegi panjang bulat acak untuk (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255)); x=2+acak(316); y=16+acak(207); x2=2+acak(316); y2=16+acak (207); myGLCD.drawRoundRect(x, y, x2, y2); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224); for (int i=0; i<100; i++) { myGLCD.setColor(random(255), random(255), random(255)); x=2+acak(316); y=16+acak(209); x2=2+acak(316); y2=16+acak (209); myGLCD.drawLine(x, y, x2, y2); } penundaan(2000); myGLCD.setColor(0, 0, 0); myGLCD.fillRect(1, 15, 318, 224); for (int i=0; i<10000; i++) { myGLCD.setColor(random(255), random(255), random(255)); myGLCD.drawPixel(2+random(316), 16+random(209)); } penundaan(2000); myGLCD.fillScr(0, 0, 255); myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(80, 70, 239, 169); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.print("Itu dia!", CENTER, 93); myGLCD.print("Memulai ulang dalam", CENTER, 119); myGLCD.print("beberapa detik…", CENTER, 132); myGLCD.setColor(0, 255, 0); myGLCD.setBackColor(0, 0, 255); myGLCD.print("Waktu Proses: (mdtk)", PUSAT, 210); myGLCD.printNumI(milis(), CENTER, 225); penundaan (10000); }
Langkah 7: Bitmap UTFT
#termasuk
#include // Deklarasikan font mana yang akan kita gunakan extern uint8_t SmallFont;// Setel pin ke pin yang benar untuk perisai pengembangan Anda // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Standar Arduino Uno/2009 shield:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT shield:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standar Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield untuk Arduino Mega:, 38, 39, 40, 41 // // Ingatlah untuk mengubah parameter model agar sesuai dengan modul tampilan Anda! UTFT myGLCD(ITDB32S, A5, A4, A3, A2);extern unsigned int info[0x400]; ikon int unsigned extern[0x400]; extern unsigned int tux[0x400];void setup() { myGLCD. InitLCD(); myGLCD.setFont(SmallFont); }void loop() { myGLCD.fillScr(255, 255, 255); myGLCD.setColor(255, 255, 255); myGLCD.print(" *** Kotak 10 kali 7 dari ikon 32x32 *** ", CENTER, 228); for (int x=0; x<10; x++) for (int y=0; y<7; y++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); penundaan(5000); myGLCD.fillScr(255, 255, 255); myGLCD.setColor(255, 255, 255); myGLCD.print("Dua ikon berbeda dalam skala 1 sampai 4", CENTER, 228); int x=0; for (int s=0; s0; s--) { myGLCD.drawBitmap (x, 224-(s*32), 32, 32, icon, s); x+=(s*32); } penundaan(5000); }
Langkah 8: Antarmuka Tombol
#include #include // Inisialisasi tampilan// ------------------ // Setel pin ke pin yang benar untuk papan pengembangan Anda // ------- -------------------------------------------------- -- // Standard Arduino Uno/2009 Shield:, 19, 18, 17, 16 // Standard Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield untuk Arduino Due:, 25, 26, 27, 28 // Teensy 3.x TFT Test Board:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD Shield untuk Arduino Karena:, 22, 23, 31, 33 // // Ingatlah untuk ubah parameter model agar sesuai dengan modul tampilan Anda! UTFT myGLCD(ITDB32S, 38, 39, 40, 41);// Inisialisasi layar sentuh // ---------------------- // Setel pin ke yang benar yang untuk papan pengembangan Anda // ------------------------------------------- ---------------- // Standard Arduino Uno/2009 Shield: 15, 10, 14, 9, 8 // Standard Arduino Mega/Due shield: 6, 5, 4, 3, 2 // CTE TFT LCD/SD Shield untuk Arduino Due: 6, 5, 4, 3, 2 // Teensy 3.x TFT Test Board: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD Shield untuk Arduino Due: 25, 26, 27, 29, 30 // URTouch myTouch(6, 5, 4, 3, 2);// Deklarasikan font mana yang akan kita gunakan extern uint8_t BigFont;int x, y; char stCurrent[20]=""; int stCurrentLen=0; char stLast[20]="";/************************* ** Fungsi khusus ** ********* ****************/void drawButtons() { // Menggambar baris atas tombol untuk (x=0; x<5; x++) { myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10+(x*60), 10, 60+(x*60), 60); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (10+(x*60), 10, 60+(x*60), 60); myGLCD.printNumI(x+1, 27+(x*60), 27); } // Gambarkan baris tengah tombol untuk (x=0; x<5; x++) { myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10+(x*60), 70, 60+(x*60), 120); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (10+(x*60), 70, 60+(x*60), 120); if (x<4) myGLCD.printNumI(x+6, 27+(x*60), 87); } myGLCD.print("0", 267, 87); // Gambar baris bawah tombol myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print("Hapus", 40, 147); myGLCD.setColor(0, 0, 255); myGLCD.fillRoundRect (160, 130, 300, 180); myGLCD.setColor(255, 255, 255); myGLCD.drawRoundRect (160, 130, 300, 180); myGLCD.print("Masukkan", 190, 147); myGLCD.setBackColor (0, 0, 0); }void updateStr(int val) { if (stCurrentLen=10) && (y=10) && (x=70) && (x=130) && (x=190) && (x=250) && (x=70) && (y=10) && (x=70) && (x=130) && (x=190) && (x=250) && (x=130) && (y=10) && (x=160) && (x0) { untuk (x=0; x
Langkah 9: Flappy Bird
#include #include #include //==== Membuat Objek UTFT myGLCD(SSD1289, 38, 39, 40, 41); //Parameter harus disesuaikan dengan model Tampilan/Schield Anda UTouch myTouch(6, 5, 4, 3, 2);//==== Mendefinisikan Font extern uint8_t SmallFont; extern uint8_t BigFont; extern uint8_t SevenSegNumFont;ekstern unsigned int bird01[0x41A]; // Burung Bitmapint x, y; // Variabel untuk koordinat dimana tampilan telah ditekan// Floppy Bird int xP = 319; int yP = 100; int yB = 50; int Kecepatan Bergerak = 3; int fallRateInt = 0; float fallRate = 0; int skor = 0; int lastSpeedUpScore = 0; int Skor tertinggi; boolean screenPressed = false; boolean gameStarted = false;void setup() { // Memulai tampilan myGLCD. InitLCD(); myGLCD.clrScr(); myTouch. InitTouch(); myTouch.setPrecision(PREC_MEDIUM); nilai tertinggi = EEPROM.read(0); // Baca skor tertinggi dari EEPROM initialGame(); // Memulai permainan }void loop() { xP=xP-movingRate; // xP - x koordinat pilar; kisaran: 319 - (-51) drawPilars(xP, yP); // Menggambar pilar // yB - y koordinat burung yang bergantung pada nilai variabel fallRate yB+=fallRateInt; fallRate=kejatuhanRate+0.4; // Setiap inetrasi laju jatuh meningkat sehingga kita dapat efek percepatan/ gravitasi fallRateInt= int(fallRate); // Memeriksa tabrakan if(yB>=180 || yB<=0){ // atas dan bawah gameOver(); } if((xP=5) && (yB<=yP-2)){ // gameOver pilar atas(); } if((xP=5) && (yB>=yP+60)){ // menurunkan pilar gameOver(); } // Menggambar burung drawBird(yB); // Setelah pilar melewati layar jika (xPRESET=250) && (x=0) && (y=0) && (x=30) && (y=270){ myGLCD.setColor(0, 200, 20); myGLCD.fillRect(318, 0, x, y-1); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(319, 0, x-1, y); myGLCD.setColor(0, 200, 20); myGLCD.fillRect(318, y+81, x, 203); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(319, y+80, x-1, 204); } else if(x nilai tertinggi) { nilai tertinggi = nilai; EEPROM.write(0, nilai tertinggi); } // Mereset variabel untuk memulai nilai posisi xP=319; yB=50; fallRate=0; skor = 0; lastSpeedUpScore = 0; kecepatan bergerak = 3; gameStarted = salah; // Mulai ulang game inisiasiGame(); }
Langkah 10: Pengerjaan Proyek
Anda dapat menemukan kode sumber di repositori Github saya.
Tautan:
Berikan jempol jika itu benar-benar membantu Anda dan ikuti saluran saya untuk proyek-proyek menarik:)
Bagikan video ini jika Anda suka.
Senang Anda berlangganan:
Terima kasih sudah membaca!
Direkomendasikan:
Memulai Dengan Antarmuka Sensor I2C?? - Antarmuka MMA8451 Anda Menggunakan ESP32: 8 Langkah
Memulai Dengan Antarmuka Sensor I2C?? - Antarmuka MMA8451 Anda Menggunakan ESP32: Dalam tutorial ini, Anda akan mempelajari semua tentang Cara memulai, menghubungkan, dan membuat perangkat I2C (Akselerometer) bekerja dengan pengontrol (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Tutorial Antarmuka Sensor Kompas HMC5883L Dengan Arduino: 10 Langkah (dengan Gambar)
Tutorial Antarmuka Sensor Kompas HMC5883L Dengan Arduino: DeskripsiHMC5883L adalah kompas digital 3-sumbu yang digunakan untuk dua tujuan umum: untuk mengukur magnetisasi bahan magnetik seperti feromagnet, atau untuk mengukur kekuatan dan, dalam beberapa kasus, arah medan magnet di suatu titik di s
Antarmuka RFID MFRC522 Mudah Dengan Arduino Nano: 4 Langkah (dengan Gambar)
Antarmuka Mudah RFID MFRC522 Dengan Arduino Nano: Kontrol akses adalah mekanisme di bidang keamanan fisik dan keamanan informasi, untuk membatasi akses/entri anonim ke sumber daya suatu organisasi atau wilayah geografis. Tindakan mengakses dapat berarti mengkonsumsi, memasuki, atau menggunakan
Cara Antarmuka Modul GPS (NEO-6m) Dengan Arduino: 7 Langkah (dengan Gambar)
Cara Menghubungkan Modul GPS (NEO-6m) Dengan Arduino: Dalam proyek ini, saya telah menunjukkan cara menghubungkan modul GPS dengan Arduino UNO. Data bujur dan lintang ditampilkan pada LCD dan lokasi dapat dilihat pada aplikasi.Daftar materi Arduino Uno ==> $8 Ublox NEO-6m modul GPS ==> $15 16x
Gesture Hawk: Robot Pengontrol Gerakan Tangan Menggunakan Antarmuka Berbasis Pemrosesan Gambar: 13 Langkah (dengan Gambar)
Gesture Hawk: Robot Terkendali Gerakan Tangan Menggunakan Antarmuka Berbasis Pemrosesan Gambar: Gesture Hawk dipamerkan di TechEvince 4.0 sebagai antarmuka manusia-mesin berbasis pemrosesan gambar sederhana. Kegunaannya terletak pada kenyataan bahwa tidak ada sensor tambahan atau perangkat yang dapat dikenakan kecuali sarung tangan yang diperlukan untuk mengendalikan mobil robot yang berjalan di