U cuntrollu wireless di i mutori Lego cù u Steam Controller

U cuntrollu wireless di i mutori Lego cù u Steam Controller

Quandu eru ghjovanu, aghju sempre vulutu avè set tecnulugichi Lego per pudè custruisce ogni tipu di cose cool cun elli. Tanks autonomi cù torrette rotanti chì sparanu mattoni Lego. Ma tandu ùn aghju micca un tali set.

È ùn ci era ancu i mattoni Lego regulari. Aviu solu un amicu chì u fratellu avia tutti questi ghjoculi caru.

È avà aghju avutu un figliolu di questa età. È custruisce tanki chì ... stupidamente avanzanu finu à ch'elli sbattenu in u muru :)

È avà, hè u tempu per l'ESP32 è a magia di u ferru di saldatura - assemblemu u telecomando ghjustu per elli!

Innò, sicuru, cunnoscu l'esistenza di tali cuntrolli remoti. Ma nimu di elli mi cunvene cumplettamente. Sò o infrarossi, tecnulugia anni 80, o troppu grande. O quelli cari. È u più impurtante, ùn puderaghju micca dì à u mo figliolu di alcunu di elli: "Aghju fattu questu soprattuttu per voi!"

Allora facemu un telecomando novu è migliuratu per guvernà tutti!

U cuntrollu wireless di i mutori Lego cù u Steam Controller

Ingredients:

  • ESP32-WROOM-32D | WiFi, BLE è processore cù I / O - abbastanza per cuntrullà dui mutori и LED.
  • DRV8833 | doppia H-ponte cù abbastanza putenza per i mutori.
  • TPS62162 | riduzzione di tensione à 17 V, è ancu per divertimentu quandu si salda u casu WSON-8 2x2 mm
  • CP2104 | per a prugrammazione ESP32
  • Cunnetti per a cunnessione di muturi è diodi. Tagliaremu i fili è saldemu nantu à u fondu, è cola u connettore Lego in cima.

Tuttu chistu s'adattarà nantu à una tavula abbastanza chjuca - eccu a so apparizione in l'editore EasyEDA:

U cuntrollu wireless di i mutori Lego cù u Steam Controller

U filu chì pò esse vistu in a photo di titulu ùn hè micca necessariu per correggerà qualsiasi errore, ma per furnisce u putere da USB. Pò esse micca abbastanza per u mutore, ma, sfurtunatamenti, ùn aghju micca ricevutu cuntatti da a Cina. Allora aghju prima verificatu u funziunamentu di i LED. Per a bellezza in a foto, aghju simpliciamente pusatu u connettore da u mutore nantu à u bordu.

In a versione 1.1 di u mo bordu (a cuntrariu di a versione 1.2, chì hè digià in EasyEDA), ùn ci era micca LED, cusì aghju soldatu dui diodi anti-paralleli à l'output per pudè vede ciò chì passava. Se guardate attentamente, u video mostra l'attivazione alternata di un paru di diodi 0603, chì indicanu u muvimentu avanti / retrocede.

In quantu à u pannellu di cuntrollu, in prima vulia solu assemblà un tavulinu supplementu cù i buttoni è un altru ESP32 - un telecomando classicu.

In ogni casu, allora aghju ricurdatu chì i Steam Controllers anu un modu di operazione Bluetooth Low Energy (BLE). Aghju decisu di affruntà stu prublema, è dopu uni pochi d'ore aghju amparatu à riceve pacchetti da u controller.

Per fà questu, basta à circà un dispositivu HID chì si chjama SteamController è cunnette à questu. È dopu aduprà un serviziu micca documentatu da Valve è parechji cumandamenti senza documentu, chì permette a trasmissione di pacchetti.

U cuntrollu wireless di i mutori Lego cù u Steam Controller

Aghju ancu scontru un formatu di rapportu senza documentu, chì aghju analizatu manualmente.

U cuntrollu wireless di i mutori Lego cù u Steam Controller

Dopu à circa una ora, u significatu di e bandiere è i valori sò diventatu chjaru per mè, è aghju sappiutu lampà u LED cù u controller Steam è ESP32. ¯_(ツ)_/¯

File

v1.0: "approcciu di prova"
- a prima opzione per quale aghju sceltu u regulatore di tensione sbagliatu. U TPS62291 alza solu a tensione à 6 V. Aghju sviluppatu parechji prughjetti in parallelu, è scurdate chì u dispusitivu hà bisognu di travaglià cù 9 V.

v1.1: "abbastanza bè"
- sta opzione hè visibile in i video, è tuttu funziona

v1.2: "finale"
- aghjustatu LED indicatori à l'output è ottimisatu a dimensione è u layout di u bordu

U seguente video breve mostra a fase di cunnessione (1-3 seconde dopu l'accensione di u putere) è u cuntrollu di l'output di u mutore. U connettore Lego ùn hè ancu cunnessu. Andarà à u spaziu viotu vicinu à l'altri connettori, marcatu cù un rettangulu biancu.

U mo figliolu avà usa regularmente stu controller per cuntrullà i dispositi chì hà custruitu.

Durante a prova di stress, aghju scontru solu un prublema: aghju pensatu chì u modu di "decadenza rapida" di u mutore di u mutore funziona megliu, ma hà causatu a velocità di u mutore à calà dramaticamente dopu uni pochi seconde di operazione. Allora aghju cambiatu u codice per utilizà a decadenza lenta.

U cuntrollu wireless di i mutori Lego cù u Steam Controller

Ùn sò micca sicuru cumu u DRV funziona è perchè u mutore gira rapidamente in prima, è dopu dopu à 10 seconde, principia à rallentà gradualmente. Forse i MOSFET si scaldanu è a so resistenza cresce troppu.

Spergu chì questu usu senza sforzu di Arduino serve cum'è ispirazione per l'altri per mette i so figlioli in l'elettronica.

Source: www.habr.com

Add a comment