Агуулгын хүснэгт:

Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф: 4 алхам
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф: 4 алхам

Видео: Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф: 4 алхам

Видео: Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф: 4 алхам
Видео: #15 HC 05 Bluetooth Modbus Android HMI | Внешний ПЛК Arduino 2024, Арваннэгдүгээр
Anonim
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф
Таблет/утас Arduino дэлгэц болон 2 долларын осциллограф

Arduino-д суурилсан төсөлд зориулж 320x240 хэмжээтэй LCD мэдрэгчтэй дэлгэцийг хямд үнээр худалдаж авах боломжтой боловч, ялангуяа ноорогыг загварчлах, туршихад илүү тохиромжтой нь таблет эсвэл утсыг мэдрэгчтэй дэлгэц, тэжээлийн эх үүсвэр болгон ашиглах явдал юм. төсөл. Та Андройд төхөөрөмж дээрээ илүү өндөр нарийвчлалтай, илүү сайн харагдах дэлгэцтэй байж болно (жишээ нь, таны бүх мөрүүд нэрээ алдсан байх болно).

Андройд дээр суурилсан дэлгэцийг USB сериал, Bluetooth эсвэл WiFi (жишээ нь, ESP8266) ашиглан холбож болно.

Үүний тулд би Adafruit GFX интерфэйсийн томоохон хэсгийг хэрэгжүүлдэг Arduino номын сантай хосолсон Андройд аппликэйшн болох VectorDisplay (энд байгаа эх сурвалж) -ыг бичсэн. Та код бичиж, дараа нь бие даасан дэлгэц ашиглах эсвэл Android дээр суурилсан дэлгэц ашиглан ноорогоо үргэлжлүүлэн ашиглаж болно. Та Arduino -ийн ноорогыг хянахын тулд Android програмаас тушаал илгээх боломжтой. Arduino номын сан нь ерөнхийдөө самбараас хараат бус байдаг: энэ нь USB цуваа портын сериал нэртэй аливаа самбартай эсвэл ESP8266 WiFi эсвэл Bluetooth-ээр ажилладаг байх ёстой (эхлээд самбараа хослуул).

Үзэл баримтлалын нотолгоо болгон би ILI9341 дэлгэцийн оронд VectorDisplay-ийг ашиглахын тулд STM32-O-Scope хэмээх нүцгэн төслийг зөөв. Үр дүн нь (ирмэг орчим нь барзгар) зөөврийн, зайгаар ажилладаг 1.7MS/с осциллограф бөгөөд үүнд 2 долларын үнэтэй STM32F103C хавтан (libmaple дээр суурилсан Arduino цөмийг ашиглах), хоёр утас, USB OTG кабель, Андройд төхөөрөмж хэрэгтэй болно.. Мэдээжийн хэрэг, танд 0 -ээс 3.3V хүртэл хүч хэрэгтэй болно.

Алхам 1: Програм хангамжийг суулгана уу

Таны дуртай самбар дээр Arduino IDE суулгасан бөгөөд таны дуртай самбар USB цуваа интерфэйстэй гэж би бодож байна.

Sketch | руу очно уу Номын сан оруулах | Номын санг удирдах. "VectorDisplay" -г хайлтын талбарт оруулаад олсны дараа "Суулгах" дээр дарна уу.

Номын сангийн зипийг эндээс татаж авна уу.

Arduino/libraries фолдер доторх фолдерыг задлаарай.

Google Play дээрээс VectorDisplay татаж аваад Андройд төхөөрөмж дээрээ суулгаарай. Та Андройд төхөөрөмж дээрээ үл мэдэгдэх эх сурвалжаас суулгалтыг идэвхжүүлэх шаардлагатай болж магадгүй юм. Андройд апп нь UsbSerial номын санг ашигладаг бөгөөд эхлэх цэг нь номын сангийн жишээ програмуудын нэг юм.

Алхам 2: Демо ноорог

Демо ноорог
Демо ноорог
Демо ноорог
Демо ноорог
Демо ноорог
Демо ноорог
Демо ноорог
Демо ноорог

Самбараа (шаардлагатай бол байршуулах горимд) компьютертээ холбоод File | руу очно уу Жишээ | VectorDisplay | таны Arduino IDE дахь тойрог. Байршуулах товчийг дарна уу (баруун сум).

Андройд төхөөрөмж дээрээ VectorDisplay програмыг ажиллуулна уу. USB OTG кабелиар самбараа Андройд төхөөрөмжид холбоно уу. (Хэрэв таны самбар USB микро порттой бол таны USB OTG хост тал нь Андройд төхөөрөмж рүү явж байгаа эсэхийг шалгаарай). Та одоо VectorDisplay -ийн зөвшөөрлийн хүсэлтийг авах ёстой. OK дарна уу.

Хэрэв бүх зүйл сайн болвол VectorDisplay нь дэлгэцийн зүүн талд тойрог ба өнгө гэсэн хоёр товчлуурыг харуулна. Тойрог дарах нь дэлгэцэн дээр санамсаргүй тойрог зурах бөгөөд Өнгө нь дараагийн тойргийн өмнө өнгийг санамсаргүй өнгө болгон өөрчилдөг.

Хэрэв та IDE дээрх тойрог зургуудыг харвал цуврал вектор дэлгэцийг дараах байдлаар зарласан болохыг харах болно.

SerialDisplayClass дэлгэц;

дараа нь setup () дээр дараах байдлаар эхлүүлэв.

Display.begin ();

Дараа нь Display.addButton () ашиглан командын товчлууруудыг оруулах шаардлагатай болно. Дараа нь loop () нь Display.readMessage () руу залгаж командын товчлууруудаар дамжуулж буй командуудыг хайх болно.

Анхдагч байдлаар дэлгэцийн координатын систем нь 240x320 хэмжээтэй байна. Гэсэн хэдий ч шугам, текстийг бүхэлд нь таны Андройд төхөөрөмжийн дэлгэцийн бүрэн нарийвчлалыг ашиглан зурж, өнгө үзэмж сайтай болгодог. Тийм ч учраас уг програмыг Вектор дэлгэц гэж нэрлэдэг.

Алхам 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)).

Андройд товчлууруудаас тушаал илгээхээс гадна дэлгэцийн мэдрэгчтэй үйл явдлыг MCU руу илгээдэг.

WiFi ашиглахын тулд тойрог_esp8266 жишээг үзнэ үү. WiFi горимд шилжихийн тулд та програмын USB товчлуурыг дарах хэрэгтэй болно.

Bluetooth -ийн хувьд та дараахь зүйлийг хийх ёстой.

SerialDisplayClass дэлгэц (MyBluetoothSerial);

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

Дараа нь USB цуваа хайрцаг шиг MyBluetoothSerial -ийг Stream объект (жишээ нь, Serial2) нь таны Bluetooth адаптертай холбосон байдлаар үргэлжлүүлнэ.

Алхам 4: 2 долларын үнэтэй осциллограф

2 долларын үнэтэй осциллограф
2 долларын үнэтэй осциллограф
2 долларын үнэтэй осциллограф
2 долларын үнэтэй осциллограф
2 долларын үнэтэй осциллограф
2 долларын үнэтэй осциллограф

Хурдан, бохир осциллографын хувьд танд цэнхэр эсвэл хар өнгийн (эмчлэхэд илүү хялбар) STM32F103C8 эм хэрэгтэй болно, үүнийг Aliexpress дээрээс 2 доллараас хямд үнээр авах боломжтой. Би самбарыг Arduino орчинд ашиглахад хэрхэн бэлтгэх, энд ноорог суулгах талаар тайлбарласан болно.

Pingumacpenguin-ийн STM32-O-Scope зургийн өөрчилсөн хувилбар болох энэхүү ноорогыг самбар дээрээс татаж аваарай. Удирдах самбартаа тохируулахын тулд #тодорхойлох BOARD_LED мөрийг засна уу. Би LED эм PB12 хар эм хэрэглэдэг. Цэнхэр бэлдмэлүүд (мөн цэнхэр эмүүдтэй ижил хар өнгөтэй зарим хар эмүүд) нь PC13 дээр LED байдаг.

Нэг утас-газардуулгын датчикийг самбарын газард, нөгөө утсыг самбарын B0 зүү рүү холбоно уу. Самбарыг VectorDisplay ажиллаж байгаа Андройд төхөөрөмжид залгаад зөөврийн, батерейгаар ажилладаг осциллографтой болно.

Зураг дээр би осциллографыг фототранзисторт холбосон байна. Дэлгэц дээрх ул мөр нь телевизийн хэт улаан туяаны алсын удирдлага юм.

Зөвлөмж болгож буй: