Съдържание:

Основи на Arduino TFT интерфейс: 10 стъпки (със снимки)
Основи на Arduino TFT интерфейс: 10 стъпки (със снимки)

Видео: Основи на Arduino TFT интерфейс: 10 стъпки (със снимки)

Видео: Основи на Arduino TFT интерфейс: 10 стъпки (със снимки)
Видео: Уроки Arduino - управление сервомашинкой 2024, Ноември
Anonim
Основи на Arduino TFT взаимодействие
Основи на Arduino TFT взаимодействие

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

Промяна на UTFT Lib
Промяна на 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 щита

Инициализиране на TFT Shield
Инициализиране на TFT Shield

След като редактирате библиотеката, добавете я в директорията 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

Основен Hello World
Основен 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 шрифтове

UTFT шрифтове
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 фигури, линии и модел

UTFT фигури, линии и модел
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 растерно изображение

UTFT растерна карта
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

Flappy Bird
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.

Връзка:

Стискайте палци нагоре, ако наистина ви е помогнало и следете канала ми за интересни проекти:)

Споделете това видео, ако искате.

Радвам се, че сте се абонирали:

Благодаря за четенето!

Препоръчано: