INHOUDSOPGAWE:
Video: Tablet/telefoon as 'n Arduino -skerm en 'n $ 2 -ossilloskoop: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Alhoewel u 'n goedkoop 320x240 LCD-aanraakskerm vir 'n Arduino-projek kan koop, kan dit geriefliker wees-veral vir prototipering en toets van 'n skets-om 'n tablet of telefoon as 'n aanraakskerm en 'n kragbron vir 'n projek. U kan 'n baie hoër resolusie en 'n beter vertoning op u Android-toestel hê (byvoorbeeld, al u reëls sal anti-alias wees).
Die Android-gebaseerde skerm kan verbind word via USB Serial, Bluetooth of WiFi (bv. ESP8266).
Vir hierdie doel het ek VectorDisplay (bron hier) geskryf, 'n Android -app wat gekoppel is aan 'n Arduino -biblioteek wat 'n groot deelversameling van die Adafruit GFX -koppelvlak implementeer. U kan kode skryf wat dan maklik oorgedra kan word om 'n selfstandige skerm te gebruik, of die skets kan gebruik met 'n Android-gebaseerde skerm. En u kan opdragte vanaf die Android -app stuur om die Arduino -skets te beheer. Die Arduino-biblioteek is grootliks onafhanklik van die bord: dit moet werk met enige bord wat 'n USB-seriële poortvoorwerp met die naam Serial of 'n ESP8266 via WiFi of met Bluetooth bied (koppel eers u bord).
As bewys van die konseptoepassing, het ek die kaalbene STM32-O-Scope-projek oorgedra om VectorDisplay te gebruik in plaas van die ILI9341-skerm. Die resultaat is 'n (ruwe rand) draagbare, battery-aangedrewe 1.7MS/s-ossilloskoop wat niks meer benodig as 'n $ 2 STM32F103C-bord (met behulp van die libmaple-gebaseerde Arduino-kern), twee drade, 'n USB OTG-kabel en 'n Android-toestel. Al wat u hiermee kry, is natuurlik 'n reeks van 0 tot ongeveer 3.3V.
Stap 1: Installeer sagteware
Ek neem aan dat u 'n Arduino IDE vir u gunsteling bord opgestel het en dat u gunsteling bord 'n USB -seriële koppelvlak het.
Gaan na Skets | Sluit biblioteek in | Bestuur biblioteke. Plaas 'VectorDisplay' in die soekgebied en klik op 'Installeer' sodra dit gevind is.
Laai die zip -biblioteek hier af.
Pak die rits in 'n gids in u gids Arduino/biblioteke.
Laai VectorDisplay af van Google Play en installeer dit op u Android -toestel. Miskien moet u die installasie vanaf onbekende bronne op u Android -toestel moontlik maak. Die Android -app gebruik die UsbSerial -biblioteek en die beginpunt was een van die voorbeeldprogramme vir die biblioteek.
Stap 2: Demoskets
Koppel u bord (indien nodig in die oplaai -modus) aan u rekenaar en gaan na File | Voorbeelde | Vectorvertoning | kringe in u Arduino IDE. Klik op die oplaai -knoppie (pyltjie regs).
Begin die VectorDisplay -app op u Android -toestel. Koppel u kaart aan die Android -toestel via 'n USB -OTG -kabel. (As u kaart 'n USB -mikropoort het, maak seker dat u USB OTG -gasheerkant na die Android -toestel gaan). U behoort nou 'n toestemmingsnavraag vir VectorDisplay te kry. Druk OK.
As alles goed gaan, sal VectorDisplay nou twee knoppies aan die linkerkant van die skerm vertoon: sirkel en kleur. Deur op Circle te druk, word 'n ewekansige sirkel op die skerm geteken en Color verander die kleur na 'n ewekansige kleur voor die volgende sirkel.
As u na die sirkelskets in die IDE kyk, sal u sien dat die seriële vektorvertoning verklaar word met:
SerialDisplayClass -skerm;
en dan geïnitialiseer in setup () met:
Display.begin ();
Dan word opdragknoppies aangevra met Display.addButton (). Skakel dan lus () Display.readMessage () om opdragte te soek wat via die opdragknoppies gestuur word.
Die koördinaatstelsel vir die skerm is standaard 240x320. Lyne en teks word egter almal geteken met behulp van die volledige resolusie van die skerm van u Android -toestel, met antialiasing vir 'n goeie voorkoms. Daarom word die app Vector Display genoem.
Stap 3: API
Die API in die biblioteek is in die VectorDisplay.h -lêer. U moet eers 'n Display -voorwerp initialiseer. Vir USB -gebruik, doen dit met:
SerialDisplayClass -skerm;
Begin die verbinding met Display.begin ().
Daar is twee stelle metodes beskikbaar in die SerialDisplayClass-voorwerp: een stel gebruik 32-bis kleur (insluitend alfa) en opdragte wat redelik naby is aan die USB-seriële protokol wat my VectorDisplay-app gebruik, en die ander stel is 'n deelversameling van die standaard Adafruit GFX biblioteekmetodes, met 16-bis kleur. U kan meestal die twee stelle opdragte vrylik meng, met die uitsondering dat as u die met Adafruit-versoenbare metodes gebruik maak, u die 16-bis kleuropdragte moet gebruik waarvan die name eindig met 565 in plaas van die 32-bis.
U kan die koördinaatstelsel instel met Display Coordinates (breedte, hoogte). Die standaard is breedte = 240 en hoogte = 320. As u 'n skerm met nie-vierkante pixels wil navolg, kan u Display.pixelAspectRatio (verhouding) gebruik.
'N Paar van die metodes, insluitend pixelAspectRatio (), neem 'n FixedPoint32 -argument. Dit is 'n 32-bis-heelgetal wat 'n drywende puntgetal verteenwoordig, waar 65536 1.0 voorstel. Om 'n drywende punt nommer x na FixedPoint32 om te skakel, doen: (FixedPoint32) (65536. * X) (of net TO_FP32 (x)).
Behalwe dat u opdragte vanaf Android -knoppies kan stuur, word skermaanvalgebeurtenisse ook na die MCU gestuur.
Sien die voorbeeld van sirkels_esp8266 vir WiFi -gebruik. U moet op die USB -knoppie in die app druk om oor te skakel na die WiFi -modus.
Vir Bluetooth moet u die volgende kan doen:
SerialDisplayClass -skerm (MyBluetoothSerial);
… MyBluetoothSerial.begin (115200); Display.begin ();
en gaan dan voort, net soos in die USB -seriële omhulsel, waar MyBluetoothSerial die Stream -voorwerp (bv. Serial2) aan u Bluetooth -adapter gekoppel is.
Stap 4: 'n Osilloskoop van $ 2
Vir die vinnige en vuil ossilloskoop benodig u 'n blou of swart (makliker om te hanteer) pil STM32F103C8 -bord, wat u op Aliexpress vir minder as $ 2 kan kry. Ek beskryf hoe om die bord voor te berei vir gebruik in die Arduino -omgewing daarvoor en sketse hier te installeer.
Laai hierdie skets op die bord af, 'n aangepaste weergawe van Pingumacpenguin se STM32-O-Scope-skets. Wysig die #definieer BOARD_LED -reël om by u bord te pas. Ek gebruik 'n swart pil waarvan die LED PB12 is. Die blou pille (en 'n paar swart pille met dieselfde pinout as die blou pil) het die LED op PC13.
Koppel een draad-grondsonde-aan die bord se grond en 'n ander draad aan die bord se B0-pen. Koppel die bord aan op 'n Android -toestel met VectorDisplay, en u het 'n draagbare, battery -aangedrewe ossilloskoop.
Op die foto het ek die ossilloskoop gekoppel aan 'n fototransistor. Die spoor op die skerm is van 'n TV -infrarooi afstandsbediening.
Aanbeveel:
Oorknophouer (tablet, rekenaar, telefoon): 4 stappe
Oorknophouer (tablet, rekenaar, telefoon): ek raak altyd gefrustreerd as my oordopjes verstrengel raak of verlore raak. Daarom het ek besluit om iets te maak wat u agter op u tablet kan plaas, ens
Telefoon/tablet -beheerde korrelrooster (Traeger): 4 stappe
Telefoon/tablet -beheerde pelletgrill (Traeger): Nadat ek my broers se wonderlike $ 1000 Traeger -kieu gesien het, het ek besluit om my eie te bou. Vir my het dit alles gegaan oor die elektronika en die herontwerp en die ou rooster waarvan ek nog nie ontslae geraak het nie. In hierdie konstruksie het ek geleer om te sweis, wat so was
Arduino 4WD Rover Bluetooth Beheer deur Android -telefoon/tablet: 5 stappe
Arduino 4WD Rover Bluetooth Beheer deur Android -telefoon/tablet: Arduino 4WD bluetooth -beheerde rover Dit is 'n eenvoudige 4WD -rover wat ek met Arduino gemaak het. Die rover word beheer met 'n Android -telefoon of -tablet oor bluetooth. Met die app kan u die snelheid beheer (met behulp van Arduino's pwm), dit met
PIWOOLET (Pi.WOOd.tabLET): net 'n ander PI -tablet: 10 stappe (met foto's)
PIWOOLET (Pi.WOOd.tabLET): Net 'n ander PI -tablet: Inleiding - waarom het ek dit besef? Die antwoord is so eenvoudig: net vir die pret :-) 'n Paar van my hoofdoelwitte behou toegang tot die HDMI -poort; handhaaf toegang tot die klankuitset; toegang tot die GPIO te handhaaf; behou toegang tot ten minste een USB -poort. Die BOM Rasp
MacBook -tablet of DIY Cintiq of Homebrew Mac -tablet: 7 stappe
MacBook Tablet of DIY Cintiq of Homebrew Mac Tablet: Baie geïnspireer deur die instruksies van c4l3b, wat op sy beurt geïnspireer is deur bongofish, het ek besluit om dieselfde te probeer op my Core 2 Duo MacBook. Die stappe was net so anders dat ek gedink het dat 'n aparte instruksies nodig was. Ook