Newsgroup: it.hobby.elettronica.digitale
Titolo: Telecomando con un PIC!

Ciao ragaz volevo sapere se qualcuno di voi si è mai cimentato nella
costruzione di un telecomando con un pic!
Mi spiego :)
Ho la necessità di clonare un telecomando che ha solo due tasti! Tramite il
programma girder sono riuscito a "beccare" i codici IR (il primo è ad
esempio 83E000000000) che dovrebbe essere in hex, giusto? In bin avrei una
cosa del genere 100000111110000000000000000000000000000000000000 giusto
^___^?
Ora volevo sapere qualcuno sa come fare (magari in C siccome in assembler ci
capisco poco :) a far inviare questo codice dal pic?
Spero di essermi spiegato! Grazie a tutti per l'aiuto CIAO ^____^

Cercando per la rete ho trovato questo stralcio di codice:
Qualcuno mi saprebbe dire come fa a sapere se inviare 1 o 0?!? Cioè hoi
capito che ogni nop dura 1uSec e la porta rimane accesa per 19uSec e poi
spenta per 5uSec. In questo modo volendo inviare questo 10000011111 come
dovrei fare?
Grazie a tutti CIAO
PROCESSOR 12c508
   #include "p12c508.inc"
   __CONFIG  _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
   #DEFINE PORT B'11111101'
 MOVF OSCCAL
 MOVLW PORT
 TRIS GPIO
   BEGIN
 BCF GPIO, 1     ;1uS
 NOP         ;2uS each nop is 1uS long
 NOP  ;3uS
 NOP  ;4uS
 NOP  ;5uS
 NOP  ;6uS
 NOP  ;7uS
 NOP  ;8uS
 NOP  ;9uS
 NOP  ;10uS
 NOP  ;11uS
 NOP  ;12uS
 NOP  ;13uS
 NOP  ;14uS
 NOP  ;15uS
 NOP  ;16uS
 NOP  ;17uS
 NOP  ;18uS
 NOP         ;19uS low on gpio.0
 BSF GPIO, 1  ;1uS Begin HIGH duty cycle
 NOP  ;2uS
 NOP  ;3uS
 NOP  ;4uS
 NOP  ;5uS
 GOTO BEGIN      ;2uS (26uS total for 38KHz)
 END

 Qualcuno mi saprebbe dire come fa a sapere se inviare >1 o 0?!?
Beh innazitutto devi settare il registro TRISB per mettere un pin ad output.
per fare andare alto o basso quel pin basta ceh fai:
bsf PORTB,[numerodelpin]   per fare uscire 1
bcf PORTB,[numerodelpin]  per fare uscire 0
Per una comunicazione seriale, tipo quella di un telecomando, io proverei a
vedere se si può utilizzare la USART ceh è disponibile in molti pic (tipo
16f876).
Scusa se sono stato poco chiaro ma vado di fretta.
ciao

1 for 10m sec
Quindi non dovrebbe essere a mio avviso complicatissimo! Soltanto mi
spaventa i numeri di NOP da inserire nel programma (ogni nop = 1uS per
10msec sono tanti :)) boh :)
CIAO

10msec sono tanti :)) boh :)
Per introdurre ritardi cosě elevati (rispetto al clock di sistema) il metodo
migliore č utilizzare routine contenenti loop, per il calcolo dei loop ti
consiglio di scaricare il programma free PicLoops
(
http://www.mnsi.net/~boucher/emporium.htm
).

 (
http://www.mnsi.net/~boucher/emporium.htm
).
Grandioso sto programma grazie :) :) :)! E ora diamo sfogo alla mia
ignoranza :) 10msec sono 0.1 sec? (10*10^(-3) giusto? :)
Speriamo di riuscirci a fare sto programma :)
Grazie ancora CIAO

 inviare (per un ricevitore a 38khz) un segnale ogni 10msec ti posto un
pezzo
Il punto è che esistono vari protocolli per i telecomandi, ad esempio quello
della philips, panasonic, sony, grundig... ce ne sono 5 se non ricordo male
che sono i più diffusi.
Ora non è che ogni marca abbia un proprio protocollo, come ho appena detto,
ce ne sono alcuni che hanno preso piede e sono usati da più produttori.
Io ho usato solo l'RC5 della philips, cmq guarda questi link:
http://www.ustr.net/infrared/infrared1.shtml
http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
il primo ti dà un'impastatura su come vengono pilotati i led ad infrarossi
dei telecomandi e poi tratta l'RC5
il secondo è un sito in cui trovi la spiegazione di alcuni protocolli (menù
a sinistra)
--
...:::Zmaster:::...
DSL powered
zmast[ANTISPAMSYSTEM]@
freemail.it
www.zmasterworld.8m.com
Collaboratore del Media Player Project

[CUT]
Grazie ^___________^

 Speriamo di riuscirci a fare sto programma :)
umm 0.01 ;D

Speriamo di riuscirci a fare sto programma :)
In bocca al lupo! Facci sapere com'è andata.