![Arduino TFT сурет салу бағдарламасы: 4 қадам Arduino TFT сурет салу бағдарламасы: 4 қадам](https://i.howwhatproduce.com/images/005/image-13601-j.webp)
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51
![Arduino TFT сурет салу бағдарламасы Arduino TFT сурет салу бағдарламасы](https://i.howwhatproduce.com/images/005/image-13601-1-j.webp)
![Arduino TFT сурет салу бағдарламасы Arduino TFT сурет салу бағдарламасы](https://i.howwhatproduce.com/images/005/image-13601-2-j.webp)
![Arduino TFT сурет салу бағдарламасы Arduino TFT сурет салу бағдарламасы](https://i.howwhatproduce.com/images/005/image-13601-3-j.webp)
Бұл нұсқаулық Arduino TFT экраны үшін сурет салу бағдарламасын жасайтын кодты егжей -тегжейлі түсіндіреді. Бұл бағдарлама бірегей болып табылады, өйткені ол SD картасына суретті сақтауға және кейінірек оны түзетуге мүмкіндік береді!
Жабдықтар
- Arduino Uno - түпнұсқа немесе үйлесімді клон
- TFT сенсорлық экраны - мен Elegoo экранын қолдандым, яғни маған Elegoo драйверлері қажет болды.
- Micro SD оқу тақтасы - сызба деректерін SD картасына сақтау үшін қолданылады. Менің экранымның астында дисплейдің кіріктірілген оқырманы болды.
- Стилус - менің экраным бірімен келді. Тырнақтар да жақсы жұмыс істейді.
- Micro SD картасы - 32 ГБ -тан аспайды, exFAT форматтау шектеулеріне байланысты (Arduino FAT32 пішімделген карталарды оқи алады, бірақ exFAT ЕМЕС. Үлкен карталардың көпшілігі exFAT -пен пішімделген.). Бұл кеңейтілген жады бар телефонға салатын түрі.
- Arduino IDE бар компьютер
- Бағдарламалау кабелі - USB A - USB B. My Arduino бірімен бірге келді.
- SD картасының адаптері - Micro SD картасын SD ұяшығына немесе SD картасын USB ұяшығына қосатын стандартты SD картасына түрлендіру үшін қолданылады.
1 -қадам: SD картасын пішімдеңіз
![SD картасын пішімдеу SD картасын пішімдеу](https://i.howwhatproduce.com/images/005/image-13601-4-j.webp)
![SD картасын пішімдеу SD картасын пішімдеу](https://i.howwhatproduce.com/images/005/image-13601-5-j.webp)
- Micro SD картасын алып, оны SD картасын оқу құрылғысының көмегімен компьютерге бекітіңіз
- File Explorer бағдарламасын ашып, SD картасын табыңыз.
- Оны тінтуірдің оң жақ түймешігімен нұқыңыз және Формат таңдаңыз.
- Скриншот негізінде опцияларды орнатыңыз.
- Бастау түймешігін басыңыз.
- Процесс аяқталған кезде картаны шығарыңыз.
Егер сіз Windows жүйесімен жұмыс жасамасаңыз, SD ассоциациясынан SD Formatter қолданып көріңіз.
2 -қадам: Arduino дайындаңыз
![Arduino дайындаңыз Arduino дайындаңыз](https://i.howwhatproduce.com/images/005/image-13601-6-j.webp)
![Arduino дайындаңыз Arduino дайындаңыз](https://i.howwhatproduce.com/images/005/image-13601-7-j.webp)
- Түйреуіштерді реттеуге қамқорлық жасай отырып, экран қалқанын Arduino үстіне басыңыз.
- SD картасын экран астындағы оқу құралына салыңыз.
3 -қадам: Arduino эскизі
Бөлшектер тізімі өте қарапайым болғанымен, көптеген код бар. Мен мұнда кезең-кезеңмен өтемін.
#қосу
#қосу #қосу #қосу #қосу
Elegoo_GFX, _TFTLCD және TouchScreen барлығы аппараттық құралдарға тән. Егер сіз басқа экранды қолдансаңыз, өндіруші ұсынған кітапханаларды пайдаланыңыз.
SD картасымен байланыс үшін SPI және SD қолданылады. SPI - бұл SD картасының контроллері қолданатын хаттама.
#анықталған болса (_ SAM3X8E _) #undef _FlashStringHelper:: F (string_literal) #define 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
Осы #define операторларының әрқайсысы IDE атауын мәнмен алмастырады. Мұнда олар СКД мен SD енгізу -шығару түйреуіштерін орнатады.
// Кейбір 16-разрядтық түс мәндеріне аттарды тағайындаңыз: #ҚАРА 0x0000 анықтаңыз #ақты анықтаңыз 0xFFFF #анықтаңыз ҚЫЗЫЛ 0xF800 #анықтаңыз КӨК 0x001F #анықтаңыз ЖАСЫЛ 0x07E0
Бұл кодта қолданылатын бірнеше түстер. #оларды анықтау кодты оқуды жеңілдетеді.
#анықтаңыз PENRADIUS 3
Бұл сурет қаламының көлемін анықтайды.
#MINPRESSURE 10 анықтаңыз#MAXPRESSURE 1000 анықтаңыз
// Жақсы қысым дәлдігі үшін біз қарсылықты білуіміз керек
// 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 storageSize; int stoX = 1; int stoY = 1;
Бұл бағдарламаның сақтау бөлігінің айнымалылары.
void setup (void) {Serial.begin (9600); Serial.println («Paint бағдарламасы»);
tft.reset ();
uint16_t идентификаторы = tft.readID ();
if (идентификатор == 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 (); }
Орнату функциясы бар болса, Serial -ды бастайды, экранды қалпына келтіреді, TFT драйверін анықтайды, экранды қосады, картаны іске қосады және фонды суретке түсіру функциясын шақырады.
Мен цикл функциясының негізгі бөлігіне өтемін. Қалғанның бәрі сенсорлық экранды басқару үшін қолданылады.
// Дисплей экранын басып, оны айнымалыларға сақтаңыз, егер (p.z> MINPRESSURE && p.z <MAXPRESSURE) {// Масштаб p.x = карта (p.x, TS_MINX, TS_MAXX, tft.width (), 0); p.y = (tft.height () - карта (p.y, TS_MINY, TS_MAXY, tft.height (), 0));
// Сурет салу
if (p.y> 21) {// Деректерді SD картасында сақтау = SD.open («storage.txt», FILE_WRITE); сақтау.баспа (p.x); storage.print («,»); сақтау.println (p.y); storage.close ();
// Нүкте сенсорлық күйде
tft.fillCircle (p.x, p.y, PENRADIUS, WHITE); }
// Жою батырмасы
if ((б. 198) && (p.x <219)) {deleteStorage (); }
// Жүктеу батырмасының әрекеті
if ((p. 219)) {loadStorage (); }}
Егер басу анықталса, басу орны үшін айнымалыларды орнатыңыз.
Содан кейін, егер басу сызба аймағында болса, нүктені SD картасына storage.txt -те сақтаңыз және басылған нүктеде өлшемі мен түсі бар шеңбер сызыңыз.
Содан кейін, егер басу жою түймесінің орнында болса, сақталған сызбаны жоятын функцияны орындаңыз. Егер сіз басқа өлшемді экранды қолдансаңыз, түйменің орналасу мәндерімен ойнауға тырысыңыз.
Содан кейін, егер басу жүктеу түймесінің орнында болса, сақталған суретті жүктейтін функцияны іске қосыңыз. Егер сіз басқа өлшемді экранды қолдансаңыз, түйменің орналасу мәндерімен ойнауға тырысыңыз.
Енді мен функцияларды түсіндіремін.
Бірінші функция фон мен батырмаларды салу үшін орнатуда шақырылады.
void drawBackground () {// Фонды орнату tft.fillScreen (BLACK);
// Мәтінді бояу
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 () {// SD.remove файлын жою («storage.txt»);
// Фонды орнатыңыз
tft.fillScreen (ҚАРА);
// Сәттілік мәтінін жою
tft.setTextColor (АҚ); tft.setTextSize (2); tft.setCursor (0, 0); tft.println («storage.txt жойылды»);
// Пайдаланушыға оны оқуға рұқсат етіңіз
кешіктіру (2000);
// Суретті жалғастырыңыз
drawBackground (); }
DeleteStorage функциясы storage.txt файлын жояды, экранды қара түске толтырады және жою туралы сәтті хабар береді. Содан кейін drawBackground функциясын шақырады, ол сізге басқа нәрсені бояуды бастауға мүмкіндік береді.
void loadStorage () {// баяу саусақтардың кешігуінен қайталаудан аулақ болыңыз (250);
// Сақтау файлын тексеріңіз
if (! 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 -қадам: Бұл бағдарламаны пайдалану
![Бұл бағдарламаны қолдану Бұл бағдарламаны қолдану](https://i.howwhatproduce.com/images/005/image-13601-8-j.webp)
Arduino -ды қуат көзіне - компьютерге, батареяға, қабырғаға және басқаларға қосыңыз және сурет салуды бастаңыз. Сызбаны және оның сақталған деректерін өшіру үшін қызыл түймені басыңыз. Сызбаны қоймадан жүктеу және онымен жұмыс істеуді жалғастыру үшін жасыл түймені басыңыз. Осылайша сіз суретті бірнеше рет қайталай аласыз!
Кеңейтім ретінде суретті компьютерге салып көріңіз:
- Деректері бар SD картасын компьютерге қосыңыз.
- Storage.txt файлын сүйікті мәтін/код редакторында ашыңыз.
- Storage.txt ішіндегі барлық мәндерді көшіріңіз.
- Осы сілтемені қолданып, нүктелік диаграмма жасаңыз.
- Сол жақтағы екі мысалды нүктені жойыңыз.
- Деректеріңізді мысал болған жерлерге қойыңыз.
Бұл сіздің сызбаларыңызды көрсетудің тамаша тәсілі - мүмкін Arduino немесе нүкте -плоттердегі нүктенің түсін өзгертуге тырысыңыз!
Өзгерістер құпталады, мен түсініктемелерде кейбір ұсыныстарды көргім келеді. Мұны қарағаныңыз үшін рахмет, мен сіз оны өзіңіздің жобаларыңызда ұқыпты қолдана аласыз деп үміттенемін!
Ұсынылған:
Адафрут қалқаны бар сурет салу роботы (оны жылжыту сайысы): 10 қадам (суреттермен)
![Адафрут қалқаны бар сурет салу роботы (оны жылжыту сайысы): 10 қадам (суреттермен) Адафрут қалқаны бар сурет салу роботы (оны жылжыту сайысы): 10 қадам (суреттермен)](https://i.howwhatproduce.com/images/002/image-4393-19-j.webp)
Адафрут қалқаны бар сурет салу роботы (оны жылжыту сайысы): Сәлеметсіз бе, менің есімдерім Джейкоб және мен Ұлыбританияда тұрамыз. Бұл жобада мен сізге сурет салатын робот құрастырамын. *Мен көпшілігіңіз көргіңіз келетініне сенімдімін, сондықтан білгіңіз келсе, екінші қадамға өтіңіз, соңғы қадамға өтіңіз, бірақ міндетті түрде көру үшін осында келіңіз
Лазерлік сурет салу машинасы: 8 қадам (суреттермен)
![Лазерлік сурет салу машинасы: 8 қадам (суреттермен) Лазерлік сурет салу машинасы: 8 қадам (суреттермен)](https://i.howwhatproduce.com/images/009/image-24852-j.webp)
Лазерлік сурет салу машинасы: ✨ Фосфоресцентті жарық жолдарын нөлден бастап толығымен құрастырылған машинамен сызыңыз! Оқиға: Аралық аптаның арасындағы үзілістерді оқу кезінде мен досым Бретт екеуміз лазер мен айна жүйесін қолданатын осы машинаны жасап шығардық
Трейси - сурет салу машинасы: 22 қадам (суреттермен)
![Трейси - сурет салу машинасы: 22 қадам (суреттермен) Трейси - сурет салу машинасы: 22 қадам (суреттермен)](https://i.howwhatproduce.com/images/002/image-3421-27-j.webp)
Трейси - сурет салу машинасы: бұл нұсқаулық - бұл орындалатын жұмыс - біз оны жеңілдету үшін көп жұмыс жасаймыз, бірақ бастапқы жобалар үшін өндіруші тәжірибесі, 3d басып шығару, бөлшектерді құрастыру, электронды бөлшектерді дәнекерлеу, Arduino IDE және т
Ардуиноға сурет салу роботы: 18 қадам (суреттермен)
![Ардуиноға сурет салу роботы: 18 қадам (суреттермен) Ардуиноға сурет салу роботы: 18 қадам (суреттермен)](https://i.howwhatproduce.com/images/005/image-12559-11-j.webp)
Ардуиноға арналған сурет роботы: Ескертпе: Менде бұл роботтың баспа платасы пайдаланылатын, құрастырылуы жеңіл және инфрақызыл кедергілерді анықтайтын жаңа нұсқасы бар! Оны мына жерден қараңыз: http://bit.ly/OSTurtleI бұл жобаны ChickTech.org үшін 10 сағаттық семинарға арналған, оның мақсаты-мен
Arduino CNC сурет салу машинасы (немесе табысқа апаратын жол): 10 қадам (суреттермен)
![Arduino CNC сурет салу машинасы (немесе табысқа апаратын жол): 10 қадам (суреттермен) Arduino CNC сурет салу машинасы (немесе табысқа апаратын жол): 10 қадам (суреттермен)](https://i.howwhatproduce.com/images/002/image-3423-68-j.webp)
Arduino CNC сурет салу машинасы (немесе табысқа апаратын жол): Бұл жоба негізінен табуға оңай элементтерге негізделген. Идея - пайдаланылмайтын екі компьютерлік дискі бірлігін алып, оларды CNC машинасына ұқсас автоматты сурет машинасын жасау. Дискілерде қолданылатын бөліктерге мо кіреді