Turinys:

„ATtiny85 RF“nuotolinio valdymo pultas: 3 žingsniai
„ATtiny85 RF“nuotolinio valdymo pultas: 3 žingsniai

Video: „ATtiny85 RF“nuotolinio valdymo pultas: 3 žingsniai

Video: „ATtiny85 RF“nuotolinio valdymo pultas: 3 žingsniai
Video: 433 Mhz RF Controller 2024, Liepa
Anonim
ATtiny85 RF nuotolinio valdymo pultas
ATtiny85 RF nuotolinio valdymo pultas

PASTABA: Mano nurodomas „Virtualus slėpynių žaidimas“parodo, kaip naudoti tokio tipo nuotolinio valdymo pultą su RXC6 moduliu, kuris automatiškai dekoduoja pranešimą.

Kaip jau minėjau ankstesniame „Instructable“, neseniai pradėjau žaisti su kai kuriais „ATtiny85“žetonais. Pradinis mano tikslas buvo sukurti RF nuotolinio valdymo pultą, kuris galėtų veikti su monetų baterija. Man reikėjo eiti su neapdorotu lustu, nes nė vienas iš mano turimų „Arduinos“negali patenkinti tiek labai mažos galios, tiek palyginti mažo dydžio poreikio. Modifikuotas „LilyPad“priartėjo, tačiau lustas yra geresnis atsakymas. Idėja buvo ne tiek dauginti esamą nuotolinio valdymo pultą, kiek parodyti, kaip galite sukurti savo siųstuvo ir imtuvo rinkinį. Tai ne tik įdomus mokymosi projektas, bet ir leidžia jums sukurti savo „slaptą“kodų derinį. „Paslaptis“rašau kabutėse, nes šiuos paprastus kodus nulaužti yra gana paprasta.

1 žingsnis: RF pranešimo formatas

RF pranešimo formatas
RF pranešimo formatas

Šiam projektui pasirinkau atkartoti vieno iš savo „Etekcity RF“belaidžio jungiklio signalus (žr. Mano instrukciją apie tuos modulius). Aš tai padariau, nes galėjau patikrinti, ar mano siųstuvas veikia su „Etekcity“imtuvu ir ar mano imtuvas veikia su „Etekcity“nuotolinio valdymo pultu. Aš taip pat tiksliai žinau, kokie yra teisingi tų įrenginių kodai ir formatas, nes juos užfiksavau anksčiau. Kodo fiksavimo eskizą rasite mano instrukcijoje „Arduino RF jutiklio dekoderis“.

„Etekcity“lizdų kodai ir formatai yra labai būdingi nebrangiems RF įrenginiams. Turiu pigių apsaugos įrenginių, kurie naudoja labai panašius formatus, tik su tam tikrais laiko variantais. Pranešimo ilgis yra patogus 24 bitai, turintys ilgą pradžios bitą ir trumpą sustabdymo bitą. Galite lengvai pakeisti kodą, kad pridėtumėte daugiau baitų duomenų ir pakeistumėte sinchronizavimo bei duomenų bitų laiką. Vėlgi, šis eskizas yra tik pradinis šablonas.

2 žingsnis: Aparatūra

Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga

Siųstuvas veikia su monetine baterija (2032), todėl labai svarbu suvartoti mažai energijos. Dauguma to pasiekiama programinėje įrangoje, tačiau tai padeda tai, kad ATtiny85 paprastai veikia 1 MHz vidiniu laikrodžiu. Taisyklė yra tokia, kad mažesniems laikrodžio dažniams reikia mažiau energijos, o 1 MHz puikiai tinka siųstuvo logikai.

Tikrasis RF siųstuvo modulis, kurį man patinka naudoti, yra FS1000A, kuris yra paprastai prieinamas. Jis tiekiamas 433 MHz ir 315 MHz versijose. Programinei įrangai nesvarbu, kurią naudojate, tačiau turite įsitikinti, kad imtuvo plokštė veikia tuo pačiu dažniu. Dauguma mano projektų naudoja 433 MHz įrenginius, nes būtent tai naudoja įvairūs nebrangūs belaidžiai įrenginiai, kuriuos aš sukaupiau. Paveikslėlyje parodytas siųstuvo plokštės išdėstymas gražiai telpa į seną tablečių buteliuką. Tai nėra gražu, bet pakankamai gera koncepcijos įrodymui.

Imtuvas yra ant bevirinimo duonos lentos, nes vienintelis jo tikslas yra parodyti, kaip priimti signalus ir kaip ką nors įjungti/išjungti pagal gautus kodus. Jame naudojamas šviesos diodas, rodantis įjungimo/išjungimo būseną, tačiau galite jį pakeisti relės tvarkykle ir pan. Imtuvui galima naudoti bet kurį „Arduino“, nes jam nereikia išsikrauti akumuliatoriaus. Jei dydis vis dar svarstomas, galite naudoti kitą ATtiny85 lustą. Svarbiausia, kad imtuvas ATtiny85 turi veikti 8 MHz dažniu. Peržiūrėkite mano ankstesnį „ATtiny85 Instructable“paprastą eskizą, kuris patvirtina, kad sėkmingai pakeitėte vidinį laikrodį į 8 MHz. Mano instrukcijų apie jutiklių dekodavimą pabaigoje įtraukiu imtuvo programinės įrangos „Arduino Nano“versiją. Tai identiška čia pateikiamai ATtiny85 versijai, išskyrus porą lustų registro skirtumų.

Kaip aprašiau ankstesnėse RF instrukcijose, aš mieliau naudoju tokį imtuvą kaip įprastas RXB6. Tai superheterodino imtuvas, kuris veikia daug geriau nei superregeneruojantys imtuvai, paprastai pridedami prie FS1000A siųstuvų.

Tiek siųstuvo, tiek imtuvo moduliai geriau veikia su tinkamomis antenomis, tačiau dažnai jų nėra. Galite juos nusipirkti (gauti tinkamą dažnį) arba galite pasigaminti patys. Esant 433 MHz dažniui, tinkamas tiesios vielos antenos ilgis yra apie 16 cm. Norėdami pagaminti suvyniotą, paimkite apie 16 cm izoliuotos, tvirtos vielos vielos ir apvyniokite ją vienu sluoksniu aplink kažką panašaus į 5/32 colių grąžto kotelį. Viename gale nuimkite izoliaciją nuo trumpos tiesios dalies ir prijunkite ją prie siųstuvo/imtuvo plokštės. Radau, kad laidas iš eterneto kabelio gerai tinka antenoms. Siųstuvo plokštėje paprastai yra vieta antenai lituoti, tačiau imtuvo plokštėje gali būti tik kaiščiai (pvz., RXB6). Tiesiog įsitikinkite, kad ryšys yra saugus, jei jo nelituosite.

3 žingsnis: programinė įranga

Siųstuvo programinė įranga naudoja įprastus būdus, kaip įjungti lustą į miego režimą. Šiuo režimu jis sunaudoja mažiau nei 0,2ua srovės. Jungiklio įėjimuose (D1-D4) yra įjungti vidiniai traukimo rezistoriai, tačiau jie neatima srovės, kol nepaspaudžiamas jungiklis. Įvestys yra sukonfigūruotos pertraukimo keitimo metu (IOC). Paspaudus jungiklį, sukuriamas pertraukimas ir jis priverčia lustą pabusti. Pertraukimo tvarkytojas atlieka apie 48 ms uždelsimą, kad jungiklis nusileistų. Tada patikrinama, kuris jungiklis buvo paspaustas, ir iškviečiama tinkama tvarka. Persiųsta žinutė kartojama kelis kartus (pasirinkau 5 kartus). Tai būdinga komerciniams siųstuvams, nes 433 MHz ir 315 MHz dažnių srautas yra labai didelis. Pakartotiniai pranešimai padeda užtikrinti, kad bent vienas pasiektų imtuvą.

Sinchronizavimo ir bitų laikai yra nustatyti siųstuvo programinės įrangos priekyje, tačiau duomenų baitai yra įterpti į kiekvieną iš keturių mygtukų procedūrų. Jie yra akivaizdūs ir lengvai keičiami, taip pat lengva pridėti baitų, kad gautumėte ilgesnį pranešimą. Visi tie patys apibrėžimai yra įtraukti į imtuvo programinę įrangą ir duomenų baitų apibrėžimus. Jei prie pranešimo pridėsite duomenų baitus, turėsite pakeisti „Msg_Length“apibrėžimą ir pridėti baitų prie kintamojo „RF_Message“. Taip pat turėsite pridėti kodą prie „RF_Message“patikros „cikle“, kad patikrintumėte, ar tinkamai gauta papildomų baitų, ir apibrėžkite tuos baitus.

Rekomenduojamas: