Cuprins:
- Pasul 1: conectați ecranul (tactil)
- Pasul 2: Familiarizați-vă cu bibliotecile
- Pasul 3: Proiectați o interfață grafică de utilizator / meniul principal
- Pasul 4: conectați cele două controlere
- Pasul 5: Porniți cablarea conexiunii wireless
- Pasul 6: Du-te sălbatic! Încercați diverse lucruri
- Pasul 7: Proiectare
- Pasul 8: Imprimarea 3D a carcasei
- Pasul 9: lipire și finalizare
- Pasul 10: previzualizare
Video: Consolă portabilă cu controlere și senzori fără fir (Arduino MEGA și UNO): 10 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Ce am folosit
- Arduino MEGA
- 2x Arduino UNO
- Ecran tactil Adafruit 3,5 TFT 320x480 HXD8357D
- Buzzer
- Difuzor 4Ohm 3W
- Lumini LED de 5 mm
- Imprimantă Ultimaker 2+ cu filament PLA negru
- Lasercutter cu lemn MDF
- Vopsea neagra spray (pentru lemn)
- 3x transmițătoare fără fir nRF24L01 +
- Buton 2x 16mm
- 2x senzori de presiune
- Suporturi pentru baterii 3x 9V
- Pană de pâine
- 2x ecrane OLED I2C de 0,96"
- fire masculine - femele
- Solderstation
- Super-lipici
- 2x modul tactil cu un singur canal (ROȘU / ALBASTRU)
Pasul 1: conectați ecranul (tactil)
Așa că vom face din aceasta o consolă portabilă, cu două controlere wireless.
Prin urmare, vom avea o unitate principală (cea mai mare parte, cu ecranul LCD)
Unitatea principală va fi rulată cu Arduino MEGA.
Cele două controlere separate vor rula fiecare un Arduino UNO.
Mai târziu, îi vom face pe Arduino să comunice între ei pentru a trimite datele controlerului.
Începeți cu conectarea corectă a ecranului 320x480 la unitatea de ecran principală (Arduino MEGA), ca în acest tutorial. (Adafruit are un excelent tutorial detaliat pentru cablare și cod).
Pentru sunet, am conectat un buzzer și un difuzor de 3W 4Ohm pentru a separa pinii digitali și GND.
cu tonul (pin, frecvență, durată); Puteți crea câteva sunete monofonice de bază.
Pasul 2: Familiarizați-vă cu bibliotecile
Ecranul Adafruit 320x480 acceptă bibliotecile corespunzătoare Adafruit_GFX și Adafruit_TFTLCD.
Citiți documentația. Cred că este explicat cam bine acolo.
Asigurați-vă că introduceți setările corecte în ID-ul Arduino:
Instrumente -> Placă -> Arduino / Genuino MEGA sau MEGA 2560
Instrumente -> Port -> [Portul cu „Arduino MEGA” în el]
Această bibliotecă specială de ecran acceptă fonturi personalizate, forme de bază și o varietate de culori.
Ceva de remarcat ar putea fi faptul că rata de reîmprospătare este prea mică pentru o animație lină. Dacă doriți să actualizați ecranul la fiecare bifare, va fi prea lent să se ocupe de redesenarea fiecărui pixel și va pâlpâi
Așadar, aș sugera să lucrați creativ în acest sens, cum ar fi modul în care unele dintre cele mai vechi dispozitive portabile au gestionat animația: cu cadre cheie. Mai puțin este mai mult! Și în loc să redesenați totul în fiecare secundă, dacă doriți să mutați un dreptunghi la stânga sau la dreapta, puteți șterge pur și simplu urmele pe care le lasă în urmă, în loc să ștergeți întregul obiect și să îl redesenați.
De exemplu, am folosit pâlpâirea ecranului ca efect intermitent pentru personajul din secvența de introducere.
Din biblioteca Adafruit_GFX am folosit în principal tft.fillRect (x, y, lățime, înălțime, culoare); și tft.print (text); funcții.
Experimentarea este cheia.
Pasul 3: Proiectați o interfață grafică de utilizator / meniul principal
După ce ați dobândit cunoștințe în cadrul bibliotecii și ați cunoscut limitele / puterile, puteți începe să proiectați un ecran de meniu principal.
Din nou, gândiți-vă la dreptunghiuri. Cel puțin așa am făcut.
Iată codul meu pentru interfață
pastebin.com/ubggvcqK
Puteți crea glisoare pentru luminozitatea ecranului, pentru a controla pinul „Lite” de pe ecranul dvs. tactil Adafruit, printr-un pin analogic.
Pasul 4: conectați cele două controlere
Pentru partea controlerului, depindeți de dvs. ce fel de senzori doriți să utilizați, în funcție de ce joc intenționați să faceți
Bine, deci pentru controlere am decis să folosesc:
- Un senzor de presiune
- Un ecran OLED
- Modul tactil cu un singur canal care pornește sau se oprește
- Senzor de gesturi (RobotDyn APDS9960)
- nRFL01 + Transceiver (pentru comunicații fără fir)
- Un buton
Notă: senzorul Gesture și OLED utilizează ambele conexiuni SCL / SDA. Mi-a luat ceva timp să realizez că Arduino are doar două: A4 și A5. Dar puteți pur și simplu conecta aceste paralele împreună pe panou și va funcționa bine
Pasul 5: Porniți cablarea conexiunii wireless
Cablarea modulelor nRF24L01 + mi-a luat ceva timp, ca să funcționeze.
A trebuit să apelez la biblioteca TMRh20 RF24, după ce nu am reușit să obțin datele corecte ale senzorului transmise pe ecran.
Pentru ca mai multe Arduino să comunice între ele, trebuie să ne asigurăm că cel puțin unul dintre UNO este alimentat, la fel ca MEGA.
Utilizați consola serială a MEGA pentru a imprima rezultatele obținute de la UNO și pentru a vedea dacă funcționează.
Iată codul
Iată biblioteca
Pasul 6: Du-te sălbatic! Încercați diverse lucruri
O parte crucială a procesului meu de dezvoltare a fost să încerc doar o mulțime de lucruri!
Ce fel de butoane doriți să utilizați?
Ce puneți în controlere?
Uitați-vă în jur pe site-uri web, veți găsi o mulțime de componente în afară de butoanele obișnuite „A / B” sau joystick-uri analogice. Fii inspirat și motivat pentru a da o încercare!
Odată ce ați avut o idee clară și funcțională a ceea ce doriți să puneți în controlere, conectați componentele.
În funcție de modul în care funcționează, va trebui să utilizați intrări digitale sau intrări analogice.
NOTĂ: Unele componente pot avea nevoie de știfturi SCL / SDA pentru a funcționa corect. Și dacă aveți doi sau mai mulți senzori care au nevoie de același lucru, veți primi probabil un atac de panică ca mine. Dar nu trebuie să vă faceți griji
Puteți pune ambii pinii SDA și SCL ai senzorilor în serie, mergând în A4 și A5 și va funcționa
Pasul 7: Proiectare
Odată ce ai o idee interesantă pentru senzorii pe care vrei să îi folosești, schițează câteva idei pentru un design care îți place.
După aceea, intrați în unele programe de modelare precum Blender, Maya, Cinema 4D.
Am folosit Blender pentru a crea un model (dur).
Pentru a obține măsurători clare în Blender, puteți schimba unitatea dimensiunii grilei la milimetri.
După ce ați făcut un model, asigurați-vă că nu aveți vârfuri duble și că ați recalculat normele.
Exportați fișierul ca.stl, dacă doriți să utilizați o imprimantă 3D ca mine.
NOTĂ: În Blender, va trebui să setați scala de export la 0,1, dacă doriți dimensiunea exactă în Cura la pasul următor
Pasul 8: Imprimarea 3D a carcasei
Acest model a fost tipărit cu filament PLA negru de 2,85 mm pe o imprimantă Ultimaker 2+.
Descărcați CURA
Încărcați. STL-ul dvs. în Cura și vă va arăta cât timp va dura.
Pentru o carcasă portabilă, imprimarea poate dura până la 10 ore, în funcție de dimensiune.
Cu toate acestea, pentru modelele cu detalii reduse puteți accelera procesul, ceea ce am făcut.
Iată setările mele:
Înălțimea stratului: 0,2
Grosimea peretelui: 0,8
Grosime superioară / inferioară: 0,8
Duza: 0,4
Temperatura: 60 grade Celsius
Debit: 100%
Brim: Oriunde se atinge placa de construcție
Densitate de umplere: 20%
Gradual: 0
Temperatura duzei: 220 C
Viteza de imprimare: 120%
Pasul 9: lipire și finalizare
Ai parcurs un drum lung.
Ultimul pas este să achiziționați o placă de perfecționare / veroboard și să vă transpuneți conexiunile de placă de calcul într-o parte a unei plăci de prototipare.
Asigurați-vă că dispozitivele electronice se potrivesc în interiorul carcaselor tipărite și, probabil, tăiați niște MDF din lemn pentru a face părți pe care intră butoanele / intrările controlerului.
Am folosit un laser pentru asta.
Cel mai important lucru este să te înșeli, să încerci lucruri pe care nu le-ai făcut altfel și să te distrezi!
Sper că acest tutorial a fost suficient de clar … A fost un proiect destul de dificil, care a dat un rezultat extraordinar!:)
Pasul 10: previzualizare
Recomandat:
Robot Arduino fără fir folosind modulul HC12 fără fir: 7 pași
Robot wireless Arduino folosind modulul HC12 fără fir: Hei băieți, bine ați revenit. În postarea mea anterioară, am explicat ce este un circuit H Bridge, circuitul de conducător auto L293D IC, piggybacking L293D driverul IC pentru conducerea driverelor de curent mare și modul în care puteți proiecta și crea propriul dvs. driver de motor L293D
Gamecontroller fără fir cu Arduino și NRF24L01 + (suport pentru unul sau două controlere): 3 pași
Gamecontroller fără fir cu Arduino și NRF24L01 + (suport pentru unul sau două controlere): Puteți găsi proiectul complet de pe site-ul meu web (este în finlandeză): https://teukka.webnode.com/l/langaton-ohjain-atmega-lla- ja-nrf24l01-radiomoduulilla / Acesta este un scurt briefing despre proiect. Voiam doar să-l împărtășesc dacă cineva ar spune
Microfon fără fir DIY la sistem de chitară fără fir: 4 pași
Sistem de microfon fără fir DIY la sistem de chitară fără fir: Am urmărit câteva videoclipuri și câteva trupe și aproape dintre ele folosesc un sistem wireless pe chitară. Înnebunind, mișcându-se, mergând și fac tot ce vor fără cablu, așa că visez să am unul .. Dar … pentru mine acum este prea scump, așa că am ajuns la asta
Răcitor / suport pentru laptop cu cost zero (fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): 3 pași
Zero Cost Laptop Cooler / Stand (Fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): ACTUALIZARE: VĂ RUGĂM VOTĂ PENTRU MEA MEA MEA INTRAREA PE www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ SAU POATE VOTA PENTRU CEL MAI BUN PRIETEN AL MEU
Hack un clopoțel fără fir într-un comutator de alarmă fără fir sau întrerupător de pornire / oprire: 4 pași
Spargerea unui clopoțel wireless într-un comutator de alarmă fără fir sau întrerupător de pornire / oprire: recent am construit un sistem de alarmă și l-am instalat în casa mea. Am folosit întrerupătoare magnetice la ușă și le-am conectat prin pod la ferestre. Ferestrele erau o altă poveste, iar cablarea dură a acestora nu era o opțiune. Aveam nevoie de o soluție wireless și asta este