Բովանդակություն:
- Պարագաներ
- Քայլ 1: Սարքավորման միացումներ
- Քայլ 2: Կոդ. Գլոբալ սահմանումներ և կարգավորում
- Քայլ 3: Կոդ. Օղակ
- Քայլ 4: Կոդ. Քառակուսիների գործառույթ
- Քայլ 5: Կոդ. Թվերի գործառույթ
- Քայլ 6: Կոդը ՝ NumberSelect գործառույթը
- Քայլ 7: Վայելեք ձեր ավարտված նախագիծը:
Video: Arduino Touchscreen Հաշվիչ ՝ 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Բարեւ Ձեզ! Սա Arduino Uno- ի և TFT LCD վահանի միջոցով սենսորային հաշվիչ ստեղծելու նախագիծ է: Ես մշակեցի իմ տնային ծրագրավորման դասի հայեցակարգը, և այս նախագիծը կառուցելու փորձը շատ հետաքրքիր էր: Այս հաշվիչը կարող է կատարել չորս պարզ մաթեմատիկական գործողություններ (գումարում, հանում, բազմապատկում և բաժանում): Այն նաև ցուցադրում է մինչև երկու տասնորդական կետ `դրանք ունեցող բաժանման պատասխանների համար: Եկեք սուզվենք անմիջապես: Այս նախագծի մատակարարումները թվարկված են ստորև:
Պարագաներ
- Արդուինո Ունո
-2.4 TFT LCD Shield (ահա որտեղից եմ այն գնել ՝
- USB A- ից B մալուխ (լար Arduino- ին համակարգչին միացնելու համար)
- Տեղադրված է Arduino IDE համակարգիչ
- Դուք նաև պետք է ներբեռնեք երկու գրադարան ՝ MCUFRIEND_kbv և Touchscreen: Առաջինը կարող եք գտնել github- ում (հղում ՝ https://github.com/prenticedavid/MCUFRIEND_kbv) կամ կարող եք օգտագործել գրադարանի zip ֆայլը, որը ես ներառել եմ ստորև: Երկրորդը տեղադրման համար գտնվում է Arduino գրադարանի մենեջերում:
Քայլ 1: Սարքավորման միացումներ
Սենսորային վահանի միացումը Arduino Uno- ին պարզ և արագ է: Մնում է միայն վահանի ամենացածր կապում շարել Arduino- ի ամենացածր կապումներով և վահանը քորոցների մեջ մղել: Վերին 5 Վ -ի քորոցը և հոսանքի կողմում չպիտակված քորոցը չպետք է ունենան վահանի կապիչներ, տախտակի մյուս կողմում SCL և SDA պիտակներով նույն պարամետրերի դեպքում: Այժմ, մենք պատրաստ ենք ծածկագրել:
Քայլ 2: Կոդ. Գլոբալ սահմանումներ և կարգավորում
#ներառում
MCUFRIEND_kbv tft; // UNO վահանների համար, ամեն դեպքում, լարված:
#ներառում
#սահմանել YP A3- ը
#սահմանի XM A2
#սահմանել YM 9
#սահմանեք XP 8 -ը
TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300);
#սահմանել ՄԻՆՊՐՈՍՈԹՅՈՆ 10
Սա կոդի սկիզբն է, որտեղ մենք ներառում ենք գրադարաններ (MCUFRIEND_kbv & Touchscreen), սահմանում ենք X և Y կապում, կարգավորում ենք սենսորային էկրանի պարամետրերը և սահմանում նվազագույն ճնշումը, որն անհրաժեշտ է Arduino- ին `օգտվողի մամուլ գրանցելու համար:
int ID;
int user_selection;
բոց փրկված_թիվ = 0;
float term1;
int op_num;
լողացող արդյունք;
int cursorLocX = 5;
int cursorLocY = 20;
Տեղադրումից անմիջապես առաջ մենք պետք է որոշ գլոբալ փոփոխականներ ստեղծենք: ID- ն օգնում է գործարկել սենսորային էկրանը: user_selection- ը պահում է մի շարք, որը համապատասխանում է այն ստեղնին, որն ընտրում է օգտվողը սենսորային էկրանին սեղմելիս: save_number- ը այն փոփոխականն է, որը մենք տպում ենք էկրանին օգտվողի մուտքից հետո (այս մասին ավելին ՝ օղակում): Այն բոց է, այնպես որ կարող է պահել տասնորդական թվեր, ինչպես նաև ամբողջ թվեր: term1- ը այն փոփոխականն է, որում հավասարման առաջին թիվը պահվում է օպերանդի ընտրությունից հետո: op_num- ը օպերանդը պահում է որպես թիվ (1 -ը ՝ գումարման, 2 -ը ՝ հանման, 3 -ը ՝ բազմապատկման և 4 -ը ՝ բաժանման համար): արդյունքը այն փոփոխականն է, որը տպվում է էկրանին այն բանից հետո, երբ օգտատերը սեղմել է հավասարության նշանը: Այն նաեւ բոց է: cursorLocX- ը և cursorLocY- ը սենսորային էկրանի քարտեզագրման կետերն են, որտեղ կուրսորը բազմապատկված է (այն գտնվում է վերևի մոխրագույն բարում, այլապես հայտնի է որպես արդյունքների դաշտ):
void setup () {
tft.reset ();
ID = tft.readID ();
tft.begin (ID);
tft.setRotation (0);
tft.fillScreen (TFT_DARKGREY);
քառակուսիներ ();
թվեր ();
tft.setTextSize (3);
tft.setTextColor (TFT_BLUE, TFT_DARKGREY);
}
Մեր կարգաբերման գործառույթը նախ պարունակում է հպման էկրանի վահանի նախաստորագրում (տողեր 1-3): Վահանի կողմնորոշումը սահմանվում է tft.setRotation () հրամանի միջոցով, 0 -ն ուղղահայաց է: Ամբողջ էկրանը մուգ մոխրագույն է tft.fillScreen () հրամանով, որը մենք կգրենք վերևում (բացառությամբ արդյունքների դաշտի): Քառակուսիներ () և թվեր () գործառույթները գծում են հաշվիչի քառակուսիները, սև ու սպիտակ քառակուսիները գունավորում են շախմատային տախտակի տեսքով, իսկ քառակուսիների վրա կապույտ գույնով գրում թվեր/օպերանդներ: Մենք հաջորդ քայլին կհասնենք նրանց: Tft.setTextSize () հրամանը արդյունքների դաշտի տեքստի չափը սահմանում է 3, որը միջին տառատեսակ է: Tft.setTextColor () հրամանը արդյունքների դաշտի տեքստի գույնը սահմանում է կապույտ, որը գրված է մուգ մոխրագույն դաշտի վրա:
Քայլ 3: Կոդ. Օղակ
void loop () {numberSelect ();
ուշացում (100);
եթե (user_selection == 16) {
;
} ուրիշ {
եթե (օգտվողի ընտրություն <10) {
փրկված_թիվ = պահված_թիվ * 10 + օգտվողի_ընտրություն;
tft.setCursor (cursorLocX, cursorLocY);
tft.print (պահված_թիվ);
} else if (user_selection> 10) {
անջատիչ (օգտվողի_ընտրություն) {
գործ 11:
op_num = 1;
tft.setCursor (cursorLocX, cursorLocY);
tft.print ("+");
տերմին 1 = պահված_թիվ;
պահված_թիվ = 0;
ընդմիջում;
դեպք 12:
op_num = 2;
tft.setCursor (cursorLocX, cursorLocY);
tft.print ("-");
տերմին 1 = պահված_թիվ;
պահված_թիվ = 0;
ընդմիջում;
գործ 13:
op_num = 3;
tft.setCursor (cursorLocX, cursorLocY);
tft.print ("X");
տերմին 1 = պահված_թիվ;
խնայված_թիվ = 0;
ընդմիջում;
գործ 14:
op_num = 4;
tft.setCursor (cursorLocX, cursorLocY);
tft.print ("/");
տերմին 1 = պահված_թիվ;
խնայված_թիվ = 0;
ընդմիջում;
գործ 15:
պահված_թիվ = 0;
տերմին 1 = 0;
op_num = 0;
tft.setCursor (cursorLocX, cursorLocY);
tft.print ("");
ընդմիջում;
}
tft.setCursor (cursorLocX, cursorLocY);
Սա շատ բան է ծամելու, այնպես որ ես կբացատրեմ վերը նշվածը: Մենք սկսում ենք կանչել numberSelect () ֆունկցիան, որը մի շարք է վերագրում սենսորային էկրանի յուրաքանչյուր քառակուսուն: Երբ օգտվողը սեղմում է այդ քառակուսիներից մեկը, գործառույթը user_selection փոփոխականը դնում է քառակուսի թվի վրա: Առաջին if հայտարարությունը պետք է անցնի միայն օղակով, եթե օգտագործողի վավեր ընտրություն է կատարվել: Եթե այդպես է, հաջորդ if հայտարարությունը հարցնում է, թե արդյոք user_selection- ում պահպանված է 10-ից փոքր թիվ (0-9 համարները): Եթե դա այդպես լինի, պահված_թիվը բազմապատկվում է 10 -ով, և օգտվողի ընտրության թիվը ավելացվում է պահված_թվին, որը տպված է սենսորային էկրանի արդյունքների դաշտում: Եթե դա այդպես չէ, հաջորդ if հայտարարությունը հարցնում է, թե արդյոք user_selection- ում պահպանված է 10 -ից ավելի մեծ թիվ (օպերանդի համարները ՝ 11 -ը +, 12 -ը -, 13 -ը X- ի համար, 14 -ը /և 15 -ը `հստակ էկրանի քառակուսու համար:): Անջատիչի գործառույթը հոգում է յուրաքանչյուր դեպքի մասին (որոշվում է օգտագործողի_ընտրությամբ): Op_num փոփոխականին տրվում է մի շարք, որը համապատասխանում է ընտրված օպերանդին (1 + -ի համար, 2 -ի համար, 3 -ը X- ի համար, և 4 -ը ` /): Պահված_թվաքանակի արժեքը պահվում է փոփոխական տերմինի մեջ 1 այնպես, որ պահված_թվային փոփոխականը կարող է օգտագործվել հավասարման երկրորդ կեսի համար: Օպերանդի խորհրդանիշը տպվում է էկրանին `արդյունքների դաշտում ցանկացած թվեր ջնջելու հետ միասին: Միակ բացառությունը մաքուր էկրանի քառակուսին է, որը վերականգնում է հաշվարկման բոլոր փոփոխականները և մաքրում արդյունքների դաշտը դրա վրա եղած որևէ բանից:
} ուրիշ {
անջատիչ (op_num) {
դեպք 1:
արդյունք = տերմին 1 + պահված_թիվ;
tft.setCursor (cursorLocX, cursorLocY);
tft.print (կրկնակի (արդյունք));
ընդմիջում;
դեպք 2:
արդյունք = տերմին 1 - պահված_թիվ;
tft.setCursor (cursorLocX, cursorLocY);
tft.print (կրկնակի (արդյունք));
ընդմիջում;
դեպք 3:
արդյունք = տերմին 1 * պահված_թիվ;
tft.setCursor (cursorLocX, cursorLocY);
tft.print (կրկնակի (արդյունք));
ընդմիջում;
դեպք 4:
արդյունք = բոց (տերմին 1) / բոց (պահված_թիվ);
tft.setCursor (cursorLocX, cursorLocY);
tft.print (արդյունք);
ընդմիջում;
}
tft.setCursor (cursorLocX, cursorLocY);
փրկված_թիվ = արդյունք;
տերմին 1 = 0;
op_num = 0;
ուշացում (1000);
}
}
}
Օղակի վերջին մասը վերաբերում է օգտվողի ՝ հավասարության նշանը ընտրելու իրադարձությանը (user_selection == 10): Մեկ այլ անջատիչ գործառույթ աշխատում է չորս մաթեմատիկական գործառույթների միջոցով (որոշվում է op_num- ով): Լրացման գործը (դեպք 1) ավելացնում է term1- ը և պահված_թիվը միասին և թիվը պահում արդյունքի փոփոխականի մեջ: Արդյունքը տպվում է արդյունքների դաշտում կրկնակի: Հանումի գործը (դեպք 2) հանում է պահված_թիվը տերմինից 1 -ից և թիվը պահում արդյունքի փոփոխականի մեջ: Արդյունքը տպվում է արդյունքների դաշտում կրկնակի տեսքով: Բազմապատկման գործը (դեպք 3) բազմապատկում է տերմինը 1 պահված_թվով և թիվը պահում արդյունքի փոփոխականի մեջ: Արդյունքը տպվում է արդյունքների դաշտում կրկնակի: Բաժանման գործը (դեպք 4) կիսում է տերմինը 1 խնայված_թվով միասին և թիվը պահում արդյունքի փոփոխականի մեջ: Արդյունքը տպվում է արդյունքների դաշտում որպես բոց (քանի որ բաժանման պատասխանները կարող են լինել տասնորդական թվեր): Թիվը, օպերանդը կամ արդյունքը էկրանին տպվելուց հետո կուրսորը զրոյացվում է, պահված_թիվը դրվում է նախորդ արդյունքի վրա, իսկ տերմինը 1 & op_num- ը վերակայվում է:
Մի քանի նշում. Օգտագործողը չի կարող տասնորդական թվեր մուտքագրել հաշվիչ `տասնորդական կետի քառակուսի բացակայության պատճառով: Բացի այդ, օգտագործողը կարող է միաժամանակ կատարել միայն մեկ հավասարություն: Դուք չեք կարող հաշվարկել արդյունքը, այնուհետև ավելացնել/հանել/բազմապատկել/բաժանել այդ արդյունքը: NumberSelect () գործառույթում կա մի գործառույթ, որը մաքրում է էկրանը արդյունքը տպելուց հետո, եթե օգտագործողը սեղմել է մեկ այլ քառակուսի:
Քայլ 4: Կոդ. Քառակուսիների գործառույթ
դատարկ քառակուսիներ () {
// Սև և սպիտակ քառակուսիները փոխարինվում են յուրաքանչյուր տողում, և առաջին և երրորդ տողերն ունեն հակառակ օրինաչափություն, քան երկրորդ և չորրորդ տողերը
tft.fillRect (0, 60, 60, 65, TFT_BLACK); // սկսվում է քառակուսիների առաջին շարքը ՝ սևից սպիտակ tft.fillRect (60, 60, 60, 65, TFT_WHITE);
tft.fillRect (120, 60, 60, 65, TFT_BLACK);
tft.fillRect (180, 60, 60, 65, TFT_WHITE); // ավարտվում է քառակուսիների առաջին շարքը
tft.fillRect (0, 125, 60, 65, TFT_WHITE); // սկսվում է քառակուսիների երկրորդ շարքը ՝ սպիտակից մինչև սև tft.fillRect (60, 125, 60, 65, TFT_BLACK);
tft.fillRect (120, 125, 60, 65, TFT_WHITE);
tft.fillRect (180, 125, 60, 65, TFT_BLACK); // ավարտվում է քառակուսիների երկրորդ շարքը
tft.fillRect (0, 190, 60, 65, TFT_BLACK); // սկսվում է քառակուսիների երրորդ շարքը ՝ սևից սպիտակ tft.fillRect (60, 190, 60, 65, TFT_WHITE);
tft.fillRect (120, 190, 60, 65, TFT_BLACK);
tft.fillRect (180, 190, 60, 65, TFT_WHITE); // ավարտվում է քառակուսիների երրորդ շարքը
tft.fillRect (0, 255, 60, 65, TFT_WHITE); // սկսվում է քառակուսիների չորրորդ շարքը ՝ սպիտակից մինչև սև tft.fillRect (60, 255, 60, 65, TFT_BLACK);
tft.fillRect (120, 255, 60, 65, TFT_WHITE);
tft.fillRect (180, 255, 60, 65, TFT_BLACK); // ավարտվում է քառակուսիների չորրորդ շարքը
}
Քառակուսիների () գործառույթը բավականին պարզ է: Tft.fillRect (X1, Y1, X2, Y2, TFT_COLOR) հրամանը նկարում է ուղղանկյուն ՝ ըստ իրեն փոխանցված պարամետրերի, որոնք են x և y- ի առաջին դիրքերը, x և y- ի երկրորդ դիրքերը և գույնը, որով լցված է ուղղանկյունը:. Այս գործառույթը գծում է քառակուսիների բոլոր չորս շարքերը (տեխնիկապես ուղղանկյուններ) և յուրաքանչյուր քառակուսին լրացնում է իրեն փոխանցված գույնով:
Քայլ 5: Կոդ. Թվերի գործառույթ
դատարկ թվեր () {
tft.setTextColor (TFT_BLUE); // համարը/բնույթի գույնը սահմանում է կապույտ
tft.setTextSize (5); // թիվը/նիշի չափը սահմանում է 5
tft.setCursor (18, 75); // սահմանում է կուրսորը թվերի/նիշերի առաջին տողի համար
tft.print ("7 8 9 /"); // տպում է թվերի/նիշերի առաջին տողը
tft.setCursor (18, 140); // սահմանում է կուրսորը թվերի/նիշերի երկրորդ տողի համար
tft.print («4 5 6 X»); // տպում է թվերի/նիշերի երկրորդ տողը
tft.setCursor (18, 205); // սահմանում է կուրսորը թվերի/նիշերի երրորդ տողի համար
tft.print ("1 2 3 -"); // տպում է թվերի/նիշերի երրորդ տողը
tft.setCursor (18, 270); // սահմանում է կուրսորը թվերի/նիշերի չորրորդ տողի համար
tft.print ("C 0 = +"); // տպում է թվերի/նիշերի չորրորդ տողը
}
Թվերի () գործառույթը նույնպես պարզ է: Առաջին երկու տողերում տեքստի չափը ավելի մեծ է, իսկ գույնը `կապույտ: Tft.setCursor () հրամանը կուրսորը դնում է յուրաքանչյուր տողի դիրքի վրա, որտեղից սկսվում է թվերի գրառումը: Այնուհետեւ tft.print () հրամանը տպում է թվերը/նիշերը քառակուսիների վրա:
Քայլ 6: Կոդը ՝ NumberSelect գործառույթը
դատարկ համար Ընտրել () {
TSPoint p = ts.getPoint ();
pinMode (XM, OUTPUT);
pinMode (YP, OUTPUT);
եթե (p.z> MINPRESSURE) {
p.x = քարտեզ (p.x, 250, 845, 0, 239);
p.y = քարտեզ (p.y, 245, 860, 0, 319);
եթե (արդյունք! = 0) {
արդյունք = 0;
պահված_թիվ = 0;
tft.print («Մաքուր արժեքներ»);
ուշացում (500);
tft.setCursor (cursorLocX, cursorLocY);
tft.print ("");
tft.setCursor (cursorLocX, cursorLocY);
}
NumberSelect () գործառույթը գործարկելու համար մենք ts.getPoint () հրամանի միջոցով դիպչում ենք էկրանի օգտագործողի մուտքը: Երբ այդ տվյալները հավաքվեն, մենք ստուգում ենք, թե արդյոք նվազագույն ճնշումը գերազանցվել է (կամ, այլ կերպ ասած, եթե օգտագործողը սեղմել է հպման էկրանին ինչ -որ տեղ): Եթե այդպես է, ապա x և y կոորդինատները քարտեզային կոորդինատներից քարտեզագրվում են դիպչող էկրանին հատուկ կոորդինատներին: (0, 0) սենսորային էկրանի վերին ձախ անկյունն է, որի առանցքը x- ով անցնում է, իսկ y առանցքը ՝ ներքև: Հաջորդ մասը ստուգում է ՝ արդյո՞ք արդյունքում պահպանված թիվ կա: Եթե կա, արդյունքը և պահված_թիվը վերակայվում են 0 -ի: «Մաքրել արժեքներ» հաղորդագրությունը տպվում է արդյունքների դաշտում, և էկրանը մաքրվում է կուրսորը հետ վերադարձնելով իր սկզբնական դիրքին:
եթե (էջ 60) {// քառակուսիների առաջին շարքը
եթե (p.x <60)
օգտվողի ընտրություն = 7;
հակառակ դեպքում (p.x <120)
օգտվողի ընտրություն = 8;
այլապես (p.x <180)
օգտվողի ընտրություն = 9;
այլ օգտվողի ընտրություն = 14;
} else if (p.y 125) {// քառակուսիների երկրորդ շարքը
եթե (p.x <60)
օգտվողի ընտրություն = 4;
այլապես, եթե (p.x <120)
օգտվողի ընտրություն = 5;
այլապես (p.x <180)
օգտվողի ընտրություն = 6;
այլ օգտվողի ընտրություն = 13;
} else if (էջ 190) {// քառակուսիների երրորդ շարքը
եթե (p.x <60)
օգտվողի_ընտրություն = 1;
հակառակ դեպքում (p.x <120)
օգտվողի_ընտրություն = 2;
այլապես (p.x <180)
օգտվողի_ընտրություն = 3;
այլ օգտվողի ընտրություն = 12;
} else if (p.y> 255) {// քառակուսիների չորրորդ շարքը
եթե (p.x <60)
օգտվողի_ընտրություն = 15;
այլապես, եթե (p.x <120)
օգտվողի ընտրություն = 0;
այլապես (p.x <180)
օգտվողի ընտրություն = 10;
այլ օգտվողի ընտրություն = 11;
}
} ուրիշ {
օգտվողի_ընտրություն = 16; // user_selection- ը 16 է (փոփոխական ոչինչ)
}
}
Սա այն մասն է, որը որոշում է, թե որ կոճակն է ընտրված: Սկսելով քառակուսիների վերին շարքից և ավարտելով ներքևի տողերով ՝ Arduino- ն փնտրում է այն տեղը, որտեղ իրականում սեղմված էր էկրանը: Այնուհետև քառակուսուն տալիս է մի թիվ և պահում է այդ թիվը user_selection- ում: 0-9 թվերը համապատասխանում են թվերի քառակուսիներին, 11-15 թվերը `օպերանդի քառակուսիներին և պարզ քառակուսուն, իսկ 10 թիվը` հավասարների նշանի քառակուսուն: Եթե քառակուսի չի ընտրվել, ապա user_selection- ը սահմանվում է 16, ինչը հանգեցնելու է, որ օղակը նորից սկսվի (տես օղակի գործառույթը):
Քայլ 7: Վայելեք ձեր ավարտված նախագիծը:
Ահա դուք ունեք այն: Այժմ դուք ունեք սենսորային հաշվիչ, որը կարող է գումարել, հանել, բազմապատկել և բաժանել: Այս նախագիծը փոխեց իմ մտածած հաշվիչի աշխատանքի ամբողջ ձևը: Երբ ես աշխատում էի այս նախագծի վրա, ես հիշում եմ, որ դասղեկիս դասարանում ասում էի. «Ես այլևս երբեք նույն կերպ չեմ նայի հաշվիչին»: Այն գործառույթները, որոնք դուք, որպես օգտվողի կարծիքով, հեշտ եք համարում, որոշ չափով դժվար են, երբ համակարգչի հետևում եք և փորձում եք ընդօրինակել ձեր գաղափարը: Հուսով եմ, որ ձեզ դուր եկավ նախագիծը, և ես հույս ունեմ, որ ձեր մտածելակերպը, թե ինչպես է աշխատում հաշվիչը, նույնպես փոխվել է:
Ահա ամբողջ ծածկագիրը `ձեր հարմարության համար: Այն լի է մեկնաբանություններով, այնպես որ, եթե խնդիրներ ունեք, նրանք պետք է ձեզ ցույց տան, թե ինչ է անում յուրաքանչյուր տող:
Խորհուրդ ենք տալիս:
Պարզ հաճախականության հաշվիչ Arduino- ի միջոցով. 6 քայլ
Arduino- ի միջոցով օգտագործվող պարզ հաճախությունների հաշվիչ. Այս ձեռնարկում մենք կսովորենք, թե ինչպես կարելի է Arduino- ի միջոցով հաճախականությունների պարզ հաշվիչ պատրաստել: Դիտեք տեսանյութը:
Այցելուների հաշվիչ ՝ օգտագործելով Arduino- ն TinkerCad- ում ՝ 3 քայլ
Այցելուների հաշվիչ ՝ օգտագործելով Arduino- ն TinkerCad- ում. Շատ անգամ մենք պետք է վերահսկենք այն անձին/մարդկանց, ովքեր այցելում են ինչ -որ տեղ, ինչպես սեմինարների դահլիճը, կոնֆերանսների սենյակը կամ առևտրի կենտրոնը կամ տաճարը: Այս նախագիծը կարող է օգտագործվել հաշվելու և ցուցադրելու այցելուների թիվը, որոնք մտնում են ցանկացած համաժողովի սենյակ կամ սեմինար
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 քայլ
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project. Flappy Bird- ը շատ տարածված խաղ էր այնտեղ մի քանի տարի անց, և շատ մարդիկ այն ստեղծեցին իրենց ձևով, այնպես էլ ես: Սենսորային էկրան SPFD5408, ուստի եկեք սկսենք
Arduino TFT LCD Touchscreen Հաշվիչ `3 քայլ
Arduino TFT LCD Touchscreen Հաշվիչ. Ողջույն, տղերք, այս հրահանգում մենք կսովորենք, թե ինչպես հաշվիչ սարքել Arduino Uno- ի միջոցով 3.5 " TFT LCD սենսորային էկրան: Այսպիսով, մենք կգրենք ծածկագիր և կբեռնենք այն arduino- ում, որը կցուցադրի հաշվիչի ինտերֆեյսը էկրանին և չի
Ինչպես օգտագործել ստեղնաշարն ու LCD- ը Arduino- ով Arduino հաշվիչ պատրաստելու համար. 5 քայլ
Ինչպես օգտագործել ստեղնաշարն ու LCD- ը Arduino- ի հետ Arduino հաշվիչ պատրաստելու համար. Այս ձեռնարկում ես կկիսվեմ, թե ինչպես կարող եք օգտագործել 4x4 մատրիցային ստեղնաշար և 16x2 LCD Arduino- ի հետ և օգտագործել այն պարզ Arduino հաշվիչ պատրաստելու համար: Այսպիսով, եկեք սկսենք