Satura rādītājs:
Video: Koka Bluetooth tālvadības pults Lego Duplo vilcienam: 3 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Maniem bērniem patika šis mazais Lego Duplo vilciens, it īpaši manam jaunākajam, kurš cenšas sazināties ar vārdiem, tāpēc es gribēju viņai uzbūvēt kaut ko tādu, kas palīdzētu viņai spēlēt ar vilcienu neatkarīgi no pieaugušajiem vai tālruņiem/planšetdatoriem. Kaut kas vilcienam pievienotu papildu dimensiju un piešķirtu tai papildu spēles vērtību
Lego komplektam jau ir maz veidu, kā vadīt vilcienu, jūs varat to virzīt uz priekšu, lai sāktu, un turiet to, lai to apturētu, jūs varat to kontrolēt, izmantojot krāsu tagus, kas iet uz sliežu ceļa, tāpēc, kad vilciens iet tam pāri, tas izraisa dažādas darbības, ti uz priekšu, atpakaļ, atskaņot skaņas ieslēdz gaismas. Varat arī lejupielādēt lietotni savam tālrunim vai planšetdatoram, kas var izveidot savienojumu ar vilcienu, izmantojot Bluetooth.
Šeit ir pilns vilciena apskats
Pēc medībām internetā es atklāju, ka tur bija diezgan maz dažādu cilvēku, kuriem bija gatavs rakstīts kods vilciena vadīšanai. Mezgls “Poweredup”, ko uzrakstījis nathan.kellenicki (https://nathan.kellenicki.com/node-poweredup/), izskatījās kā ideāls sākums. Tas tika uzrakstīts, izmantojot Javascript, kas man nebija daļēji pazīstams, bet domāju, vai es varētu atrast mikroshēmu, kuras pamatā ir java, tas būtu labs sākums.
Atkal pēc medībām internetā es atkal atradu espruino sistēmu, šī ir līdzīga ardiuno, bet balstās uz javascript. Espriuno kodu varēja ielādēt MDBT42Q mircochip, kurā bija iegults Bluetooth. Es domāju, ka, ja es varētu ielādēt “ieslēgto” moduli, es būtu pusceļā, taču tas nebija tik vienkārši, ja modulis daudzās bibliotēkās bija liels, lai ielādētu MDBT42Q, tāpēc šķiet, ka man tas ir jādara atrast vienkāršāku risinājumu …
1. darbība: kods
Esprinuo
Tiem, kas nezina Espruino platformu https://www.espruino.com (un es to nezināju), vai tā ir ļoti līdzīga Arduino, ir dažas galvenās atšķirības, viena tā ir uzrakstīta javascript, drīzāk c, tā šķiet nedaudz jaunāka tāpēc nav piemēru, tomēr atbalsts, izmantojot forumus, ir lielisks un ļoti noderīgs.
Javascript satikt vilcienu
Pirmais šķērslis bija izveidot savienojumu ar vilcienu, izmantojot Bluetooth. To var izdarīt, izmantojot NRF klasi, kas tiek piegādāta ar espruino kodu.
NRF.connect var izmantot, lai izveidotu savienojumu ar vilcienu, tomēr, ja vispirms ir jāatrod paša vilciena adrese, šīs informācijas iegūšanai varat izmantot NRF.findDevices.
Kad esat to izdarījis, vilciens jāsūta rokasspiedienam ar vilcienu divas vērtības, manam vilcienam tas bija "00001623-1212-efde-1623-785feabcd123", kam sekoja "00001624-1212-efde-1623-785feabcd123". tas būs vienāds visiem tvaika vilcienu komplektiem, bet pārējās versijas, ti, kravas komplekts var būt atšķirīgs
Kad tas ir izdarīts, jūs varat savienot vilcienu, izmantojot šādu funkciju: vai jūs varat pateikt, kad vilciens ir savienots, jo tas mirgos, lukturi ir zili
NRF.connect ("e0: 7d: ea: 0c: 03: 29"). Tad (funkcija (g) {
console.log ("Savienojuma uzsākšana2"); gatt = g; return gatt.getPrimaryService ("00001623-1212-efde-1623-785feabcd123"); }). tad (funkcija (pakalpojums) {atgriešanās pakalpojums.getCharacteristic ("00001624-1212-efde-1623-785feabcd123");}).).tad (value => {console.log (value);}). then (function () {console.log ("Train Connected"); connected = 1;
Jautras lietas
Tagad esat izveidojis savienojumu ar vilcienu, ir pienācis laiks visām jautrajām lietām, piemēram, virzīt to uz priekšu, radīt skaņu un ieslēgt un izslēgt gaismu. Vienkāršs uzdevums ir nosūtīt vilcienam sagatavošanas vērtību, kam seko faktiskā komanda, ti
funkcija play_horn () {
console.log ("message =", Characteristic_store); const prepval = new Uint8Array ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x01, 0x11, 0x51, 0x01, 0x09]); Characteristic_store.writeValue (prepval).tad (_ => {Characteristic_store.writeValue (sendvalue);}); }
Lai atrastu citu komandu, nevis tās, kuras es izmantoju, jums, iespējams, būs nedaudz jāraka apkārt
Pogas un sviras
Tālvadības pults fiziskā puse ir ļoti taisni uz priekšu četras pogas (lai atskaņotu skaņas, ieslēdziet un izslēdziet gaismas) un viens potenciometrs, kas ir savienots ar sviru, lai jūs varētu kontrolēt vilciena ātrumu un virzienu
Pogai nav nepieciešams uzvilkts rezistors, tā vietā to var izdarīt ar kodu, ti
pinMode (D15, 'input_pulldown');
Jūs varat savienot potenciometru ar kādu no ieejām un pēc tam nolasīt analogo signālu, izmantojot šādu komandu
var lasījums = analogRead (D31);
Otra atšķirība no arduino ir tā, ka esprunio nav iestatījumu un cilpas. Tā vietā es ievietoju visas atsevišķās komandas/aktivizētājus funkcijās un pēc tam iestatīju setInterval, kas atkārtojas ik pēc 100 milisekundēm, klausoties pogu un pēc tam nospiežot vajadzīgo funkciju.
ja (digitalRead (D15) == 1) {play_horn (); }
Darbība ar sviru bija nedaudz sarežģītāka, jo es vēlējos pakāpeniski pielāgot ātrumu, tāpēc vispirms man bija jānosūta analogā vērtība, lai tā darbotos
var lasījums = analogRead (D31);
vilciena_virziens (lasīšana * 1024);
Tad funkcijā train_direction es sadalīju komandu līdz 6 dažādiem soļiem, pamatojoties uz katla vērtību
Visu ceļu uz augšu, saka vilcienam iet pilnā ātrumā
Pusceļā uz augšu, saka vilcienam iet uz priekšu ar 50% ātrumu
Vidū, liek vilcienam apstāties
Pusceļā saka, lai vilciens brauc atpakaļgaitā ar 50% ātrumu
Līdz galam nosaka, ka vilciens brauc atpakaļgaitā pilnā ātrumā
ti
funkcija train_direction (dir_val) {
//console.log("message = ", Characteristic_store); const prepval = new Uint8Array ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]); ja (dir_val> 300 && dir_val 400 && dir_val 500) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x64]); } ja (dir_val 200) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xe2]); } ja (dir_val 100) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xce]); } ja (dir_val {Raksturīgs_veikals.writeValue (nosūtīšanas vērtība);}); }
Pilnu kodu var atrast zemāk esošajai saitei
2. solis: elektroinstalācija
Elektroinstalācija bija vienkāršākā daļa
Tas tikai sastāvēja no 4 spiedpogām, kas savienotas ar D15, D16, D17 un D18 bez izvelkama pretestības, kā tas tika darīts kodā, un 1 10k rezistoru, kas savienots ar D31
Es joprojām strādāju pie barošanas avota, bet šobrīd visa jauda tiek iegūta no mikro usb pārtraukuma, un to varētu pievienot tieši strāvas bankai vai USB portam
3. solis: uzbūve
Tālvadības pults lielākoties ir izgatavota no 3 mm, 6 mm vai 9 mm A4 saplākšņa loksnēm; tās tika sagrieztas manā CNC mašīnā, tomēr, izmantojot norādīto veidni, es to darītu, lai gan tas nebūtu neiespējami to izdarīt ar rokām
Es ceru, ka veidne un fotoattēli sniegs jums visu nepieciešamo pārtaisīšanai, taču ir dažas piezīmes, kas varētu palīdzēt
3 mm spiedpogas stiprinājums ir paredzēts spiedpogas piestiprināšanai, atstarpe novieto pogu pareizā vietā, bet mēs ļaujam piekļūt aizmugurē esošajai kājai, lai jūs varētu pielodēt mikroshēmu, bet aizmugurē - arī MDBT42Q izmantojot kādu līmi. Priekšpusē jums būs jāpievieno tik putas, lai pogas nedaudz atlec, nospiežot tās uz leju, jūs varētu izmantot arī atsperes
9 mm pogām būs nepieciešama logotipa krāsa, gravējums vai kaut kas cits, lai parādītu, kura poga ko dara
Svira/rokturis būs jāslāņo, es izmantoju 6 mm dībeli, lai palīdzētu tos izlīdzināt visās pareizajās pozīcijās
Ieteicams:
Tālvadības pults slēdža tālvadības pults + palaidējs: 6 soļi (ar attēliem)
Tālvadības pults slēdža tālvadības pults + aktivizētājs: šī pedāļa tālvadības pults ir lieliski piemērota, lai apturētu animatorus, fotoattēlu arhivētājus, emuāru autorus un profesionāļus, kuri visu laiku nevar sasniegt savas kameras aizvara pogu vai kuriem ātri jāstrādā pie galda ar pievienotu kameru. augstas virs galvas. 2020. gada decembra atjauninājums: E
Televizora tālvadības pults kļūst par RF tālvadības pulti -- NRF24L01+ apmācība: 5 soļi (ar attēliem)
TV tālvadības pults kļūst par RF tālvadības pulti || NRF24L01+ apmācība: Šajā projektā es jums parādīšu, kā es izmantoju populāro nRF24L01+ RF IC, lai bezvadu režīmā pielāgotu LED sloksnes spilgtumu, izmantojot trīs bezjēdzīgas TV tālvadības pults pogas. Sāksim
IRduino: Arduino tālvadības pults - atdariniet pazaudētu tālvadības pulti: 6 soļi
IRduino: Arduino tālvadības pults - atdariniet pazaudētu tālvadības pulti: ja kādreiz esat pazaudējis televizora vai DVD atskaņotāja tālvadības pulti, jūs zināt, cik apgrūtinoši ir staigāt, atrast un izmantot pašas ierīces pogas. Dažreiz šīs pogas pat nepiedāvā tādas pašas funkcijas kā tālvadības pults. Saņemt
Parastais tālvadības pults komplekts pārveidots par četru kanālu RC rotaļlietu tālvadības pulti: 4 soļi
Parastais tālvadības pults komplekts ir pārveidots par četru kanālu RC rotaļlietu tālvadības pulti:方法 非常 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照 视频 教程 完成 这个 电子 电子 项目 并 为 您。 玩具 这个 这个 电子 项目 并 为 为 服务。 玩具 提供 提供 远程 项目 并
Vadības pults kameras tālvadības pults: 4 soļi
Vadības pults kameras tālvadības pults: Šis ir īss pamācība, kā izveidot tālvadības pulti kamerai, kurai tās vēl nav. Tas ietver solenoīdu, vienkāršu brita ekrānu, sienas kārpu, dažus vadus un aparatūru. Viegli pagatavojams, jautri lietojams