Мазмұны:

Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф: 4 қадам
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф: 4 қадам

Бейне: Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф: 4 қадам

Бейне: Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф: 4 қадам
Бейне: ESP8266 Project: How to control 2 AC bulb or load using 2 Relay with NodeMCU and D1 Mini over WiFi 2024, Шілде
Anonim
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф
Планшет/телефон Arduino экраны ретінде және 2 долларлық осциллограф

Ардуиноға негізделген жоба үшін 320x240 СКД сенсорлық экранын арзан сатып алуға болатынына қарамастан, планшетті немесе телефонды сенсорлық экран ретінде де, қуат көзі ретінде де пайдалану ыңғайлы болады-әсіресе эскизді прототиптеу және сынау үшін. жоба Сіз Android құрылғысында әлдеқайда жоғары ажыратымдылық пен жақсы көрінетін дисплейге ие бола аласыз (мысалы, сіздің барлық сызықтарыңыз бүркеншікке қарсы болады).

Android негізіндегі экран USB сериясы, Bluetooth немесе WiFi арқылы қосылуы мүмкін (мысалы, ESP8266).

Осы мақсатта мен Adafruit GFX интерфейсінің үлкен жиынтығын іске қосатын Arduino кітапханасымен жұптасатын Android қосымшасын жаздым. Сіз дербес экранды пайдалану үшін оңай тасымалданатын кодты жаза аласыз немесе эскизді Android негізіндегі дисплеймен жалғастыра аласыз. Сіз Android қосымшасынан Arduino эскизін басқару үшін пәрмендер жібере аласыз. Arduino кітапханасы негізінен тақтадан тәуелсіз: ол USB сериялық порт объектісін беретін кез келген тақтамен жұмыс істеуі керек немесе WiFi арқылы ESP8266 немесе Bluetooth арқылы (алдымен тақтаны жұптаңыз).

Тұжырымдаманың дәлелі ретінде мен STI32-O-Scope жобасын ILI9341 дисплейінің орнына VectorDisplay пайдалану үшін жібердім. Нәтижесінде портативті, батареямен жұмыс істейтін 1,7 МС/с осциллографы бар, ол тек $ 2 STM32F103C тақтасын (libmaple негізіндегі Arduino ядросын қолдана отырып), екі сымды, USB OTG кабелін және Android құрылғысын қажет етеді.. Әрине, бұл сізге 0 -ден 3,3 В дейінгі диапазонды алады.

1 -қадам: Бағдарламалық жасақтаманы орнатыңыз

Сізде сүйікті тақтаға Arduino IDE орнатылған және сіздің сүйікті тақтаңызда USB сериялық интерфейсі бар деп ойлаймын.

Эскизге өтіңіз | Кітапхананы қосу | Кітапханаларды басқару. Іздеу аймағына «VectorDisplay» қойыңыз және табылғаннан кейін «Орнату» түймесін басыңыз.

Осы жерден кітапхана zip файлын жүктеп алыңыз.

Arduino/libraries қалтасындағы қалтаны ашыңыз.

Google Play -ден VectorDisplay жүктеп алып, оны Android құрылғысына орнатыңыз. Сізге Android құрылғысында белгісіз көздерден орнатуды қосу қажет болуы мүмкін. Android қолданбасы UsbSerial кітапханасын пайдаланады және бастапқы нүкте кітапханаға арналған қосымшалардың бірі болды.

2 -қадам: Демо эскиз

Демо эскиз
Демо эскиз
Демо эскиз
Демо эскиз
Демо эскиз
Демо эскиз
Демо эскиз
Демо эскиз

Тақтаны компьютерге қосыңыз (қажет болса жүктеу режимінде) және File | өтіңіз Мысалдар | VectorDisplay | Arduino IDE ішіндегі шеңберлер. Жүктеу түймесін басыңыз (оң жақ көрсеткі).

Android құрылғысында VectorDisplay қосымшасын іске қосыңыз. Тақтаны USB OTG кабелі арқылы Android құрылғысына қосыңыз. (Егер сіздің тақтаңызда USB микро порты болса, USB OTG хост жағы Android құрылғысына өтетініне көз жеткізіңіз). Енді сіз VectorDisplay үшін рұқсат сұрауын алуыңыз керек. OK түймесін басыңыз.

Егер бәрі ойдағыдай болса, енді VectorDisplay экранның сол жағында екі түймені көрсетеді: шеңбер мен түс. Шеңберді басу экранда кездейсоқ шеңбер сызады, ал Түс келесі шеңбердің алдында түсті кездейсоқ түске өзгертеді.

Егер сіз IDE шеңберіндегі эскизге қарасаңыз, онда векторлық сериялық дисплей жарияланғанын көресіз:

SerialDisplayClass дисплейі;

содан кейін setup () ішінде инициализацияланған:

Display.begin ();

Содан кейін Display.addButton () көмегімен командалық түймелер сұралады. Содан кейін цикл () пәрмен түймелері арқылы жіберілетін командаларды іздеу үшін Display.readMessage () шақырады.

Әдепкі бойынша дисплейдің координат жүйесі 240х320. Дегенмен, сызықтар мен мәтіндердің барлығы сіздің Android құрылғыңыздың экранының толық ажыратымдылығының көмегімен, сыртқы келбеті жақсартылған. Сондықтан қосымша векторлық дисплей деп аталады.

3 -қадам: API

Кітапханадағы API VectorDisplay.h файлында. Алдымен Display объектісін инициализациялау қажет. USB пайдалану үшін мұны келесі әрекеттерді орындаңыз:

SerialDisplayClass дисплейі;

Display.begin () көмегімен қосылымды баптаңыз.

SerialDisplayClass нысанында екі әдіс бар: бір жиын 32-разрядты (оның ішінде альфа) және менің VectorDisplay қолданбасы қолданатын USB сериялық протоколына жақын командаларды қолданады, ал екінші жиын стандарттың жиынтығы болып табылады. Adafruit GFX кітапханасының әдістері, 16-разрядты түспен. Егер сіз Adafruit үйлесімді әдістерін қолдансаңыз, 32-биттік орнына 565-пен аяқталатын 16-разрядты пәрмендерді қолдану керек, қоспағанда, сіз көп жағдайда екі командалар жиынтығын еркін араластыра аласыз.

Координаттар жүйесін Display.coordinates көмегімен орнатуға болады (ені, биіктігі). Әдепкі бойынша ені = 240 және биіктігі = 320. Егер сіз квадрат емес пиксельді дисплейге еліктегіңіз келсе, Display.pixelAspectRatio (қатынас) қолдануға болады.

Кейбір әдістер, соның ішінде pixelAspectRatio (), FixedPoint32 аргументін қабылдайды. Бұл өзгермелі нүкте санын білдіретін 32 биттік бүтін сан, мұнда 65536 1.0 мәнін білдіреді. Жылжымалы нүкте санын FixedPoint32 -ге түрлендіру үшін: (FixedPoint32) (65536. * X) (немесе жай ғана TO_FP32 (x)) орындаңыз.

Android түймелерінен пәрмендерді жібере алудан басқа, экранның сенсорлық оқиғалары MCU -ға жіберіледі.

Wi -Fi желісін пайдалану үшін, Circles_esp8266 мысалын қараңыз. WiFi режиміне ауысу үшін қолданбадағы USB түймесін басу қажет.

Bluetooth үшін келесі әрекеттерді орындау қажет:

SerialDisplayClass дисплейі (MyBluetoothSerial);

… MyBluetoothSerial.begin (115200); Display.begin ();

содан кейін USB сериялық корпусындағыдай жалғастырыңыз, мұнда MyBluetoothSerial - бұл Bluetooth адаптеріне қосылған кез келген Stream нысаны (мысалы, Serial2).

4 -қадам: 2 доллар тұратын осциллограф

2 доллар тұратын осциллограф
2 доллар тұратын осциллограф
2 доллар тұратын осциллограф
2 доллар тұратын осциллограф
2 доллар тұратын осциллограф
2 доллар тұратын осциллограф

Жылдам және лас осциллограф үшін сізге көк немесе қара (емдеуге оңай) таблетка STM32F103C8 қажет болады, оны Aliexpress -те 2 доллардан төмен алуға болады. Мен тақтаны Arduino ортасында қолдануға дайындау және осында эскиздерді орнату жолдарын сипаттаймын.

Бұл нобайды Pingumacpenguin STM32-O-Scope эскизінің өзгертілген нұсқасы болып табылатын тақтаға жүктеп алыңыз. Тақтаға сәйкес келетін #deine BOARD_LED жолын өңдеңіз. Мен қара таблетканы қолданамын, оның светодиоды PB12. Көк таблеткаларда (және көк таблеткамен бірдей түйіспесі бар кейбір қара таблеткаларда) PC13 жарық диоды бар.

Бір сымды-жерге зондты-тақтаның жеріне, ал басқа сымды тақтаның В0 түйреуішіне қосыңыз. Тақтаны VectorDisplay жұмыс істейтін Android құрылғысына қосыңыз, сізде портативті, батареямен жұмыс істейтін осциллограф бар.

Фотосуретте менде фототранзисторға қосылған осциллограф бар. Экрандағы із теледидардың инфрақызыл қашықтан басқару пультінен.

Ұсынылған: