Cuprins:

Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!): 3 pași
Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!): 3 pași

Video: Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!): 3 pași

Video: Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!): 3 pași
Video: RAMPS 1.6 - Basics 2024, Septembrie
Anonim
Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!)
Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!)
Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!)
Handheld PCB cu Arduino (cu opțiunea de a merge fără fir!)

Actualizare 28.1.2019 În prezent lucrez la următoarea versiune a acestui handheld. Puteți urmări proiectul pe canalul meu YouTube sau pe Twitter.

Avertizare! Am găsit o greșeală în aspectul PCB. Butoanele stânga și sus sunt conectate la pinii analogici. Am remediat asta prin adăugarea a două rezistențe pullup la cele două intrări. Aceasta nu este soluția perfectă, dar funcționează.

Am proiectat un PCB pentru un handheld care se bazează pe microcontrolerul ATmega328P-AU (la fel ca în Arduino Nano), afișajul OLED SSD1306 și câteva butoane. Am adăugat și o opțiune pentru a adăuga modulul radio NRF24L01 + pentru jocuri multiplayer. De asemenea, puteți utiliza acest handheld ca un controler wireless. Am mai făcut controlere wireless și chiar am un instructabil despre ele. Tot ce ai avea nevoie ar fi un Arduino Leonardo sau Pro Micro.

Handheld-ul este complet open source. Tot codul sursă este gratuit, precum și designul PCB. De asemenea, am început să codez un motor de joc open-source pentru consolă. În acest moment totul funcționează, cu excepția motorului de fizică, care are unele probleme cu accelerații mari. Asta doar pentru că motorul de fizică rulează cadru cu cadru la aceeași viteză cu funcția de desen. Motorul de fizică ar fi trebuit să aibă așa-numita microstepping (mișcarea unui pixel în acel moment verificând dacă există o coliziune), dar trebuie totuși să lucrez la el.

După cum puteți vedea din imagine, nu am primit încă piesele SMD. În prezent dezvolt codul cu un prototip.

Nu vreau să obțin un PCB profesional. Mai pot construi asta?

Desigur. Am făcut deja un tutorial despre cum să construiesc această consolă pe un PCB de prototipare cu cupru punctat. Puteți găsi proiectul aici:

Pasul 1: Obținerea tuturor părților

Obținerea tuturor părților
Obținerea tuturor părților

În primul rând aveți nevoie de toate piesele. Puteți comanda PCB-urile de la JLCPCB sau de la un alt site care folosește fișiere Gerber. Fișierele Gerber sunt utilizate pentru a descrie PCB pentru producător. Sunt doar fișiere. ZIP care conțin fiecare detaliu al PCB-ului proiectat.

Iată linkul pentru PCB-uri:

Iată o listă a componentelor pe care va trebui să le cumpărați pentru a funcționa:

  • ATmega328P (TQFP-32)
  • 8 buc butoane 6 x 6 x 6 mm
  • Oscilator de cristal de 16 MHz
  • 2 buc de condensator de 22 pF 0603
  • Afișaj SSD1306 cu interfață SPI. (128 x 64, monocrom)
  • Două rezistențe 0603 10 kΩ

Iată o listă a componentelor opționale:

  • NRF24L01 +
  • AMSD1117-3.3 (regulator 3, 3 V pentru NRF24L01 +)
  • Condensatorul 1206 680 nF (NRF24L01 + are nevoie de o tensiune constantă pentru a funcționa corect.)
  • 2 buc 1206 led (dacă doriți să aprindeți câteva lumini)
  • 2 buc de rezistențe 0603 pentru leduri

Pasul 2: Asamblați placa

Acest lucru va fi puțin greu de descris, deoarece nu am construit încă PCB-uri. Nu am nicio idee despre unde s-au dus piesele, dar sper că vor ajunge în curând.

Ca de obicei în cazul lipirii, utilizați un fel de extractor de fum și spălați-vă pe mâini după ce ați atins flux sau lipit. Și aveți grijă cu fierul de lipit. Va provoca arsuri grave dacă îl atingeți în timp ce este la aproximativ 350 de grade Celsius. Cu toate acestea, dacă vă răniți din fierul de lipit, folosiți apă rece pentru a răci punctul ars

Dacă nu ați lipit niciodată piese SMD, vă recomand să urmăriți câteva tutoriale de pe YouTube. Regula de bază este să aplicați lipirea pe un singur tampon, să puneți cipul în poziție și să lipiți știftul. Apoi, faceți partea opusă și, dacă există mai mulți ace, faceți-le. De asemenea, puteți utiliza fluxul pentru a ajuta la procesul de lipire.

Veți avea nevoie și de fitil de lipit pentru a putea lipi microcontrolerul. Doar curgeți știfturile cu lipit și folosiți fitil de lipit pentru a scoate excesul.

Asigurați-vă că lipiți piesele în mod corect. De obicei microcontrolerele au un punct pentru a indica primul pin. De obicei, PCB-urile au, de asemenea, un punct de orientare cu orientarea.

Pentru piesele SMD, de obicei doriți să lipiți mai întâi piesele mici. Dacă lipiți anteturile mai întâi, probabil că le veți lovi cu fierul de lipit și veți elibera niște gaze urâte. Pot recomanda această secvență din experiență. Nu trebuie să urmați această listă, dar este făcută cu bun simț:

  1. Condensatoare
  2. LED-uri și rezistențe pentru led-uri (opțional) [mai întâi ar trebui să lipiți rezistențele]
  3. Regulator și microcontroler (Asigurați-vă că ați pus MCU în modul corect! Punctul ar trebui să fie orientat în același mod ca semnul [punct alb] de pe PCB.)
  4. Cristal
  5. Butoane
  6. Anteturi (antetul NRF24L01 + este exact locul unde s-ar odihni degetul, așa că vă recomand să folosiți câteva fire pentru a permite o anumită flexibilitate pentru acesta.)
  7. Unele fire pentru baterie. Puterea principală este marcată cu VCC și GND. VCC ar trebui să fie în jur de 3, 6-6 volți. Această tensiune merge direct la microcontroler, deci asigurați-vă că nu puneți prea multă tensiune prin ea.

Pasul 3: Software-ul

Image
Image

De-a lungul anilor am făcut câteva jocuri pentru acest tip de platformă. Puteți găsi vechiul cod multi-joc de aici (este cel care poartă numele mushroom_mcp_continued_v10_converted):

github.com/Teneppa/handheld_open_source

Motorul open source poate fi găsit aici (am folosit Visual Studio pentru a-l codifica, astfel încât să existe mai multe fișiere ciudate):

Recomandat: