Predstavljamo TV Devil, jednostavno daljinsko upravljanje Arduino poteškoću

  • Edmund Richardson
  • 0
  • 3805
  • 798
Oglas

Sakrijte to u svojoj dnevnoj sobi i nasmijte se dok TiVo kutiju naizgled posjeduje demon koji zahtijeva gledanje lažnih shopping kanala. Bez obzira jeste li krajnji cilj isključiti svaki televizor u susjedstvu ili izgraditi univerzalni daljinski upravljač, ovaj projekt služi kao sjajna polazna točka za učenje osnova IR kontrole i prijemnika.

U ovome “neslana šala”, napravit ćemo uređaj koji snima, a zatim reproducira niz IR daljinskih naredbi. Radit će s bilo kojim uređajem koji koristi IR daljinski upravljač ili čak kombinacijom uređaja odjednom - snimanjem do 10 pritiska na tipku.

komponente

Evo popisa stvari koje će vam trebati za ovaj projekt:

  • Arduino i zakrpe žice
  • IR prijemnik, poput TSOP382 - ali trebali biste biti u mogućnosti pronaći kompatibilni u staroj elektronici. Izvukao sam minu iz rezervnog RGB regulatora rasvjete. Obično imaju 3 noge i crne su boje, s jedne strane izgledaju kao LED koji je prepolovljen i zaglavljen. Siguran sam da za to postoji tehnička riječ.
  • LED LED odašiljača, poput TIL38 - opet, to su prilično uobičajene pojave, ali kupio sam novi od velike snage od Maplina; izgledaju identično kao bilo koji drugi LED, pa se nemojte miješati u svom elektroničkom kompletu!
  • Prikladni otpornik za vaš IR LED - koristite ovaj LED kalkulator s obzirom na opskrbni napon (5 V od Arduino-a) i napon struje i struju s podatkovnog lista LED-a (obično oko 1,2 V @ 20 mA). U mom se slučaju pokazalo da je 220 ohma.
  • Tipka, otpornici od 10 k i otpornici od 100 ohma.
  • Preuzmite IR udaljenu biblioteku Kena Shirriffa s Githuba i stavite je u svoju Arduino / Knjižnice mapa. Tu je i primjer koda koji ćemo tada koristiti Arduinu Otvori -> Knjižnice izbornik.

ožičenje

Rješavajte ovaj krug u tri dijela - prekidač je malo lagan, ali sve ostalo je jednostavno. Sjetite se da je kratka noga LED-a s ravnim licem katoda (negativna ili uzemljena); duga noga je anoda (pozitivno).

Primanje signala

Samo napred i otvorite knjižnice / irRemote / IRrecvDemo primjer kod. Obavezno RECV_Pin ispravno je postavljena, sastavite i prenesite, a zatim otvorite serijsku konzolu na 9600 baud. Uzmite daljinski upravljač, usmjerite ga prema prijemniku i počnite pritiskati tipke. Različiti gumbi stvaraju različite kodove; neki će tada naznačiti dugo pritiskanje s početnim kodom FFFFFF, dok različiti daljinski mogu jednostavno ponovno ponoviti kod.

Za detaljniji prikaz podataka koji se primaju, pogledajte stranicu IRrecvDump umjesto toga, koji će ukazivati ​​i na vrstu primljenog signala (u ovom slučaju 32-bitni NEC) i nepročišćene vrijednosti. Dobro je znati, ali u većini slučajeva samo želite dekodirane vrijednosti.

Ponavljanje signala

Danas nećemo pisati ispočetka, nastavite i provjerite IRrecord primjer. Ovdje se znatno povećava složenost koda, ali uglavnom se sve može nositi s različitim vrstama IR kodova - u osnovi, evo što se događa unutar petlje:

  • Provjerite pritisne li gumb, reproducirajte trenutno pohranjeni signal ako jest i ponavljajte svakih 50 ms dok ne pritisnete.
  • Ako se ne pritisne i prepozna se signal, zabilježite to.

Najveće ograničenje ovog primjera je da radi samo s jednim kodom odjednom, tako da ako pritisnete drugi daljinski gumb, prebrisat će se posljednji. Gumb jednostavno reproducira posljednji signal koji je primio. Sastavite i pokrenite kôd da biste mogli ići s ovim osnovnim ponavljačem signala. Za reprodukciju jednog signala djeluje u redu, ali to je malo praktične poteškoće u poteškoćama ili na neki drugi način.

The Prank!

Idemo malo modificirati kako bi zabilježili 10 ili više nestašnih signala. Ovdje možete pronaći potpuno izmijenjeni kôd, ali ovdje je prikaz promjena koje sam napravila u slučaju da želite to programirati za sebe:

  • Odredite 3 nove matrice veličine 10 za pohranjivanje niza signala svaki put kada ih jednom otkrijete i cijeli broj za spremanje veličine tih nizova.
  • Spremite indeks mjesta na kojem se trenutno nalazimo u tom nizu. Povećajte indeks svaki put kada se signal otkrije - ali ne povećavajte ako je signal ponovljeni kod.
  • Booleova vrijednost koja zaustavlja više snimanja nakon što smo dostigli maksimum.
  • Booleovo označavanje da li smo u načinu reprodukcije ili ne, umjesto da moramo pritisnuti tipku; također su izmijenili logiku gumba da biste to promijenili.

Imajte na umu da će se LED indikator na Arduino (pin 13) aktivirati nakon što je memorija puna. Trenutno morate snimiti 10 pritiska na tipke - ni manje - a način ponovnog snimanja čekat će 1 sekundu između svakog gumba. Evo je na djelu:

Možete se igrati s stvaranjem više IR igrica ili smatrati da je to dobar početak na epskom projektu automatizacije kućanstva Vodič za automatizaciju kućanstva s Raspberry Pi i Arduino Vodičem za automatizaciju kućanstava s Malinom Pi i Arduino Tržište kućne automatizacije preplavljeno je skupocjenim potrošačkim sustavima, nespojive jedna s drugom i skupe su za instalaciju. Ako imate Raspberry Pi i Arduino, u osnovi možete postići isto ... i ne zaboravite provjeriti sve ostale Arduino projekte. Podijelite svoje kreacije (ili probleme) u komentarima i pokažite poštovanje ovom članku tako što ga dijelite na svojim omiljenim društvenim mrežama!

Kreditna slika: DaGoaty




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.