Newsgroup: it.hobby.elettronica.digitale
Titolo: WinLirc e Pic

Salve.
Vorrei utilizzare un pic che sia capace di riconoscere tramite un TSOP 1738
i codici IR di un telecomando.
Con WinLirc ho decodificato tutti i tasti di un telecomando, per esempio per
il tasto Power mi dà questo codice:
8012    3922     515    1462     515     463
 518    1463     514     466     519    1463
 520     465     521     465     519     463
 521    3929     517    1459     521     459
 523    1459     515     460     519    1464
 518     462     521     463     523     465
 520
E' possibile far riconoscere al pic questo tipo di codice?
Come idea può andare o bisogna per forza decodificare i codici con
l'oscilloscopio (che non ho)??
Grazie.
Francesco

Che tipo di telecomando?
"Francesco" <gae...@NOSPAMlibero.it> ha scritto nel messaggio
news:%yNye.2020$tX6....@twister1.libero.it...


> Che tipo di telecomando?
Con WinLirc catturo i codici di quasi tutti i telecomandi che usiamo in
casa.
Per esempio con il telecomando del VHS controllo il computer.
Ora però vorrei controllare un pic utilizzando i codici che mi fornisce
WinLirc.
Qualcuno sa come fare?
Francesco


prova a questo link:
http://www.xs4all.nl/~sbp/projects/ircontrol/picir/picir.htm


 l'oscilloscopio (che non ho)??
Ho fatto un progettino con un PIC16F876 per dimmerare due luci, pilotare 
2 comandi up/down e due contatti attraverso il riconoscimento di tasti 
su telecomandi ir. Ho connesso il TSOP1738 al fido oscilloscopio LeCroy 
e ho visto che, su 4 telecomandi provati, tutti mandano uno stream 
seriale con bitrate di 1870. Basta quindi che inizializzi il modulo UART 
del pic per questa bitrate.
Ho fatto poi una funzioncina che mi estrae il pattern minimo da uno 
stream e lo memorizza su eeprom, e un'altra che confronta il pattern 
minimo con lo stream in arrivo. Funziona perfettamente :-)
Devo terminarlo con la "gestione utente" e la gestione dei triac per il 
dimming... uff quanto sono pigro!
Lorenzo

 Lorenzo
Ciao Lorenzo
e grazie per aver risposto.
Scusa l'ignoranza ma che significa "stream seriale con bitrate di 1870" ?
Puoi mandarmi lo schema elettrico e il codice che hai usato?
Dammi delle spiegazioni in piů o link.
Grazie.
Francesco
Per rispondermi in privato togli "NOSPAM"

 Puoi mandarmi lo schema elettrico e il codice che hai usato?
Nulla di astruso, ho connesso l'uscita data del TSOP1738 al pin RX del 
PIC16F876... lo schematico non ce l'ho, l'ho fatto su millefori di getto.
Per inizializzare la seriale:
#define	BAUD_CONSTANT_1k87	0x52
			;Constant for baud generator for 1870 baud
			;Foasc is 10MHz
SerialInit
	bsf	STATUS,RP0
         movlw   BAUD_CONSTANT_1k87	;set baud rate
	movwf   SPBRG
	bcf	TXSTA,BRGH	;baud rate low speed option
	bcf	STATUS,RP0	;change from bank1 to bank0
	bsf	RCSTA,CREN	;enable reception
	bsf	RCSTA,SPEN	;enable serial port
	return
Ricezione da seriale (bloccante):
SerialReceiveBlocking
	bcf	RTS_OUTPUT	;set RTS on for data to be received
	btfss   PIR1,RCIF 	;check if data received
	goto    $-1 		;wait until new data
	movf    RCREG,W   	;get received data into W
	return
Ricezione da seriale (non bloccante)
	ritorna: 0 se non ha ricevuto nulla,
		 x carattere ricevuto
(NOTA: io 0 non l'ho mai ricevuto, se hai un telecomando
	simile sistema la ruotine)
SerialReceiveNoBlocking
	bcf	RTS_OUTPUT	;set RTS on for data to be received
	btfss   PIR1,RCIF	;check if data received
	retlw   0 		;return 0 if no data
	movf    RCREG,W		;get received data into W
	return
Lorenzo