Cuprins:

Consolă portabilă cu controlere și senzori fără fir (Arduino MEGA și UNO): 10 pași (cu imagini)
Consolă portabilă cu controlere și senzori fără fir (Arduino MEGA și UNO): 10 pași (cu imagini)

Video: Consolă portabilă cu controlere și senzori fără fir (Arduino MEGA și UNO): 10 pași (cu imagini)

Video: Consolă portabilă cu controlere și senzori fără fir (Arduino MEGA și UNO): 10 pași (cu imagini)
Video: În final e aici Xbox Halo ! Consola portabilă de la Microsoft ! 2024, Iulie
Anonim
Image
Image
Conectați ecranul (tactil)
Conectați ecranul (tactil)

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)

Conectați ecranul (tactil)
Conectați ecranul (tactil)
Conectați ecranul (tactil)
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

Familiarizați-vă cu bibliotecile
Familiarizați-vă cu bibliotecile
Familiarizați-vă cu bibliotecile
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

Proiectați o interfață grafică de utilizator / meniul principal
Proiectați o interfață grafică de utilizator / meniul principal
Proiectați o interfață grafică de utilizator / meniul principal
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

Conectați cele două controlere
Conectați cele două controlere
Conectați cele două controlere
Conectați cele două controlere
Conectați cele două controlere
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

Porniți cablarea conexiunii wireless
Porniți cablarea conexiunii wireless
Porniți cablarea conexiunii wireless
Porniți cablarea conexiunii wireless
Porniți cablarea conexiunii wireless
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

Fii salbatic! Încercați diverse lucruri
Fii salbatic! Î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

Proiecta
Proiecta
Proiecta
Proiecta
Proiecta
Proiecta

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

Imprimarea 3D a carcasei
Imprimarea 3D a carcasei
Imprimarea 3D a carcasei
Imprimarea 3D a carcasei
Imprimarea 3D a carcasei
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

Lipire și finalizare
Lipire și finalizare
Lipire și finalizare
Lipire și finalizare
Lipire și finalizare
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: