Sadržaj:
Video: Tablet/telefon kao Arduino ekran i osciloskop od 2 USD: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Iako se može kupiti jeftin LCD zaslon osjetljiv na dodir veličine 320x240 za projekt zasnovan na Arduinu, može biti prikladnije-posebno za izradu prototipova i testiranje skice-koristiti tablet ili telefon kao zaslon osjetljiv na dodir i izvor napajanja za projekt. Na Android uređaju možete imati puno veću razlučivost i ljepši prikaz (na primjer, sve vaše linije bit će uklonjene s druge strane).
Zaslon zasnovan na Androidu mogao bi se povezati putem USB serijske veze, Bluetootha ili WiFi-a (npr. ESP8266).
U tu svrhu napisao sam VectorDisplay (izvor ovdje), Android aplikaciju koja se uparuje s Arduino knjižnicom koja implementira veliki podskup Adafruit GFX sučelja. Možete napisati kôd koji se zatim može lako prenijeti na samostalni zaslon ili nastaviti koristiti skicu s zaslonom temeljenim na Androidu. I možete poslati naredbe iz Android aplikacije za kontrolu Arduino skice. Arduino knjižnica uvelike je neovisna o ploči: trebala bi raditi sa bilo kojom pločom koja nudi objekt serijskog USB porta pod nazivom Serial ili s ESP8266 preko WiFi-a ili Bluetooth-a (prvo uparite svoju ploču).
Kao dokaz primjene koncepta, prenio sam projekt STM32-O-Scope s golim kostima da koristim VectorDisplay umjesto zaslona ILI9341. Rezultat je (grub po rubovima) prijenosni, osciloskop s pogonom na bateriju od 1,7MS/s koji ne zahtijeva ništa više od 2 USD vrijedne ploče STM32F103C (pomoću jezgre Arduino zasnovane na libmapleu), dvije žice, USB OTG kabel i Android uređaj. Naravno, sve što dobijete s ovim je raspon od 0 do oko 3,3 V.
Korak 1: Instalirajte softver
Pretpostavljam da ste za svoju omiljenu ploču postavili Arduino IDE i da vaša omiljena ploča ima USB serijsko sučelje.
Idite na Sketch | Uključi knjižnicu | Upravljajte knjižnicama. Stavite "VectorDisplay" u područje pretraživanja i kliknite "Install" kada se pronađe.
Zip knjižnice preuzmite odavde.
Raspakirajte u mapu unutar mape Arduino/biblioteke.
Preuzmite VectorDisplay s Google Playa i instalirajte ga na svoj Android uređaj. Možda ćete morati omogućiti instalaciju iz nepoznatih izvora na svom Android uređaju. Aplikacija Android koristi biblioteku UsbSerial, a početna točka bila je jedna od primjera aplikacija za biblioteku.
Korak 2: Demo skica
Povežite ploču (u načinu prijenosa ako je potrebno) s računalom i idite na Datoteka | Primjeri | VectorDisplay | krugova u vašem Arduino IDE -u. Pritisnite gumb za prijenos (strelica desno).
Pokrenite aplikaciju VectorDisplay na svom Android uređaju. Priključite ploču u Android uređaj putem USB OTG kabela. (Ako vaša ploča ima USB mikro priključak, pobrinite se da vaša USB OTG strana domaćina ide na Android uređaj). Sada biste trebali dobiti upit za dopuštenje za VectorDisplay. Pritisnite OK.
Ako sve bude u redu, VectorDisplay će sada prikazati dva gumba na lijevoj strani zaslona: Krug i Boja. Pritiskom na krug na ekranu se iscrtava nasumični krug, a boja mijenja boju u nasumičnu boju prije sljedećeg kruga.
Ako pogledate skicu krugova u IDE -u, vidjet ćete da je prikaz serijskog vektora deklariran sa:
SerialDisplayClass zaslon;
a zatim inicijaliziran u setup () s:
Display.begin ();
Zatim se traže naredbeni gumbi s Display.addButton (). Zatim loop () poziva Display.readMessage () da traži naredbe koje se šalju putem naredbenih gumba.
Prema zadanim postavkama, koordinatni sustav za prikaz je 240x320. Međutim, sve linije i tekst iscrtani su punom razlučivošću zaslona vašeg Android uređaja, s antialiasingom za dobar izgled. Zato se aplikacija naziva Vector Display.
Korak 3: API
API u knjižnici nalazi se u datoteci VectorDisplay.h. Najprije morate inicijalizirati objekt prikaza. Za upotrebu USB -a učinite to s:
SerialDisplayClass zaslon;
Inicijalizirajte vezu s Display.begin ().
U objektu SerialDisplayClass dostupna su dva skupa metoda: jedan skup koristi 32-bitnu boju (uključujući alfa) i naredbe koje su prilično bliske USB serijskom protokolu koji koristi moja aplikacija VectorDisplay, a drugi skup je podskup standarda Metode biblioteke Adafruit GFX, koristeći 16-bitnu boju. Uglavnom možete slobodno miješati dva skupa naredbi, s izuzetkom da ako koristite metode kompatibilne s Adafruitom, trebate koristiti 16-bitne naredbe u boji čija imena završavaju s 565 umjesto 32-bitnih.
Koordinatni sustav možete postaviti pomoću Display.coordinates (širina, visina). Zadana vrijednost je širina = 240 i visina = 320. Ako želite oponašati zaslon s ne-kvadratnim pikselima, možete koristiti Display.pixelAspectRatio (omjer).
Nekoliko metoda, uključujući pixelAspectRatio (), uzimaju argument FixedPoint32. Ovo je 32-bitni cijeli broj koji predstavlja broj s pomičnim zarezom, gdje 65536 predstavlja 1,0. Za pretvaranje broja s pomičnim zarezom x u FixedPoint32 učinite sljedeće: (FixedPoint32) (65536. * X) (ili samo TO_FP32 (x)).
Osim što mogu slati naredbe s Android tipki, događaji dodira zaslona šalju se i na MCU.
Za korištenje WiFi -a pogledajte primjer circu_esp8266. Morat ćete pritisnuti gumb USB u aplikaciji da biste se prebacili u WiFi način.
Za Bluetooth trebali biste moći učiniti sljedeće:
Zaslon SerialDisplayClass (MyBluetoothSerial);
… MyBluetoothSerial.begin (115200); Display.begin ();
a zatim nastavite isto kao u USB serijskom kućištu, gdje je MyBluetoothSerial bilo koji Stream objekt (npr. Serial2) spojen na vaš Bluetooth adapter.
Korak 4: Osciloskop od 2 USD
Za brzi i prljavi osciloskop trebat će vam plava ili crna ploča (s kojom se lakše nositi) pilula STM32F103C8, koju možete nabaviti na Aliexpressu za manje od 2 USD. Opisujem kako pripremiti ploču za upotrebu s okruženjem Arduino za nju i ovdje instalirati skice.
Preuzmite ovu skicu na ploču, koja je modificirana verzija Pingumacpenguinove skice STM32-O-Scope. Uredite liniju #define BOARD_LED tako da odgovara vašoj ploči. Koristim crnu tabletu čija je LED dioda PB12. Plave pilule (i neke crne pilule koje imaju isti pinout kao plava pilula) imaju LED na PC13.
Spojite jednu žicu-sondu za uzemljenje-na masu ploče, a drugu žicu na pin B0 ploče. Uključite ploču u Android uređaj s pokrenutim VectorDisplay i imate prijenosni osciloskop na baterije.
Na fotografiji imam osciloskop spojen na fototranzistor. Trag na ekranu je s infracrvenog daljinskog upravljača televizora.
Preporučeni:
Arduino Kao ISP -- Snimanje šesterokutne datoteke u AVR -u -- Osigurač u AVR -u -- Arduino kao programer: 10 koraka
Arduino Kao ISP || Snimanje šesterokutne datoteke u AVR -u || Osigurač u AVR -u || Arduino kao programer: ……………………… Pretplatite se na moj YouTube kanal za više videa …….. Ovaj članak je sve o arduinu kao isp. Ako želite učitati šesterokutnu datoteku ili želite postaviti osigurač u AVR, onda ne morate kupiti programer, možete učiniti
PIWOOLET (Pi.WOOd.tabLET): Samo drugi PI tablet: 10 koraka (sa slikama)
PIWOOLET (Pi.WOOd.tabLET): Samo još jedan PI tablet: Uvod - zašto sam to shvatio? Odgovor je tako jednostavan: samo za zabavu :-) Nekoliko mojih glavnih ciljeva je zadržati pristup HDMI priključku; zadržati pristup audio izlazu; održavati pristup GPIO -u; zadržite pristup barem jednom USB priključku. BOM Rasp
Kako koristiti Wiimote kao računalni miš koristeći svijeće kao senzor !!: 3 koraka
Kako koristiti Wiimote kao računalni miš koristeći svijeće kao senzor !!: Ovaj vodič će vam pokazati kako povezati Wii Remote (Wiimote) s računalom i koristiti ga kao miš
Jeftino (kao u besplatnom [kao u pivu]) postolje s više metara: 4 koraka
Jeftino (kao u besplatnom [kao i u pivu]) postolje s više metara: Bio sam ljut zbog toga što moram iskriviti vrat ili nesigurno uravnotežiti svoj jeftini višemetar u iznosu od 4 USD negdje gdje zapravo mogu PROČITATI zaslon. Pa sam odlučio uzeti stvari u svoje ruke! Ovo je ujedno i moje prvo 'strukturiranje' pa ako netko ima korisne komentare
MacBook tablet ili DIY Cintiq ili Homebrew Mac tablet: 7 koraka
MacBook Tablet ili DIY Cintiq ili Homebrew Mac Tablet: Nadahnut snažno poučenim c4l3b -om, koji je, pak, bio inspiriran bongofish -om, odlučio sam isprobati istu stvar na svom Core 2 Duo MacBook -u. Koraci su bili dovoljno različiti da sam mislio da je potrebno zasebno uputstvo. Također