
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48



Այս հրահանգը մանրամասնում է Arduino TFT էկրանի գծագրման ծրագիր կազմելու համար անհրաժեշտ կոդը: Այս ծրագիրը, սակայն, եզակի է, քանի որ այն թույլ է տալիս նկարը պահել SD քարտում և հետագայում բեռնել ՝ ավելի շատ փոփոխություններ կատարելու համար:
Պարագաներ
- Arduino Uno - բնօրինակ կամ համատեղելի կլոն
- TFT սենսորային էկրան - ես օգտագործել եմ Elegoo էկրան, այսինքն ՝ ինձ պետք էին Elegoo- ի վարորդները:
- Micro SD ընթերցող տախտակ - օգտագործվում է SD քարտի վրա գծագրման տվյալները պահելու համար: Screenուցադրման տակ իմ էկրանը ներկառուցված ընթերցող ուներ:
- Stylus - իմ էկրանը եկավ մեկով: Ձեռքերի եղունգները նույնպես լավ են աշխատում:
- Միկրո SD քարտ - ոչ ավելի, քան 32 ԳԲ ՝ exFAT ձևաչափման սահմանափակումների պատճառով (Arduino- ն կարող է կարդալ FAT32 ձևաչափով քարտեր, բայց ՉԻ exFAT: Մեծ քարտերի մեծ մասը ձևաչափվում է exFAT- ով): Սա այն տեսակն է, որը դուք կդնեիք ընդլայնվող պահեստով հեռախոսի մեջ:
- Համակարգիչ Arduino IDE- ով
- Mingրագրավորման մալուխ - USB A- ից USB B. Իմ Arduino- ն եկավ մեկի հետ:
- SD քարտի ադապտեր - օգտագործվում է Micro SD քարտը սովորական SD- ի վերածելու համար `SD բնիկի մեջ տեղադրելու համար, կամ այն, որը SD քարտը միացնում է USB բնիկին:
Քայլ 1: Ձևաչափեք SD քարտը


- Վերցրեք Micro SD քարտը և այն կցեք ձեր համակարգչին ՝ օգտագործելով ձեր SD քարտի ընթերցողը
- Բացեք File Explorer- ը և գտեք SD քարտը:
- Աջ սեղմեք դրա վրա և ընտրեք Ձևաչափ:
- Սահմանեք ընտրանքները ՝ հիմնված էկրանի նկարի վրա:
- Կտտացրեք Սկսել:
- Գործընթացն ավարտելուց հետո հանեք քարտը:
Եթե Windows չեք աշխատում, փորձեք օգտագործել SD ձևաչափը SD ասոցիացիայից:
Քայլ 2. Պատրաստեք Arduino- ն


- Սեղմեք ձեր էկրանի վահանը Arduino- ի վրա ՝ հոգալով շարելով կապում:
- Տեղադրեք SD քարտը էկրանի ներքևի ընթերցողի մեջ:
Քայլ 3: Arduino Sketch
Չնայած մասերի ցանկը բավականին պարզ էր, բայց կա մի տոննա կոդ: Ես քայլ առ քայլ կանցնեմ այստեղ:
#ներառում
#ներառել #ներառել #ներառել #ներառել
Elegoo_GFX, _TFTLCD և TouchScreen- ը բոլորը սարքավորումների համար հատուկ են: Եթե այլ էկրան եք օգտագործում, օգտագործեք արտադրողի տրամադրած գրադարանները:
SPI և SD- ն օգտագործվում են SD քարտի հետ հաղորդակցվելու համար: SPI- ն այն քարտն է, որն օգտագործում է SD քարտի վերահսկիչը:
#if սահմանված (_ SAM3X8E _) #undef _FlashStringHelper:: F (string_literal) #սահմանել F (string_literal) string_literal #endif
Սա նաև ապարատային է:
#սահմանել YP A3 // պետք է լինի անալոգային քորոց #սահմանի XM A2 // պետք է լինի անալոգային քորոց #սահմանի YM 9 #սահմանի XP 8
// Հպեք նոր ILI9341 TP- ի համար
#սահմանել TS_MINX 120 #սահմանել TS_MAXX 900 #սահմանել TS_MINY 70 #սահմանել TS_MAXY 920
#սահմանեք CSPIN 10 -ը
#սահմանել LCD_CS A3
#սահմանել LCD_CD A2 #սահմանել LCD_WR A1 #սահմանել LCD_RD A0 #սահմանել LCD_RESET A4
Այս #սահմանումներից յուրաքանչյուրը ստիպում է IDE- ն փոխարինել անունը արժեքով: Այստեղ նրանք դրել են LCD և SD մուտքի/ելքի կապերը:
// Անվանեք անուններ որոշ 16-բիթանոց գույնի արժեքների համար.
Սրանք ծածկագրում օգտագործված մի քանի գույներ են: #դրանց սահմանումը հեշտացնում է ծածկագիրը կարդալը:
#սահմանեք ՊԵՆՐԱԴԻՈ 3Ս 3
Սա սահմանում է գծագրության չափը:
#սահմանել MINPRESSURE 10#սահմանել MAXPRESSURE 1000
// pressureնշման ավելի լավ ճշգրտության համար մենք պետք է իմանանք դիմադրությունը
// X+- ի և X- ի միջև `ցանկացած մուլտիմետր օգտագործելու համար այն կարդալու համար // այն մեկի համար, որը ես օգտագործում եմ, դրա 300 օմ-ն X ափսեի վրա TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300);
Elegoo_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
Այս հայտարարությունները սահմանում են ճնշումը, որն անհրաժեշտ է հպում գրանցելու, հպման գործառույթը նախաստորագրելու և էկրանը գործարկելու համար:
Ֆայլի պահպանում; int պահեստավորում Չափ; int stoX = 1; int stoY = 1;
Սրանք փոփոխականներ են ծրագրի պահպանման մասի համար:
void setup (void) {Serial.begin (9600); Serial.println («Ներկերի ծրագիր»);
tft.reset ();
uint16_t նույնացուցիչ = tft.readID ();
եթե (նույնացուցիչ == 0x0101) {նույնացուցիչ = 0x9341; Serial.println (F («Գտնվել է 0x9341 LCD վարորդ»)); }
// Սկսեք էկրանը
tft.begin (նույնացուցիչ); tft.setRotation (2);
pinMode (13, OUTPUT);
// Սկսել SD քարտը
if (! SD.begin (CSPIN)) {Serial.println ("SD- ի նախաստորագրումը ձախողվեց"); վերադարձ; } Serial.println ("SD- ն նախաստորագրված է");
// Նկարեք ֆոնը
drawBackground (); }
Կարգավորման գործառույթը սկսում է Սերիան, եթե այն հասանելի է, վերականգնում է էկրանը, հայտնաբերում է TFT վարորդը, սկսում է էկրանը, գործարկում է քարտը և կանչում ֆոն նկարելու գործառույթ:
Ես կանցնեմ դեպի հանգույցի գործառույթի հիմնական մասը: Մնացած ամեն ինչ պարզապես օգտագործվում է սենսորային էկրանը վարելու համար:
// Հայտնաբերել էկրանի սեղմումը և պահել այն փոփոխականների վրա, եթե (p.z> MINPRESSURE && p.z <MAXPRESSURE) {// Scale p.x = map (p.x, TS_MINX, TS_MAXX, tft.width (), 0); p.y = (tft. բարձրություն () - քարտեզ (p.y, TS_MINY, TS_MAXY, tft.height (), 0));
// Ոչ ոքի
if (p.y> 21) {// Պահել տվյալները SD քարտի պահեստում = SD.open ("storage.txt", FILE_WRITE); պահեստավորում. տպագիր (p.x); storage.print (","); պահեստավորում. տպագիր (p.y); պահեստավորում. փակել ();
// Կետ հպման դիրքում
tft.fillCircle (p.x, p.y, PENRADIUS, WHITE); }
// Deնջել կոճակը
if ((p.y 198) && (p.x <219)) {deleteStorage (); }
// Բեռի կոճակի գործողություն
if ((p.y 219)) {loadStorage (); }}
Եթե մամուլ է հայտնաբերվում, փոփոխականներ տեղադրեք մամուլի գտնվելու վայրի համար:
Այնուհետև, եթե մամուլը գտնվում է գծագրման տարածքում, պահեք կետը SD քարտում պահեստում: txt և սեղմված կետում գծեք շրջան ՝ սահմանված չափով և գույնով:
Այնուհետև, եթե մամուլը գտնվում է ջնջման կոճակի գտնվելու վայրում, գործարկեք գործառույթ, որը ջնջում է պահված նկարը: Եթե օգտագործում եք տարբեր չափերի էկրան, փորձեք խաղալ կոճակի տեղադրության արժեքների հետ:
Այնուհետև, եթե մամուլը գտնվում է բեռնման կոճակի գտնվելու վայրում, գործարկեք գործառույթ, որը բեռնում է պահված նկարը: Եթե օգտագործում եք տարբեր չափերի էկրան, փորձեք խաղալ կոճակի տեղադրության արժեքների հետ:
Այժմ ես կբացատրեմ գործառույթները:
Առաջին գործառույթը կոչվում է setup ՝ նկարելու ֆոնը և կոճակները:
void drawBackground () {// Սահմանել ֆոնը tft.fillScreen (Սև);
// Ներկել տեքստը
tft.setTextColor (Սպիտակ); tft.setTextSize (3); tft.setCursor (0, 0); tft.println («Ներկ»);
// Բեռնման կոճակ
tft.fillRect (219, 0, 21, 21, Կանաչ);
// Մաքրել կոճակը
tft.fillRect (198, 0, 21, 21, ԿԱՐՄԻՐ); }
Այն էկրանը սև է լցնում, գրում է Paint բառը և կոճակների համար գծում է գունավոր քառակուսիներ: Եթե օգտագործում եք տարբեր չափերի էկրան, փորձեք խաղալ կոճակի տեղադրության արժեքների հետ:
void deleteStorage () {// leteնջել SD.remove ֆայլը ("storage.txt");
// Սահմանել ֆոնը
tft.fillScreen (ՍԵՎ);
// leteնջել հաջողության տեքստը
tft.setTextColor (Սպիտակ); tft.setTextSize (2); tft.setCursor (0, 0); tft.println ("storage.txt ջնջված է");
// Թող օգտվողը կարդա այն
ուշացում (2000);
// Շարունակեք նկարել
drawBackground (); }
The deleteStorage գործառույթը հեռացնում է storage.txt- ը, լրացնում է սև էկրանը և ջնջման հաջողության հաղորդագրություն է տալիս: Այնուհետև այն կոչում է drawBackground գործառույթը, որը թույլ է տալիս սկսել այլ բան նկարել:
void loadStorage () {// Խուսափեք դանդաղ մատների հետաձգումից կրկնելուց (250);
// Ստուգեք պահպանման ֆայլը
եթե (! SD.exists ("storage.txt")) {Serial.println ("storage.txt ֆայլ չկա"); վերադարձ; }
// Բացել ֆայլը միայն կարդալու ռեժիմում
պահեստավորում = SD.open ("storage.txt", FILE_READ);
// Քանի դեռ կան տվյալներ, while (stoY> 0) {// Թարմացնել դիրքի փոփոխականները stoX = storage.parseInt (); stoY = storage.parseInt ();
// Նկարեք պահեստից
tft.fillCircle (stoX, stoY, PENRADIUS, WHITE); } // Փակել ֆայլը storage.close (); }
Վերջապես, loadStorage գործառույթը ստուգում է պահեստային ֆայլը, բացում է այն միայն կարդալու ռեժիմում, այնուհետև կրկնում է այս հանգույցը.
Քանի դեռ ավելի շատ տվյալներ կան,
- Թարմացրեք դիրքի փոփոխականները storage.txt- ից վերլուծված տվյալներով
- Բեռված կետում նկարեք շրջան
Երբ հանգույցն ավարտվում է և այլևս տվյալներ չկան, այն փակում է պահեստավորման ֆայլը:
Այս ուրվագծի ծածկագիրը կարելի է գտնել ստորև: Պարզապես ներբեռնեք այն, բացեք այն Arduino- ում և վերբեռնեք այն ձեր տախտակին:
Քայլ 4: Այս ծրագրի օգտագործումը

Պարզապես միացրեք ձեր Arduino- ն էներգիայի աղբյուրին `համակարգչին, մարտկոցին, պատի գորտնուկին և այլն և սկսեք նկարել: Ձեր նկարը և դրա պահված տվյալները ջնջելու համար սեղմեք կարմիր կոճակը: Պահեստից գծանկար բեռնելու և դրա վրա աշխատելու համար կտտացրեք կանաչ կոճակին: Այսպիսով, դուք կարող եք բազմիցս կրկնել գծագրի վրա:
Որպես ընդլայնում, փորձեք գծել գծագիրը ձեր համակարգչի վրա.
- Միացրեք SD քարտը տվյալներով ձեր համակարգչին:
- Բացեք storage.txt- ը ձեր նախընտրած տեքստի/կոդի խմբագրիչում:
- Պատճենեք storage.txt- ի բոլոր արժեքները:
- Հետևեք կետին գծագրող ծրագրի այս հղմանը:
- Deնջեք ձախից երկու օրինակային կետերը:
- Տեղադրեք ձեր տվյալները այնտեղ, որտեղ եղել են օրինակելի կետերը:
Սա ձեր գծանկարները ցուցադրելու կոկիկ միջոց է. Գուցե նույնիսկ փորձեք փոխել կետի գույնը Arduino- ում կամ point -plotter- ում:
Փոփոխությունները ողջունելի են, և ես կցանկանայի մեկնաբանություններում տեսնել որոշ առաջարկություններ: Շնորհակալություն սա դիտելու համար, և ես հույս ունեմ, որ դրա կոկիկ օգտագործումը կգտնեք ձեր սեփական նախագծերում:
Խորհուրդ ենք տալիս:
Arduino հզորությամբ նկարչական ռոբոտ. 11 քայլ (նկարներով)

Arduino Powered Painting Robot. Երբևէ մտածե՞լ եք, արդյոք ռոբոտը կարո՞ղ է հմայիչ նկարներ և արվեստ անել: Այս նախագծում ես փորձում եմ դա իրականություն դարձնել Arduino Powered Painting Robot- ի միջոցով: Նպատակն այն է, որ ռոբոտը կարողանա ինքնուրույն նկարել նկարներ և օգտագործել
Կառուցեք wearable Motion Tracker (BLE Arduino- ից մինչև Android Studio- ի հատուկ ծրագիր). 4 քայլ

Կառուցեք wearable Motion Tracker (BLE Arduino- ից մինչև Android Studio- ի հատուկ ծրագիր). Bluetooth Low Energy (BLE) ցածր էներգիայի Bluetooth հաղորդակցության ձև է: Հագանելի սարքերը, ինչպես խելացի հագուստները, որոնց ես օգնում եմ նախագծել Predictive Wear- ում, պետք է հնարավորինս սահմանափակեն էներգիայի սպառումը, որպեսզի երկարացնեն մարտկոցի կյանքը և հաճախ օգտագործեն BLE:
Երաժշտական նկարչական կտավ Մեյքի Մեյքիի հետ. 9 քայլ (նկարներով)

Ողջույն, այս Ուսուցողական ծրագրում մենք կսովորենք, թե ինչպես պատրաստել Երաժշտական նկարչական կտավ, այսինքն ՝ ամեն անգամ, երբ գունավորում ենք յուրաքանչյուր գույնի վրձնով, հնչում է մեկ այլ երգ: Սա շատ զվարճալի է և աշխատում է փոքր երեխաների մոտ նկարչությունը խրախուսելու կամ նաև հատուկ հատկություն տալու համար
Arduino- ի վրա հիմնված բազմագույն լուսային նկարչական գավազան `13 քայլ (նկարներով)

Arduino- ի վրա հիմնված բազմագույն լուսային նկարչական գավազան. Լուսանկարչությունը լուսանկարիչների կողմից կիրառվող տեխնիկա է, որտեղ լույսի աղբյուրը օգտագործվում է հետաքրքիր նախշեր նկարելու համար, և տեսախցիկը դրանք միասին կդնի: Արդյունքում Լուսանկարը կպարունակի իր մեջ լույսի հետքերը, որոնք ի վերջո կտան մի տեսք
VGA նկարչական ծրագիր ՝ 5 քայլ

VGA նկարչական ծրագիր. Նախագիծը ՝ Ադամ Քլեյն, Յան Ստրախան, Բրենդոն Սլեյթեր: Նախագիծը, որը մենք նախատեսել էինք ավարտել, USB մկնիկից տեղեկատվության պահպանում, վերլուծում և ցուցադրում էր նկարչական ծրագրի տեսքով: Նախագծի հիմքում ընկած է այն, որ կարողանանք միացնել մկնիկը