Përmbajtje:

Telekomanda ATtiny85 RF: 3 hapa
Telekomanda ATtiny85 RF: 3 hapa

Video: Telekomanda ATtiny85 RF: 3 hapa

Video: Telekomanda ATtiny85 RF: 3 hapa
Video: RF 433MHZ Remote Control Test on the Production Line 2024, Nëntor
Anonim
Telekomanda ATtiny85 RF
Telekomanda ATtiny85 RF

SH NOTNIM: "Lojë Virtuale Hide-and-Seek" e udhëzueshme tregon se si të përdoret ky lloj telekomande me një modul RXC6 i cili deshifron automatikisht mesazhin.

Siç e përmenda në një Instructable të mëparshëm, kohët e fundit fillova të luaja me disa patate të skuqura ATtiny85. Projekti fillestar që kisha në mendje ishte të bëja një telekomandë RF që mund të funksiononte me një bateri monedhe. Më duhej të shkoja me një çip të papërpunuar sepse asnjë nga Arduinos që kam nuk mund të plotësojë nevojën për fuqi shumë të ulët dhe madhësi relativisht të vogël. Një LilyPad i modifikuar iu afrua, por çipi është një përgjigje më e mirë. Ideja nuk ishte aq shumë për të kopjuar një telekomandë ekzistuese, por për të demonstruar se si mund të krijoni grupin tuaj të transmetuesit dhe marrësit. Përveç të qenit një projekt mësimi argëtues, ai gjithashtu ju lejon të krijoni kombinimin tuaj "sekret" të kodit. Unë vendos "sekret" në thonjëza sepse është shumë e lehtë të thyesh këto kode të thjeshta.

Hapi 1: Formati i Mesazhit RF

Formati i Mesazhit RF
Formati i Mesazhit RF

Për këtë projekt unë zgjodha të përsërisja sinjalet për një nga ndërprerësit e mi pa tel Etekcity RF (referojuni Instructable tim në ato module). E bëra këtë sepse isha në gjendje të verifikoja që transmetuesi im punon me marrësin Etekcity dhe se marrësi im punon me telekomandën Etekcity. Më ndodh gjithashtu të di saktësisht se cilat janë kodet dhe formati i saktë për ato pajisje sepse i kam kapur më parë. Referojuni udhëzuesit tim "Arduino RF Sensor Decoder" për skicën e kapjes së kodit.

Kodet dhe formatet për shitoret Etekcity janë shumë tipike për pajisjet e lira RF. Unë kam pajisje të lira të sigurisë që përdorin formate shumë të ngjashme me vetëm disa ndryshime të kohës. Gjatësia e mesazhit është 24 bit të përshtatshëm me një bit të fillimit të gjatë dhe një bit të shkurtër të ndalimit. Ju lehtë mund të modifikoni kodin për të shtuar më shumë bajt të të dhënave dhe për të ndryshuar kohën e sinkronizimit dhe bitëve të të dhënave. Përsëri, kjo skicë është vetëm një model fillestar.

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Transmetuesi funksionon me një bateri monedhe (2032) kështu që konsumi i ulët i energjisë është çelësi. Shumica e kësaj arrihet në softuer, por ndihmohet nga fakti që ATtiny85 normalisht funksionon në orën e brendshme 1-MHz. Rregulli është se frekuencat më të ulëta të orës kërkojnë më pak energji dhe 1-MHz është perfekte për logjikën e transmetuesit.

Moduli aktual i transmetuesit RF që më pëlqen të përdor është një FS1000A që është zakonisht i disponueshëm. Vjen në të dy versionet 433-MHz dhe 315-MHz. Softuerit nuk i intereson atë që përdorni, por duhet të siguroheni që bordi i marrësit të funksionojë me të njëjtën frekuencë. Shumica e projekteve të mia përdorin pajisje 433-MHz sepse kjo është ajo që përdoret nga pajisjet e ndryshme pa tel të lira që kam grumbulluar. Paraqitja e bordit të transmetuesit të treguar në figurë përshtatet mirë në një shishe të vjetër të pilulave. Nuk është e bukur, por mjaft e mirë për një provë të konceptit.

Marrësi është në një pjatë pa saldim sepse qëllimi i tij i vetëm është të tregojë se si të marrë sinjale dhe si të ndizet/fiket diçka bazuar në kodet e marra. Ai përdor një LED për të treguar statusin e ndezjes/fikjes, por ju mund ta zëvendësoni atë me një drejtues stafetë, etj. Çdo Arduino mund të përdoret për marrësin sepse nuk ka nevojë të mbarojë baterinë. Nëse madhësia është ende një konsideratë, mund të përdorni një çip tjetër ATtiny85. Çelësi është që ATtiny85 duhet të funksionojë në 8-MHz në marrës. Referojuni ATtiny85 Instructable tim të mëparshëm për një skicë të thjeshtë që verifikon që keni ndryshuar me sukses orën e brendshme në 8-MHz. Në fund të kodit tim Instructable për deshifrimin e sensorit përfshij një version Arduino Nano të softuerit të marrësit. Identshtë identik me versionin ATtiny85 të përfshirë këtu përveç disa ndryshimeve në regjistrin e çipave.

Siç kam detajuar në udhëzimet e mia të mëparshme RF, preferoj të përdor një marrës si RXB6 i zakonshëm. Shtë një marrës super-heterodinë i cili funksionon shumë më mirë sesa marrësit super-rigjenerues të shoqëruar zakonisht me transmetuesit FS1000A.

Të dy modulet e transmetuesit dhe marrësit punojnë më mirë me antenat e duhura, por ato shpesh nuk furnizohen. Ju mund t'i blini ato (merrni frekuencën e duhur) ose mund t'i bëni tuajat. Në 433-MHz, gjatësia e duhur është rreth 16 cm për një antenë me tela të drejtë. Për të bërë një të mbështjellë, merrni rreth 16 cm tela të izoluar dhe të ngurtë me bërthamë dhe mbështilleni rreth diçkaje si një bosht stërvitje 5/32-inç në një shtresë të vetme. Hiqeni izolimin nga një seksion i shkurtër i drejtë në njërin skaj dhe lidheni atë me bordin tuaj të transmetuesit/marrësit. Kam gjetur se tela nga një kabllo Ethernet skrap funksionon mirë për antenat. Bordi i transmetuesit zakonisht ka një vend për të bashkuar antenën, por bordi i marrësit mund të ketë vetëm kunja (si RXB6). Vetëm sigurohuni që lidhja të jetë e sigurt nëse nuk e lidhni atë.

Hapi 3: Softuer

Softueri transmetues përdor teknika të zakonshme për të vënë çipin në gjendje gjumi. Në atë mënyrë tërheq më pak se 0.2ua rrymë. Hyrjet e çelësit (D1-D4) kanë rezistencat e brendshme tërheqëse të ndezura, por ato nuk tërheqin asnjë rrymë derisa të shtypet një ndërprerës. Hyrjet janë konfiguruar për ndërprerje në ndryshim (IOC). Kur shtypet një ndërprerës, krijohet një ndërprerje dhe e detyron çipin të zgjohet. Trajtuesi i ndërprerjeve kryen rreth 48 sekonda vonesë për të lejuar që kalimi të debunojë. Pastaj bëhet një kontroll për të përcaktuar se cili çelës është shtypur dhe thirret rutina e përshtatshme. Mesazhi i transmetuar përsëritet disa herë (zgjodha 5 herë). Kjo është tipike për transmetuesit komercial sepse ka kaq shumë trafik RF në 433-MHz dhe 315-MHz atje. Mesazhet e përsëritura ndihmojnë për të siguruar që të paktën një të kalojë tek marrësi.

Kohët e sinkronizimit dhe bitit përcaktohen në pjesën e përparme të softuerit të transmetuesit, por bajtët e të dhënave janë ngulitur në secilën prej katër rutinave të butonave. Ato janë të dukshme dhe të lehta për tu ndryshuar dhe shtimi i bajtëve për të bërë një mesazh më të gjatë është gjithashtu i lehtë. Të gjitha përkufizimet e njëjta përfshihen në softuerin e marrësit, si dhe përkufizimet e bajtit të të dhënave. Nëse shtoni bajt të të dhënave në mesazhin tuaj, do t'ju duhet të ndryshoni definicionin për "Msg_Length" dhe të shtoni byte në ndryshoren "RF_Message". Ju gjithashtu do të duhet të shtoni kod në kontrollin "RF_Message" në "lak" për të verifikuar marrjen e duhur të bajtëve shtesë dhe për të përcaktuar ato bajt.

Recommended: