Cuprins:

Butoane joystick / roată pentru PC fără fir: 4 pași (cu imagini)
Butoane joystick / roată pentru PC fără fir: 4 pași (cu imagini)
Anonim
Butoane joystick / roată pentru PC fără fir
Butoane joystick / roată pentru PC fără fir

Am construit un nou simulator de curse în ultimii ani și am decis să merg cu un volan DIY Direct Drive. În timp ce proiectul în sine ar putea fi mai multe instructabile în sine, acesta este un lucru instructiv despre realizarea fără fir a tuturor butoanelor de pe roată.

De ce?

  • Roata DD are rotații nelimitate, așa că ar fi supărător să aveți fire la ea.
  • Nu există posibilitatea de a direcționa cablurile prin arborele roții ca la roțile comerciale
  • Am vrut să pot schimba cu ușurință roțile cu diferite configurații de butoane
  • Pentru că aș putea:)

Pentru a atinge obiectivul butoanelor fără fir, trebuie să luăm în considerare:

  • Livrare de energie
  • Conectivitate wireless
  • Timp de reacție / întârziere
  • Fiabilitate

Următoarele componente au fost alese pentru a corespunde acestor criterii: Tx - Arduino Nano cu modul NRF24 integrat aici sau utilizați un Nano generic sau Pro Mini + modulul NRF24Rx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + modulul NRF24 „Battery Bank” USB - Orice ar trebui să funcționeze o baterie generică de baterii 18650. Aceasta va dura aproximativ 20 de ore! Poate doriți să verificați dacă poate încărca și livra energie în același timp. Acest lucru este la îndemână dacă funcționează plat și doriți să încărcați și să utilizați în același timp.

În plus, veți avea nevoie de butoane și un comutator de alimentare la alegere, niște fire de conectare și, eventual, niște tuburi termocontractabile.

Acest lucru poate fi folosit și într-o „casetă de butoane” în loc de pe o roată, dar am crezut că va exista o cerere mai mică pentru asta, deoarece nu există prea multe avantaje dacă nu se mișcă.

Instrumente necesare:

Fier de lipit și lipit Un pistol de adeziv fierbinte este util pentru montarea pieselor. Arduino IDE instalat pe computer.

Pasul 1: Cablarea emițătorului

Cablarea emițătorului
Cablarea emițătorului
Cablarea emițătorului
Cablarea emițătorului
Cablarea emițătorului
Cablarea emițătorului

Începeți prin montarea oricăror întrerupătoare de care aveți nevoie pe roată și luați în considerare locația Arduino. Conectați toate firele la întrerupătoare conform schemei. Fiecare buton va fi conectat cu o parte la GND și cealaltă la pinul arduino asociat. Codul permite 14 comutatoare / butoane care ar trebui să fie suficiente pentru majoritatea roților.

Dacă utilizați Nano cu modulul NRF încorporat, atunci, evident, nu este nevoie să adăugați cablajul asociat pentru asta, doar conectați butoanele.

Butoanele sunt în această ordine (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Dar de ce doar 14 butoane? Motivul pentru acest lucru este că putem citi rapid un banc complet de pini și doar transmiterea a 2 octeți de date nu durează mult - Deci, deși acest lucru ar putea fi modificat pentru a include mai multe butoane (printr-o matrice) și / sau intrări analogice, acest lucru ar încetini puțin lucrurile. Citirea matricei și citirile / conversiile analogice necesită timp de procesare. Am avut nevoie doar de 12 butoane pe roată, așa că am mers cu asta, dar aș lua în considerare adăugarea altora.

Pentru putere, aveți două opțiuni - Puteți fie să lăsați bateria în tact și să o fixați cumva la volan. Acest lucru vă oferă bonusul suplimentar de a putea deconecta alimentarea de la arduino, evitând să aveți un comutator încorporat și unele cabluri.

Dacă preferați o soluție mai personalizată, poate fi necesar să deschideți banca de baterii și să refaceți componentele interne în configurația personalizată.

Nu aveam camera în roată pentru a o lăsa în tact, așa că a fost dezbrăcată. Am scos conectorul USB standard de pe placa de încărcare și am lipit firele +5 și Gnd de pe plăcile de port USB către Arduino printr-un comutator. Este puțin greu să detaliați acest lucru din cauza numeroaselor opțiuni disponibile …

Circuitul a fost apoi montat în interiorul roții, expunând conectorul de încărcare micro USB.

Placa de încărcare va avea unul sau mai multe LED-uri pentru a afișa starea de încărcare - Este la îndemână să le faceți vizibile cumva sau să folosiți niște plastic pentru a le „transporta” undeva vizibile, astfel încât să știți când a terminat încărcarea.

Pentru cei interesați, designul roții mele este realizat de Amstudio - Câteva modele excelente de piese de curse DIY sunt disponibile de la acestea la prețuri rezonabile.

Pasul 2: Receptorul

Receptorul
Receptorul
Receptorul
Receptorul
Receptorul
Receptorul

Pur și simplu urmați schema de cablare așa cum este atașat. Dacă nu utilizați un Leonardo, veți avea nevoie de un regulator extern de 3.3v, cum ar fi AMS1117. Regulatorul Pro Micro nu poate furniza suficient curent pentru modulul NRF24, iar gândacul nu are deloc unul.

Am codificat color conexiunile la modulul NRF la fel pentru Pro Micro și gândac.

Arduino "Beetle", care este destul de ușor de găsit în locurile obișnuite, dar din nou, regulatorul de 3.3v va trebui utilizat, deoarece nu are deloc. Am testat acest lucru și funcționează bine. Conexiunile sunt aceleași

Pasul 3: Programarea dispozitivelor

Programarea dispozitivelor
Programarea dispozitivelor
Programarea dispozitivelor
Programarea dispozitivelor
Programarea dispozitivelor
Programarea dispozitivelor

Dacă nu aveți deja Arduino IDE instalat pe https://www.arduino.cc și descărcați versiunea potrivită pentru sistemul de operare pentru acest exemplu, sunt pe Windows.

După configurare, veți avea nevoie de două biblioteci diferite - Prima este ușoară prin Sketch -> Include Library -> Manage Libraries (sau CTRL + SHIFT + I)

NRFLite de Dave Parson (versiunea 2.2.2 de la publicare)

Al doilea va trebui să fie instalat manual de pe

Faceți clic pe „Clonați sau descărcați”, apoi pe „Descărcați ZIP și deschideți fișierul descărcat. Apoi va trebui să faceți clic pe dosare până când vedeți un folder „Joystick” - Copiați-l în folderul Arduino Libraries (pe Windows, acesta este de obicei în Documente -> Arduino -> Biblioteci.

Reporniți ID-ul Arduino

Dacă utilizați Pro Micro pentru receptor, va trebui, de asemenea, să adăugați acea placă la IDE.

introduceți:

Apoi accesați Tools -> Boards Manager, căutați Sparkfun și instalați „Sparkfun AVR Boards”

Acum suntem gata! Să începem cu transmițătorul - Conectați-l la computer

Sub Tools -> Board, selectați „Arduino Nano” (sau orice variantă ați decis să utilizați). De asemenea, verificați portul COM din meniul de instrumente.

Deschideți fișierul Wireless_Wheel_Tx atașat.

Este posibil să doriți să modificați o singură linie în acest cod și anume:

int nrfChannel = 22;

Aveți până la 126 de canale pe care le puteți utiliza pe spectrul de 2,4 Ghz. Ar trebui să plece așa cum este, dar dacă descoperiți că aveți probleme cu fiabilitatea, poate schimbați acest lucru cu un număr diferit.

Apoi apăsați butonul „încărcați” și așteptați să se termine.

Același lucru este valabil și pentru Leonardo / Pro Micro / Beetle - Selectați placa dorită - Pentru Leonardo și Beetle, selectați placa Arduino leonardo. Pentru Pro Micro, selectați-l și selectați, de asemenea, varianta / procesorul Atmega32u4 (5v, 16Mhz), deschideți fișierul Wireless_Wheel_Rx, modificați setarea nrfChannel (dacă l-ați modificat pe Tx) și programați.

Odată ce dispozitivul repornește la programare, computerul dvs. ar trebui să detecteze un dispozitiv cu joystick. Dacă porniți și transmițătorul, ar trebui să puteți apăsa butoanele și să îl afișați în starea dispozitivului!

O caracteristică întâmplătoare interesantă este că veți primi o lumină de stare pe Leonardo și Pro Micro - Ledul USB TX se va aprinde când are conexiune la butoane. Totuși, acest lucru nu este prezent pe gândac.

ACTUALIZAT 02.02.2021

Am adăugat 2 fișiere suplimentare (Tx și Rx) la instructable aici pentru o versiune cu 4 intrări analogice, precum și o matrice de butoane 3X8. Majoritatea netestate, pot avea întârziere. Vă rugăm să încercați și să comentați.

Pasul 4: Îmbunătățiri

Îmbunătățiri
Îmbunătățiri

LED de alimentare După ce am folosit această soluție pentru o vreme, am avut obiceiul să las accidental roata pornită. Pentru a contracara acest lucru, am adăugat un LED în față, astfel încât să văd că roata este pornită. Acesta este doar un simplu led de 3 mm care rulează de la 5v pe arduino printr-un rezistor. Partea superioară este șlefuită pentru a difuza puțin lumina și a preveni orbirea.

Am cumpărat niște contoare de nivel de baterie de la BG sau Ali, dar când au ajuns erau mult mai mari decât ceea ce mă așteptam, dar acesta este ceva ce încă vreau să adaug. Există multe opțiuni disponibile pentru acest lucru, dar, deoarece bateria durează atât de mult, tind să mă reîncarc doar după câteva ore de utilizare.

Butoane suplimentare / codificatoare / intrări analogice Încă te gândești la acesta. Pentru mine, nu este atât de important pentru cursele pe care le fac, dar pentru lucruri precum F1 este probabil mai util. Voi lua în considerare două versiuni sau le voi adăuga dacă există o cerere suficientă, dar acest lucru poate afecta timpul de răspuns al butoanelor.

Recomandat: