Mündəricat:
- Təchizat
- Addım 1: SD kartı formatlaşdırın
- Addım 2: Arduino hazırlayın
- Addım 3: Arduino Sketch
- Addım 4: Bu proqramı istifadə edin
Video: Arduino TFT Rəsm Proqramı: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu təlimat, bir Arduino TFT ekranı üçün bir rəsm proqramı hazırlamağa gedən kodu ətraflı izah edir. Bu proqram, bənzərsizdir, çünki bir şəklin SD karta qənaət edilməsinə və daha sonra düzəlişlər etmək üçün daha sonra yüklənməsinə imkan verir!
Təchizat
- Arduino Uno - orijinal və ya uyğun bir klon
- TFT toxunma ekranı - Elegoo ekranlarından istifadə etdim, yəni Elegoo sürücülərinə ehtiyacım var idi.
- Micro SD oxucu lövhəsi - rəsm məlumatlarını SD karta saxlamaq üçün istifadə olunur. Ekranın altında ekranın altında quraşdırılmış oxucu vardı.
- Stylus - ekranım bir ilə gəldi. Tırnaqlar da yaxşı işləyir.
- Micro SD kart - exFAT format məhdudiyyətləri səbəbindən 32 GB -dan çox deyil (Arduino FAT32 formatlı kartları oxuya bilər, lakin exFAT DEYİL. Ən böyük kartlar exFAT ilə formatlanır.) Genişlənə bilən yaddaşa malik bir telefona qoyacağınız növ budur.
- Arduino IDE ilə kompüter
- Proqramlaşdırma kabeli - USB A -dan USB B. -ə mənim Arduino biri ilə gəldi.
- SD kart adapteri - Micro SD kartını SD yuvasına və ya SD kartı USB yuvasına bağlayan bir SD karta çevirmək üçün istifadə olunur.
Addım 1: SD kartı formatlaşdırın
- Micro SD kartı götürün və SD kart oxuyucunuzdan istifadə edərək kompüterinizə bağlayın
- Fayl Gəzgini açın və SD kartı tapın.
- Bunun üzərinə sağ vurun və Format seçin.
- Ekran görüntüsünə əsasən seçimləri təyin edin.
- Başlat düyməsini basın.
- Proses başa çatdıqda kartı çıxarın.
Windows işləmirsinizsə, SD birliyindən SD Formatter istifadə edin.
Addım 2: Arduino hazırlayın
- İğnələri sıralamağa diqqət yetirərək ekran qalxanınızı Arduino üzərinə basın.
- SD kartı ekranın altındakı oxucuya daxil edin.
Addım 3: Arduino Sketch
Parça siyahısı olduqca sadə olsa da, bir ton kod var. Burada addım-addım keçəcəyəm.
#daxil edin
#daxil edin #əlavə edin #daxil edin
Elegoo_GFX, _TFTLCD və TouchScreen hamısı aparata xasdır. Fərqli bir ekran istifadə edirsinizsə, istehsalçı tərəfindən təmin edilmiş kitabxanalardan istifadə edin.
SD kartı ilə əlaqə qurmaq üçün SPI və SD istifadə olunur. SPI, SD kart nəzarətçisinin istifadə etdiyi protokoldur.
#if müəyyən edildikdə (_ SAM3X8E _) #undef _FlashStringHelper:: F (string_literal) #define F (string_literal) string_literal #endif
Bu da aparata xasdır.
#define YP A3 // analog pin olmalıdır #XM A2 təyin edin // analoq pin olmalıdır #define YM 9 #define XP 8
// Yeni ILI9341 TP üçün Toxun
#define TS_MINX 120 #define TS_MAXX 900 #define TS_MINY 70 #define TS_MAXY 920
#CSPIN 10 təyin edin
#LCD_CS A3 təyin edin
#define LCD_CD A2 #LCD_WR A1 təyin edin #LCD_RD A0 təyin edin #LCD_RESET A4
Bu #define ifadələrinin hər biri IDE -nin adını dəyəri ilə əvəz etməsinə səbəb olur. Burada LCD və SD G/Ç pinlərini təyin edirlər.
// Bəzi 16 bitlik rəng dəyərlərinə adlar təyin edin: #QARA 0x0000 təyin edin #BEYAZ 0xFFFF #QIRMIZI 0xF800 təyin edin MAVİ 0x001F #YEŞİL 0x07E0
Bunlar kodda istifadə olunan rənglərdən bir neçəsidir. #onları təyin etmək kodu oxumağı asanlaşdırır.
#PENRADIUS 3 təyin edin
Bu rəsm qələminin ölçüsünü təyin edir.
#MINPRESSURE 10 təyin edin#MAXPRESSURE 1000 təyin edin
// Daha yaxşı təzyiq dəqiqliyi üçün müqaviməti bilməliyik
// X+ və X arasında- Oxumaq üçün hər hansı bir multimetrdən istifadə edin // İstifadə etdiyim üçün X lövhəsi boyunca 300 ohm olan TouchScreen ts = TouchScreen (XP, YP, XM, YM, 300);
Elegoo_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
Bu ifadələr bir toxunuşu qeyd etmək, toxunma funksiyasını başlatmaq və ekranı işə salmaq üçün lazım olan təzyiqi təyin edir.
Fayl saxlama; int storageSize; int stoX = 1; int stoY = 1;
Bunlar proqramın saxlama hissəsi üçün dəyişənlərdir.
void setup (void) {Serial.begin (9600); Serial.println ("Boya proqramı");
tft.reset ();
uint16_t identifikatoru = tft.readID ();
əgər (identifikator == 0x0101) {identifikator = 0x9341; Serial.println (F ("0x9341 LCD sürücüsü tapıldı")); }
// Ekranı işə salın
tft.begin (identifikator); tft.setRotation (2);
pinMode (13, Çıxış);
// SD kartı işə salın
if (! SD.begin (CSPIN)) {Serial.println ("SD başlatma uğursuz oldu"); qayıtmaq; } Serial.println ("SD başlanğıc");
// Arxa plan çəkin
drawBackground (); }
Quraşdırma funksiyası mövcud olduqda Serialı işə salır, ekranı sıfırlayır, TFT sürücüsünü algılar, ekranı işə salır, kartı işə salır və fon çəkmək üçün bir funksiyanı çağırır.
Döngü funksiyasının əsas hissəsinə keçəcəyəm. Qalan hər şey yalnız toxunma ekranını idarə etmək üçün istifadə olunur.
// Ekran düyməsini aşkar edin və (p.z> MINPRESSURE && p.z <MAXPRESSURE) {// Ölçək p.x = xəritə (p.x, TS_MINX, TS_MAXX, tft.width (), 0); p.y = (tft.height () - xəritə (p.y, TS_MINY, TS_MAXY, tft.height (), 0));
// Çək
if (p.y> 21) {// Məlumatları SD kart yaddaşına saxla = SD.open ("storage.txt", FILE_WRITE); storage.print (p.x); storage.print (","); storage.println (p.y); storage.close ();
// Toxunma mövqeyində nöqtə
tft.fillCircle (p.x, p.y, PENRADIUS, BEYAZ); }
// Sil düyməsi
if ((p.y 198) && (p.x <219)) {deleteStorage (); }
// Yükləmə düyməsi hərəkəti
if ((s.y 219)) {loadStorage (); }}
Bir mətbuat aşkar edilərsə, mətbuat yeri üçün dəyişənlər təyin edin.
Sonra, şəkil çəkmə sahəsinin içərisindədirsə, nöqtəni storage.txt -də SD karta qeyd edin və basıldığı nöqtədə müəyyən bir ölçü və rənglə bir dairə çəkin.
Sonra, mətbuat silmə düyməsinin yerindədirsə, saxlanılan rəsmləri silən bir funksiyanı işlədin. Fərqli ölçülü bir ekran istifadə edirsinizsə, düymə yeri dəyərləri ilə oynamağa çalışın.
Sonra, mətbuat yükləmə düyməsinin yerindədirsə, saxlanılan rəsmini yükləyən bir funksiyanı işlədin. Fərqli ölçülü bir ekran istifadə edirsinizsə, düymə yeri dəyərləri ilə oynamağa çalışın.
İndi funksiyaları izah edəcəyəm.
İlk funksiya, fon və düymələri çəkmək üçün quraşdırmada çağırılır.
void drawBackground () {// Arxa fonu təyin etmək tft.fillScreen (SİYAH);
// Mətni rəngləyin
tft.setTextColor (BEYAZ); tft.setTextSize (3); tft.setCursor (0, 0); tft.println ("Boya");
// Yükləmə düyməsi
tft.fillRect (219, 0, 21, 21, GREEN);
// Sil düyməsi
tft.fillRect (198, 0, 21, 21, RED); }
Ekranı qara rənglə doldurur, Paint sözünü yazır və düymələr üçün rəngli kvadratlar çəkir. Fərqli ölçülü bir ekran istifadə edirsinizsə, düymə yeri dəyərləri ilə oynamağa çalışın.
void deleteStorage () {// SD.remove faylını silin ("storage.txt");
// Arxa planı təyin edin
tft.fillScreen (SİYAH);
// Müvəffəqiyyət mətnini silin
tft.setTextColor (BEYAZ); tft.setTextSize (2); tft.setCursor (0, 0); tft.println ("storage.txt silindi");
// İstifadəçiyə oxusun
gecikmə (2000);
// Çəkməyə davam edin
drawBackground (); }
DeleteStorage funksiyası storage.txt faylını silir, ekranı qara rənglə doldurur və silmək üçün uğur mesajı verir. Daha sonra başqa bir şeyin rənglənməsinə başlamaq üçün drawBackground funksiyasını çağırır.
void loadStorage () {// Yavaş barmaqların gecikməsindən təkrarlardan çəkinin (250);
// Saxlama faylını yoxlayın
if (! SD.exists ("storage.txt"))) {Serial.println ("storage.txt faylı yoxdur"); qayıtmaq; }
// Faylı yalnız oxumaq rejimində açın
saxlama = SD.open ("storage.txt", FILE_READ);
// Məlumat olsa da, while (stoY> 0) {// Vəziyyət dəyişənlərini yeniləyin stoX = storage.parseInt (); stoY = storage.parseInt ();
// Saxlama yerindən çəkin
tft.fillCircle (stoX, stoY, PENRADIUS, BEYAZ); } // storage.close () faylını bağlayın; }
Nəhayət, loadStorage funksiyası saxlama faylını yoxlayır, onu yalnız oxumaq rejimində açır və sonra bu döngəni təkrarlayır:
Daha çox məlumat olduğu müddətcə,
- Vəzifə dəyişənlərini storage.txt -dən ayrılmış məlumatlarla yeniləyin
- Yüklənmiş nöqtədə bir dairə çəkin
Döngü tamamlandıqda və artıq məlumat olmadıqda, saxlama faylını bağlayır.
Bu eskizin kodunu aşağıda tapa bilərsiniz. Sadəcə yükləyin, Arduinoda açın və lövhənizə yükləyin!
Addım 4: Bu proqramı istifadə edin
Arduino -nu bir enerji mənbəyinə - kompüterə, batareyaya, divar siğilinə və s. Qoşun və çəkməyə başlayın. Rəsminizi və saxlanılan məlumatları silmək üçün qırmızı düyməni basın. Anbardan bir rəsm yükləmək və üzərində işləməyə davam etmək üçün yaşıl düyməni basın. Bu şəkildə bir rəsm üzərində dəfələrlə təkrar edə bilərsiniz!
Bir uzantı olaraq, rəsmini kompüterinizdə qurmağa çalışın:
- Məlumatları olan SD kartı kompüterinizə qoşun.
- Storage.txt faylını sevdiyiniz mətn/kod redaktorunda açın.
- Storage.txt -dəki bütün dəyərləri kopyalayın.
- Nöqtə qurma proqramına keçmək üçün bu linki izləyin.
- Soldakı iki nümunə nöqtəni silin.
- Məlumatlarınızı nümunə nöqtələrinin olduğu yerə yapışdırın.
Bu, rəsmlərinizi nümayiş etdirməyin səliqəli bir yoludur - bəlkə də Arduino üzərindəki və ya nöqtə planlayıcısındakı nöqtə rəngini dəyişdirməyə çalışın!
Dəyişikliklər xoş qarşılanır və şərhlərdə bəzi təkliflər görmək istərdim. Buna baxdığınız üçün təşəkkürlər və ümid edirəm ki, öz layihələrinizdə səliqəli istifadə tapacaqsınız!
Tövsiyə:
5 -i 1 Arduino Robotu - Məni izlə - Ardıcıllıq xətti - Sumo - Rəsm - Maneələrin qarşısını almaq: 6 addım
5 -i 1 Arduino Robotu | Məni izlə | Ardıcıllıq xətti | Sumo | Rəsm | Maneələrdən qaçınmaq: Bu robot idarəetmə lövhəsində ATmega328P mikrokontrolörü və L293D motor sürücüsü var. Əlbəttə ki, Arduino Uno lövhəsindən heç bir fərqi yoxdur, ancaq motoru idarə etmək üçün başqa bir qalxana ehtiyac olmadığı üçün daha faydalıdır! Atlamadan azaddır
ISU Tələbəsi olaraq Pulsuz Proqramı Necə Yükləmək olar (Microsoft, Adobe və Təhlükəsizlik Proqramı: 24 addım
ISU Tələbəsi olaraq Pulsuz Proqramı Necə Yükləmək olar (Microsoft, Adobe və Təhlükəsizlik Proqramı: Adobe üçün: 1 -ci addıma keçin. Microsoft üçün: 8 -ci addıma keçin. Təhlükəsizlik üçün: 12 -ci addıma keçin. Azure üçün: 16 -cı addıma keçin
Arduino üçün Rəsm Robotu: 18 Addım (Şəkillərlə birlikdə)
Arduino üçün Çizim Robotu: Qeyd: Bu robotun çap dövrə lövhəsindən istifadə edən, qurulması daha asan olan və IR maneə aşkarlamalı yeni bir versiyası var! Http://bit.ly/OSTurtle-də yoxlayın Bu layihəni ChickTech.org üçün 10 saatlıq seminar üçün hazırladım, məqsədi
VGA Rəsm Proqramı: 5 addım
VGA Rəsm Proqramı: Layihə: Adam Klein, Ian Strachan, Brandon Slater Tamamlamağı planlaşdırdığımız layihə, bir USB siçanındakı məlumatları rəsm proqramı şəklində saxlamaq, təhlil etmək və göstərmək idi. Layihənin arxasındakı fikir siçanı bağlaya bilməkdir
Ucuz, Arduino ilə Uyğun Rəsm Robotu: 15 Addım (Şəkillərlə birlikdə)
Aşağı Qiymətli, Arduino ilə Uyğun Rəsm Robotu: Qeyd: Bu robotun çap lövhəsindən istifadə edən, qurulması daha asan və IR maneə aşkarlamalı yeni bir versiyası var! Http://bit.ly/OSTurtle-də yoxlayın Bu layihəni ChickTech.org üçün 10 saatlıq seminar üçün hazırladım, məqsədi