Sisällysluettelo:

ATtiny85 RF -kaukosäädin: 3 vaihetta
ATtiny85 RF -kaukosäädin: 3 vaihetta

Video: ATtiny85 RF -kaukosäädin: 3 vaihetta

Video: ATtiny85 RF -kaukosäädin: 3 vaihetta
Video: ATtiny85 RF Transmitter & Receiver 2024, Heinäkuu
Anonim
ATtiny85 RF -kaukosäädin
ATtiny85 RF -kaukosäädin

HUOMAUTUS: Ohjattava "Virtuaalinen piilopeli" näyttää kuinka tämän tyyppistä kaukosäädintä käytetään RXC6-moduulin kanssa, joka purkaa viestin automaattisesti.

Kuten mainitsin edellisessä Instructable -ohjelmassa, aloitin äskettäin pelaamisen joillakin ATtiny85 -siruilla. Alkuperäinen projekti, jonka ajattelin, oli tehdä RF -kaukosäädin, joka toimisi kolikkoakulla. Minun piti käyttää raakaa sirua, koska mikään minulla olevista Arduinoista ei voi vastata sekä erittäin pienen tehon että suhteellisen pienen koon tarpeeseen. Muokattu LilyPad tuli lähelle, mutta siru on parempi vastaus. Ajatuksena ei ollut niinkään kopioida olemassa oleva kaukosäädin, vaan osoittaa, kuinka voit luoda oman lähettimen ja vastaanottimen. Sen lisäksi, että se on hauska oppimisprojekti, sen avulla voit myös luoda oman “salaisen” koodiyhdistelmän. Laitoin "salaisuuden" lainausmerkkeihin, koska näitä yksinkertaisia koodeja on melko helppo murtaa.

Vaihe 1: RF -sanomamuoto

RF -sanomamuoto
RF -sanomamuoto

Tässä projektissa päätin toistaa signaalit yhdelle langattomalle Etekcity RF -kytkimelleni (katso Instructable on no modules). Tein sen, koska pystyin varmistamaan, että lähetin toimii Etekcity -vastaanottimen kanssa ja että vastaanotin toimii Etekcity -kaukosäätimen kanssa. Satun myös tietämään tarkalleen, mitkä ovat oikeat koodit ja muoto näille laitteille, koska olen kaapannut ne aiemmin. Katso koodinkaappausluonnos “Arduino RF -anturidekooderi” Instructable -ohjelmasta.

Etekcity -pistorasioiden koodit ja muodot ovat hyvin tyypillisiä edullisille RF -laitteille. Minulla on halpoja turvalaitteita, jotka käyttävät hyvin samankaltaisia muotoja vain muutamilla ajoituksilla. Viestin pituus on kätevä 24 bittiä, pitkä aloitusbitti ja lyhyt pysäytysbitti. Voit helposti muokata koodia lisätäksesi lisää tavuja dataa ja muuttaaksesi synkronoinnin ja databittien ajoitusta. Tämä luonnos on jälleen vain aloitusmalli.

Vaihe 2: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

Lähetin toimii kolikkoakulla (2032), joten alhainen virrankulutus on avainasemassa. Suurin osa tästä saavutetaan ohjelmistossa, mutta sitä auttaa se, että ATtiny85 toimii normaalisti 1 MHz: n sisäisellä kellolla. Sääntö on, että alemmat kellotaajuudet vaativat vähemmän virtaa ja 1 MHz on täydellinen lähetinlogiikalle.

Varsinainen RF -lähetinmoduuli, jota haluan käyttää, on FS1000A, joka on yleisesti saatavilla. Se on saatavana sekä 433 MHz: n että 315 MHz: n versioina. Ohjelmistolla ei ole väliä kumpaa käytät, mutta sinun on varmistettava, että vastaanotinkortti toimii samalla taajuudella. Suurin osa projekteistani käyttää 433 MHz: n laitteita, koska sitä käyttävät erilaiset edulliset langattomat laitteet, jotka olen kerännyt. Kuvan lähetinlevyn asettelu sopii hienosti vanhaan pilleripulloon. Se ei ole kaunis, mutta tarpeeksi hyvä konseptin todisteeksi.

Vastaanotin on juotetulla leipälevyllä, koska sen ainoa tarkoitus on näyttää, kuinka signaaleja vastaanotetaan ja miten jotain laitetaan päälle/pois vastaanotettujen koodien perusteella. Se käyttää LED -valoa ilmaisemaan on/off -tilan, mutta voit korvata sen releohjaimella jne. Mitä tahansa Arduinoa voidaan käyttää vastaanottimessa, koska sen ei tarvitse tyhjentyä. Jos koko on edelleen huomioon otettava, voit käyttää toista ATtiny85 -sirua. Tärkeintä on, että ATtiny85: n on toimittava vastaanottimessa 8 MHz: n taajuudella. Katso aikaisemmasta ATtiny85 Instructable -ohjelmistostani yksinkertainen luonnos, joka varmistaa, että olet vaihtanut sisäisen kellon 8 MHz: iin. Anturin dekoodauksen Instructable -oppaan lopussa on Arduino Nano -versio vastaanotinohjelmistosta. Se on identtinen tässä olevan ATtiny85 -version kanssa lukuun ottamatta muutamia sirurekisterieroja.

Kuten kerroin aikaisemmissa RF -ohjeissa, käytän mieluummin tavallisen RXB6: n kaltaista vastaanotinta. Se on superheterodyne-vastaanotin, joka toimii paljon paremmin kuin super-regeneratiiviset vastaanottimet, jotka yleensä sisältyvät FS1000A-lähettimiin.

Sekä lähetin- että vastaanotinmoduulit toimivat paremmin oikeilla antenneilla, mutta niitä ei usein toimiteta. Voit ostaa niitä (saada oikea taajuus) tai voit tehdä omasi. Taajuudella 433 MHz oikea pituus on noin 16 cm suoralanka-antennille. Kierrelangan valmistamiseksi ota noin 16 cm eristettyä, kiinteää ydinlankaa ja kiedo se noin 5/32 tuuman poranterän varren ympärille yhdessä kerroksessa. Irrota eristys lyhyestä suorasta osasta toisesta päästä ja liitä se lähettimeen/vastaanotinkorttiin. Olen huomannut, että Ethernet -romukaapelin johto toimii hyvin antenneille. Lähetinkortilla on yleensä paikka juottaa antenni, mutta vastaanotinkortissa voi olla vain nastoja (kuten RXB6). Varmista vain, että yhteys on suojattu, jos et juota sitä.

Vaihe 3: Ohjelmisto

Lähetinohjelmisto käyttää tavallisia tekniikoita siirtääkseen sirun lepotilaan. Tässä tilassa se kuluttaa alle 0,2ua virtaa. Kytkintuloissa (D1-D4) on sisäiset vetovastukset päällä, mutta ne eivät ota virtaa, ennen kuin kytkintä painetaan. Tulot on konfiguroitu keskeytysvaihdon aikana (IOC). Kun kytkintä painetaan, keskeytys syntyy ja se pakottaa sirun heräämään. Keskeytyskäsittelijä suorittaa noin 48 sekunnin viiveen, jotta kytkin voi poistua. Tämän jälkeen tehdään tarkistus sen määrittämiseksi, mitä kytkintä on painettu, ja kutsutaan sopiva rutiini. Lähetetty viesti toistetaan useita kertoja (valitsin 5 kertaa). Tämä on tyypillistä kaupallisille lähettimille, koska siellä on niin paljon RF-liikennettä 433 MHz: llä ja 315 MHz: llä. Toistuvat viestit auttavat varmistamaan, että ainakin yksi pääsee vastaanottajalle.

Synkronointi- ja bittiajat on määritelty lähettimen ohjelmiston etuosassa, mutta datatavut on upotettu kuhunkin neljästä painiketoiminnosta. Ne ovat ilmeisiä ja helppoja muuttaa, ja tavujen lisääminen pidemmän viestin luomiseksi on myös helppoa. Kaikki samat määritelmät sisältyvät vastaanotinohjelmistoon sekä datatavun määritykset. Jos lisäät viestiin datatavuja, sinun on muutettava "Msg_Length" -määritystä ja lisättävä tavuja muuttujaan "RF_Message". Sinun on myös lisättävä koodi RF_Message -tarkistukseen "silmukassa" varmistaaksesi, että ylimääräiset tavut on vastaanotettu oikein, ja määritellä nämä tavut.

Suositeltava: