Съдържание:
- Стъпка 1: Изисквания към хардуера и софтуера
- Стъпка 2: Променете UTFT Lib
- Стъпка 3: Инициализиране на TFT щита
- Стъпка 4: Основен Hello World
- Стъпка 5: UTFT шрифтове
- Стъпка 6: UTFT фигури, линии и модел
- Стъпка 7: UTFT растерно изображение
- Стъпка 8: Свързване с бутони
- Стъпка 9: Flappy Bird
- Стъпка 10: Работа по проекта
Видео: Основи на Arduino TFT интерфейс: 10 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
TFT сензорните екрани са невероятният графичен интерфейс, който може да се използва с микроконтролери като Atmel, PIC, STM, тъй като има широка цветова гама, добра графична способност и добро картографиране на пиксели.
Днес отиваме към интерфейс 2.4 инчов TFT LCD щит с Arduino.
Този щит е за Arduino UNO, но ще науча как да го използвам с Arduino Mega по много логична причина, "Паметта на програмата".
Използвайки този цветен TFT LCD екран, можем да показваме знаци, низове, интерфейс на бутони, растерни изображения и т.н. на цветния TFT LCD.
Стъпка 1: Изисквания към хардуера и софтуера
За да направим интерфейса на щита с мега Arduino, се нуждаем от следното.
Хардуер:
• Arduino мега
• TFT 2.4/2.8/3.2 инчов LCD
• USB кабел
СОФТУЕР
• IDE на Arduino
• Библиотека UTFT / библиотека spfd5408
Щитът първоначално е направен за дъските на Arduino UNO, които могат да се използват с мега Arduino.
Има два основни проблема, докато го използвате с Arduino UNO: „Памет за съхранение“и използване на щифтове.
Трудно е да се използват неизползваните щифтове, които се предлагат в UNO, докато е по -добре с Arduino MEGA, тъй като имаме останали още I/O пинове.
В следващата стъпка ще покажа как да редактирате UTFT библиотеката, за да използвате TFT щита
Стъпка 2: Променете UTFT Lib
Тази библиотека е продължение на моите библиотеки ITDB02_Graph, ITDB02_Graph16 и RGB_GLCD за Arduino и chipKit. Тъй като броят на поддържаните дисплейни модули и контролери започна да се увеличава, почувствах, че е време да направя една, универсална библиотека, тъй като ще бъде много по -лесно да се поддържа в бъдеще.
Arduino MEGA има 256kb памет на програмата. Освен това има 54 пина.
Повечето от тях са безплатни за използване, а аналоговите само 5 са взети от 16.
Тази библиотека поддържа редица 8 -битови, 16 -битови и серийни графични дисплеи и ще работи както с дъски Arduino, chipKit, така и с избрани TI LaunchPads.
ЗАБЕЛЕЖКА: Поради размера на библиотеката не препоръчвам да я използвате на ATmega328 (Arduino Uno) и ATmega32U4 (Arduino Leonardo), тъй като те имат само 32KB флаш памет. Тя ще работи, но ще бъдете силно ограничени в наличната флаш памет за вашето приложение
Стъпки
- Изтеглете библиотеката UTFT
- Разархивирайте библиотеката
- Отворете UTFT / hardware / avr в случай на Arduino или в зависимост от използвания микроконтролер
- Отворете HW_AVR_defines с помощта на Notepad
- Декомментирайте ред 7, за да активирате UNO щит за MEGA
- Запазете файла и добавете тази библиотека към Arduino IDE
Сега приключихме с тази стъпка! В следващата стъпка ще покажа да използвам библиотеката и да дефинирам щифтовете за Arduino Mega.
Стъпка 3: Инициализиране на TFT щита
След като редактирате библиотеката, добавете я в директорията Arduino.
След това ще ви покажа как да дефинирате правилния TFT модул, който имате
трябва да намерим името на модула му в библиотеката.
- отворете файла на библиотеката
- отидете на документацията
Можете да видите тези файлове в документацията
• UTFT:
Този файл показва всички функции и команди, включени в тази библиотека.
• UTFT_Изискване
Този файл съдържа информация за модулите и как е свързан с библиотеката, като конфигурации на щифтове
• UTFT_Supported_display_modules _ & _ контролер
Това е нашата цел, този файл има имената на модулите и щитовете, които се поддържат от тази библиотека, можете да видите в него списък с имена на модули и имена на модули за UTFT, които трябва да използвате за дефиниране на вашия модул.
Стъпки за определяне на TFT:
Отворете UTFT_Supported_display_modules _ & _ контролер файл от библиотеката
- Отворете UTFT_Supported_display_modules _ & _ контролер файл от библиотеката
- Намерете моделите за UTFT за модулите (щит), които имате.
- Сега, за да дефинираме UTFT функция в Arduino IDE, използваме командата:
UTFT име (модул, Rs, Wr, Cs, Rst);
Отворете UTFT_Requirement файл от библиотеката
От документа знаем, че щифтовете са разположени върху щифтовете A5, A4, A3 и A2.
използваме командата:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # забележете, че щифтове 19, 18, 17, 16 в Arduino Mega
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # забележете, че щифтове A5, A4, A3, A2 в Arduino UNO
И готово! Сега можете да използвате примери за библиотека в IDE на Arduino със следните промени.
Стъпка 4: Основен Hello World
#include // Декларирайте кои шрифтове ще използваме
extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Не забравяйте да промените параметъра на модела, така че да отговаря на вашия модул на дисплея! UTFT myGLCD (ITDB28, A5, A4, A3, A2); void setup () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // зелен myGLCD.print ("HELLO WORLD", 45, 100); while (вярно) {}; }
Стъпка 5: UTFT шрифтове
#include // Декларирайте кои шрифтове ще използваме
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Задайте щифтовете на правилните за вашия щит за развитие // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // стандартен Arduino Uno/2009 щит:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT щит:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // стандартен Arduino Mega/Due щит:, 38, 39, 40, 41 // CTE TFT LCD/SD щит за Arduino Mega:, 38, 39, 40, 41 // // Не забравяйте да промените параметъра на модела, за да отговаря на вашия дисплей модул! 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 ", ЦЕНТЪР, 32); myGLCD.print (" PQRSTUVWXYZ ^_ ", ЦЕНТЪР, 48); myGLCD.print (" `abcdefghijklmno", ЦЕНТЪР, 64); myGLCD.print ("pqrstuvwxyz ~ ", CENTER, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTER, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", ЦЕНТЪР, 132); myGLCD.print ("` abcdefghijklmnopqrstuvwxyz {|} ~ ", ЦЕНТЪР, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", ЦЕНТЪР, 190); while (1) {}; }
Стъпка 6: UTFT фигури, линии и модел
#include "UTFT.h" // Декларирайте кои шрифтове ще използвамеextern uint8_t SmallFont ; // Задайте щифтовете на правилните за вашия щит за развитие // -------------- ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // стандартен Arduino Uno/ 2009 щит:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT щит:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standard Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD щит за Arduino Mega:, 38, 39, 40, 41 // // Не забравяйте да промените параметрите на модела, за да отговарят на вашия модул на дисплея! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {randomSeed (analogRead (0)); // Настройка на LCD myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }
void loop ()
{int buf [318]; int x, x2; int y, y2; int r; // Изчистете екрана и нарисувайте рамката 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 (" * Универсална цветна TFT дисплейна библиотека *", ЦЕНТЪР, 1); myGLCD.setBackColor (64, 64, 64); myGLCD.setColor (255, 255, 0); myGLCD.print ("", ЦЕНТЪР, 227); myGLCD.setColor (0, 0, 255); myGLCD.drawRect (0, 14, 319, 225); // Начертайте прицел myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); for (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); // Начертайте sin-, cos- и tan-линии myGLCD.setColor (0, 255, 255); myGLCD.print ("Грех", 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 ("Tan", 5, 39); for (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan (((i*1,13)*3,14)/180))); } забавяне (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); // Начертайте движеща се синусоида x = 1; for (int i = 1; i319) {if ((x == 159) || (buf [x-1] == 119)) myGLCD.setColor (0, 0, 255); иначе 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; } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте някои запълнени правоъгълници за (int i = 1; i <6; i ++) {switch (i) {случай 1: myGLCD.setColor (255, 0, 255); прекъсване; случай 2: myGLCD.setColor (255, 0, 0); прекъсване; случай 3: myGLCD.setColor (0, 255, 0); прекъсване; случай 4: myGLCD.setColor (0, 0, 255); прекъсване; случай 5: myGLCD.setColor (255, 255, 0); прекъсване; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте някои запълнени, заоблени правоъгълници за (int i = 1; i <6; i ++) {switch (i) {случай 1: myGLCD.setColor (255, 0, 255); прекъсване; случай 2: myGLCD.setColor (255, 0, 0); прекъсване; случай 3: myGLCD.setColor (0, 255, 0); прекъсване; случай 4: myGLCD.setColor (0, 0, 255); прекъсване; случай 5: myGLCD.setColor (255, 255, 0); прекъсване; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте няколко запълнени кръга за (int i = 1; i <6; i ++) {switch (i) {случай 1: myGLCD.setColor (255, 0, 255); прекъсване; случай 2: myGLCD.setColor (255, 0, 0); прекъсване; случай 3: myGLCD.setColor (0, 255, 0); прекъсване; случай 4: myGLCD.setColor (0, 0, 255); прекъсване; случай 5: myGLCD.setColor (255, 255, 0); прекъсване; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте някои линии в модел myGLCD.setColor (255, 0, 0); за (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1.44) -10, 224); } myGLCD.setColor (255, 0, 0); за (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1.44) -11, 15); } myGLCD.setColor (0, 255, 255); за (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1.44), 15); } myGLCD.setColor (0, 255, 255); за (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1,44), 224); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте някои случайни кръгове за (int i = 0; i <100; i ++) {myGLCD.setColor (произволен (255), случаен (255), случаен (255)); x = 32+случайно (256); y = 45+случайно (146); r = случаен (30); myGLCD.drawCircle (x, y, r); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте произволни правоъгълници за (int i = 0; i <100; i ++) {myGLCD.setColor (произволен (255), случаен (255), случаен (255)); x = 2+случайно (316); y = 16+случайно (207); x2 = 2+случайно (316); y2 = 16+случайно (207); myGLCD.drawRect (x, y, x2, y2); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Начертайте произволни закръглени правоъгълници за (int i = 0; i <100; i ++) {myGLCD.setColor (произволен (255), случаен (255), случаен (255)); x = 2+случайно (316); y = 16+случайно (207); x2 = 2+случайно (316); y2 = 16+случайно (207); myGLCD.drawRoundRect (x, y, x2, y2); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); за (int i = 0; i <100; i ++) {myGLCD.setColor (случаен (255), случаен (255), случаен (255)); x = 2+случайно (316); y = 16+случайно (209); x2 = 2+случайно (316); y2 = 16+случайно (209); myGLCD.drawLine (x, y, x2, y2); } забавяне (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); за (int i = 0; i <10000; i ++) {myGLCD.setColor (случаен (255), случаен (255), случаен (255)); myGLCD.drawPixel (2+случаен (316), 16+случаен (209)); } забавяне (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 ("Това е!", ЦЕНТЪР, 93); myGLCD.print ("Рестартиране в a", ЦЕНТЪР, 119); myGLCD.print ("няколко секунди …", ЦЕНТЪР, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Време на изпълнение: (msecs)", ЦЕНТЪР, 210); myGLCD.printNumI (millis (), ЦЕНТЪР, 225); забавяне (10000); }
Стъпка 7: UTFT растерно изображение
#включва
#include // Декларирайте кои шрифтове ще използваме extern uint8_t SmallFont ; // Задайте щифтовете на правилните за вашия щит за развитие // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // стандартен Arduino Uno/ 2009 щит:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT щит:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standard Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD щит за Arduino Mega:, 38, 39, 40, 41 // // Не забравяйте да промените параметъра на модела, за да отговаря на вашия модул на дисплея! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); външна неподписана int информация [0x400]; външна икона без знак int [0x400]; extern без знаци int tux [0x400]; void setup () {myGLCD. InitLCD (); myGLCD.setFont (SmallFont); } void loop () {myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("*** A 10 на 7 решетка на икона 32x32 ***", ЦЕНТЪР, 228); for (int x = 0; x <10; x ++) for (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); забавяне (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("Две различни икони в мащаб от 1 до 4", ЦЕНТЪР, 228); int x = 0; for (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, икона, s); x+= (s*32); } забавяне (5000); }
Стъпка 8: Свързване с бутони
#include #include // Инициализиране на дисплея // ------------------ // Задайте щифтовете на правилните за вашата платка за разработка // ------- -------------------------------------------------- - // стандартен Arduino Uno/2009 щит:, 19, 18, 17, 16 // стандартен Arduino Mega/Due щит:, 38, 39, 40, 41 // CTE TFT LCD/SD щит за Arduino Due:, 25, 26, 27, 28 // Teensy 3.x TFT Test Board:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD щит за Arduino Due:, 22, 23, 31, 33 // // Не забравяйте да променете параметъра на модела, за да отговаря на вашия дисплей модул! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Инициализиране на сензорен екран // ---------------------- // Настройте щифтовете на правилните такива за вашия съвет за развитие // ------------------------------------------- ---------------- // стандартен Arduino Uno/2009 щит: 15, 10, 14, 9, 8 // стандартен Arduino Mega/Due щит: 6, 5, 4, 3, 2 // CTE TFT LCD/SD щит за Arduino Поради: 6, 5, 4, 3, 2 // Teensy 3.x TFT тестова платка: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD щит за Arduino Due: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Обявете кои шрифтове ще използваме extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Персонализирани функции ** ********* ****************/void drawButtons () {// Начертайте горния ред бутони за (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); } // Начертайте централния ред от бутони за (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); // Начертайте долния ред бутони myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("Изчистване", 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 ("Enter", 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) {for (x = 0; x
Стъпка 9: Flappy Bird
#include #include #include // ==== Създаване на обекти UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Параметрите трябва да се адаптират към вашия модел Display/Schield UTouch myTouch (6, 5, 4, 3, 2); // ==== Дефиниране на шрифтове extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern без подпис int bird01 [0x41A]; // Растрово изображение на птици x, y; // Променливи за координатите, където е натиснат дисплеят // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int резултат = 0; int lastSpeedUpScore = 0; int mostScore; boolean screenPressed = false; boolean gameStarted = false; void setup () {// Иницииране на показване myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); mostScore = EEPROM.прочетено (0); // Прочетете най -високия резултат от EEPROM InitiateGame (); // Иницииране на играта} void loop () {xP = xP-movingRate; // xP - x координата на стълбовете; диапазон: 319 - (-51) drawPilars (xP, yP); // Изчертава стълбовете // yB - y координата на птицата, която зависи от стойността на променливата fallRate yB+= fallRateInt; fallRate = fallRate+0.4; // Всяка итерация увеличава скоростта на падане, така че да можем да постигнем ефекта от ускорението/ гравитацията fallRateInt = int (fallRate); // Проверява за сблъсък if (yB> = 180 || yB <= 0) {// отгоре и отдолу gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// gameOver () на горния стълб } if ((xP = 5) && (yB> = yP+60)) {// gameOver () на долния стълб; } // Изчертава птицата drawBird (yB); // След като стълбът е преминал през екрана if (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); } иначе if (x mostScore) {mostScore = резултат; EEPROM.write (0, най -висок резултат); } // Нулира променливите до стойности на начална позиция xP = 319; yB = 50; fallRate = 0; резултат = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Рестартиране на играта initiateGame (); }
Стъпка 10: Работа по проекта
Можете да намерите изходния код в моето хранилище на Github.
Връзка:
Стискайте палци нагоре, ако наистина ви е помогнало и следете канала ми за интересни проекти:)
Споделете това видео, ако искате.
Радвам се, че сте се абонирали:
Благодаря за четенето!
Препоръчано:
Компоненти за спояване на повърхностен монтаж - Основи на запояване: 9 стъпки (със снимки)
Компоненти за спояване на повърхностен монтаж | Основи на запояване: Досега в моята серия Основи на запояване съм обсъждал достатъчно основи за запояване, за да започнете да практикувате. В тази инструкция това, което ще обсъждам, е малко по -напреднало, но това са някои от основите за запояване на Surface Mount Compo
Запояване чрез компоненти на отвори - Основи на запояване: 8 стъпки (със снимки)
Запояване чрез компоненти на отвори | Основи на запояване: В тази инструкция ще обсъдя някои основи за запояване на компоненти през отвори към платки. Предполагам, че вече сте проверили първите 2 инструкции за моята серия Основи на запояване. Ако не сте проверили моя In
Разпаяване - Основи на запояване: 8 стъпки (със снимки)
Разпаяване | Основи на запояване: Понякога, когато запоявате, просто трябва да премахнете някои части. Ще покажа няколко метода за премахване на части, които са запоени към платка. За всеки от тези методи частта, която се опитвате да премахнете, ще се нагрее, така че бъдете внимателни
Използване на Perfboard - Основи на запояване: 14 стъпки (със снимки)
Използване на Perfboard | Основи на запояване: Ако изграждате схема, но нямате проектирана платка за нея, използването на перфборд е добър вариант. Perfboards се наричат още перфорирани платки, прототипиращи платки и печатни платки с точки. По принцип това е куп медни подложки на кръг
Как да използвате пиезо за производство на тон: Основи: 4 стъпки (със снимки)
Как да използваме пиезо за производство на тон: Основи: Здравейте на всички, В тази инструкция ще използваме пиезо зумер за генериране на тон. Какво е пиезо зумер? Пиезото е електронно устройство, което може да се използва както за създаване, така и за откриване на звук. Приложения: Можете да използвате една и съща схема за възпроизвеждане