Vizitator H4cK3r Postat Mai 8, 2013 Partajează Postat Mai 8, 2013 Stiti cumva un tutorial(sau poate sa ma ajutati voi) pentru a imbina un ir receiver si un pic pentru a controla un circuit? De exemplu, aprinderea unui bec folosind telecomanda de la televizor.Acest ir receiver este bun pentru astfel de aplicatie? (RPM7140 ROHM). Banuiesc ca acest lucru este realizat folosind conversia analog-digital a semnalului, si fiecare tasta a telecomenzii reprezinta un numar in baza 4 sau 8(un fel de ascii). Link spre comentariu
10vid Postat Mai 9, 2013 Partajează Postat Mai 9, 2013 Acela transmite pe 40 kHz. Foarte multe telecomenzi (daca nu majoritatea) lucreaza pe 38kHz. E enervant faptul ca sunt doua standarde: 38kHz si 40kHz (sau chiar 36kHz), aparent din cauza unor confuzii create la decodificarea telecomenzilor Philips (detinatorul patentului) in primii ani.Din graficele de pe foaia tehnica a acelui produs reiese ca la 38kHz intensitatea semnalului scade cu 7.5 dB. Asta inseamna ca distanta maxima scade la 64%.O alternativa ar fi TSOP1238 sau TSOP2438. Link spre comentariu
Elef Postat Mai 9, 2013 Partajează Postat Mai 9, 2013 Sunt mai multe protocoale pt telecomenzi, inafara de codificare difera si purtatoarea:-RC5 (Philips) - original 36KHz-Nec - 38KHz-Sony - 40 KHz. Link spre comentariu
Vizitator H4cK3r Postat Mai 9, 2013 Partajează Postat Mai 9, 2013 @10vidam citit despre aceasta incompatibilitate, asa ca mi-am comandat si un ir receiver care transmite pe 38 KHz.m-ai putea ajuta te rog cu niste tutoriale sau ai putea sa-mi explici cum pot combina output-ul receiver-ului cu input-ul pic-ului?Asta in caz ca se poate face o legatura directa, desigur. Link spre comentariu
Romica_t Postat Mai 9, 2013 Partajează Postat Mai 9, 2013 @10vid am citit despre aceasta incompatibilitate, asa ca mi-am comandat si un ir receiver care transmite pe 38 KHz. m-ai putea ajuta te rog cu niste tutoriale sau ai putea sa-mi explici cum pot combina output-ul receiver-ului cu input-ul pic-ului?Asta in caz ca se poate face o legatura directa, desigur. Daca e receiver atunci nu transmite ci primeste adica primeste lumina IR. Cat timp primeste lumina IR pulsatorie la 38kHz pinul output cade la 0V (0 logic). Cat timp nu primeste lumina IR pulsatorie, pinul output "scoate" 5V (1 logic). De aici mai departe e simplu sa comunice cu un microcontroler. Pui pinul uC ca input (registrul TRIS) si poti citit usor receiverul. Link spre comentariu
yo9hnf Postat Mai 9, 2013 Partajează Postat Mai 9, 2013 Studiaza mai intai (macar) bazele microcontroller-elor !!! Eu iti recomand sa-ti cumperi un Arduino si sa te joci putin cu el. http://learn.adafruit.com/ir-sensor http://playground.arduino.cc/Code/InfraredReceivers Link spre comentariu
Mondan Postat Mai 10, 2013 Partajează Postat Mai 10, 2013 Sa clarific eu:Receptoarul ala are trei pini: +, - si semnal Pe senmal pui voltmetru preferabil analogic.Pe +, - il alimentezi dintr-o prinntr-un stab de 5V de ex 7805.Sa nu gresesti pinii. Acum apropii o telecomanda, apesi un botun, si ar trebui sa se vada reactia pe voltmetru.Ideal ar fi osciloscop, dar banuiesc ca nu ai. Daca ai osciloscop, sau poate la scoala sa rogi un prof sa te lasa cu osciloscopul, posteaza forma impulsurilor.De aici nu mai este decat un protocol serial asincron de receptie.Pai chiar asta face omu': invata. E pacat sa intri pe forum si sa te descurajeze ca nu stii bazele. :cry: Link spre comentariu
Vizitator H4cK3r Postat Mai 10, 2013 Partajează Postat Mai 10, 2013 @Mondan,mersi pentru ajutor! asta afiseaza pickit2 logic tool dupa ce am apasat pe "volume up".sa inteleg ca receiver-ul primeste 01001010101010101100101010.acum cum fac?conectez pin-ul receiver-ului la pic, salvez output-ul receiver-ului intr-un vector, si dupa compar cu niste string-uri de numere deja memorate? de exemplu char volume[]="01001010101010101100101010" si char string[] (aici salvez output-ul), si dupa fac if(strcmp(volume,string)==0)......? nu vreau arduino deoarece face lucrurile mult prea simple. Link spre comentariu
nico_2010 Postat Mai 10, 2013 Partajează Postat Mai 10, 2013 @Mondan,mersi pentru ajutor!asta afiseaza pickit2 logic tool dupa ce am apasat pe "volume up".sa inteleg ca receiver-ul primeste 01001010101010101100101010.acum cum fac?conectez pin-ul receiver-ului la pic, salvez output-ul receiver-ului intr-un vector, si dupa compar cu niste string-uri de numere deja memorate?de exemplu char volume[]="01001010101010101100101010" si char string[] (aici salvez output-ul), si dupa fac if(strcmp(volume,string)==0)......?Pentru a te lamuri mai bine de ceea ce transmite telecomanda televizorului tau (care, banuiesc, este cu protocol RC5), citeste asta:http://en.wikipedia.org/wiki/RC-5.Vei observa care sunt codurile comenzilor transmise de telecomanda si le vei implementa in PIC (pentru comparatie cu semnalul transmis) pentru a fi decodificate. Mai departe tu stii ce vrei sa faci.Aici : http://www.bowdenshobbycircuits.info/readout.htm ai si o mica aplicatie cu PIC16F628(A) Link spre comentariu
Mondan Postat Mai 10, 2013 Partajează Postat Mai 10, 2013 Tare cu Pickit 2.In principu da. Conectezi out IR la un pin al PIC-ului, printr-un 1K. Asta ca sa nu fie pinul accidental pe out.Poate MikroC sa aiba ceva definit pentru citirea seriala.Ca sa fii sigur ca nimeresti caracteristicile receptiei seriale (baud rate), o iei invers.Scrii numarul ala citit 01001..... si incerci sa il transmiti tu serial cu PIC-ul. Il compari cu imaginea postata anerior.Numarul ala nu e string "01001.." trebuie transformat in zecimal sau hexa - nu stiu daca intreg sirul sau nu (ex sa nu fie ultimul bit paritate).Daca pana aici merge doar schimbi instructiunea din transmisie in receptie. Citirea serial asincron se face soft asa:-stii cat dureaza un bit-linia este initial pe 1-logic asta insemna ca este Idle-in bucla se astepta linia seriala ca cada in 0 logic. De obicei asta este bitul de start.-se astepta jumatate din perioada bit-ului si se citeste valoarea liniei (1 sau 0). - prima citire va fi la jumate bitului de start.- se astepta o durata egala cu bitul - se citeste bitul urmator la jumatatea lui - si tot asa pentru N biti.Daca vrei sa definesti procedura soft, nu este simplu, ca nu "nimeresti" Delay-ul. Mai te inspiri din altele gasite pe NET Link spre comentariu
costi002 Postat Mai 13, 2013 Partajează Postat Mai 13, 2013 Salut, zi-mi si mie, te rog, ce este cu acel PICKIT2 logic tool? Cu un programator PICKIT2 se poate face achizitie de semnale logice ca in imagine? Daca da, cu ce soft?Multumesc anticipat. Link spre comentariu
nico_2010 Postat Mai 13, 2013 Partajează Postat Mai 13, 2013 Salut, zi-mi si mie, te rog, ce este cu acel PICKIT2 logic tool? Cu un programator PICKIT2 se poate face achizitie de semnale logice ca in imagine? Daca da, cu ce soft?Multumesc anticipat.Cu softul PICKIT2--> Tools-->Logic tool Link spre comentariu
costi002 Postat Mai 13, 2013 Partajează Postat Mai 13, 2013 Multumesc, chiar nu stiam de aceasta unealta. Link spre comentariu
Vizitator H4cK3r Postat Mai 19, 2013 Partajează Postat Mai 19, 2013 Folosind pickit 2 logic tool am aflat delay-urile.Ele sunt urmatoarele:0-1000us1-840us0-1.8ms1-880us0-920us1-880us0-880us1-880us0-920us1-880us0-880us1-880us0-920us1-880us0-880us1-1.8ms0-1.76ms1-880us0-920us1-880us0-880us1-880us0-920usteoretic, daca aprind si sting un ir led dupa acest cod, televizorul va recunoaste instructiunea?de ce este o diferenta intre durata de timp a "bit-ilor"?Ma refer la 880us,920us etc.Banuiesc ca pentru a trimite acest cod, nu pot folosi Delay10TCYx sau orice alta instructiune de delay, trebuie cu timeri, nu? Link spre comentariu
Liviu M Postat Mai 19, 2013 Partajează Postat Mai 19, 2013 Protocolul folosit la telecomanda ta foloseste o codificare "deosebita" - manchester pe numele ei, asa ca poate ar fi bine sa citesti mai multe despre protocolul asta, ca sa si intelegi ce se intampla si de ce. Mie pagina SB-Projects mi-a fost de mare ajutor.Diferentele de 20..40 us sunt acceptabile, nu cred c-o sa gasesti telecomanda fara diferente. Citirea serial asincron se face soft asa:-stii cat dureaza un bit...-se astepta jumatate din perioada bit-ului si se citeste valoarea liniei (1 sau 0). - prima citire va fi la jumate bitului de start.- se astepta o durata egala cu bitul - se citeste bitul urmator la jumatatea luiSorry Mondan, fiind vorba de RC5 cu codificare Manchester (valoarea bitului e data de tranzitia 0->1 sau 1->0 la ~jumatatea bitului) nu prea se potriveste ce ai zis tu cu ce se intampla de fapt. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum