Crea sito

CanLuce

E' uno dei dispositivi più semplici, quindi cominciamo da questo.

E' un dispositivo "attuatore", comanda un relè utile per accendere e spegnere una luce (o qualsiasi altro dispositivo elettrico);  prevede anche 2 porte di input oltre naturalmente alla porta CAN bus.

Il firmware presentato prevede che la luce si accenda in uno dei seguenti casi:

- Quando uno degli interruttori eventualmente collegati alle porte di input cambia di stato (on/off) . In questo caso la luce rimane accesa per 10 minuti o finchè non viene spenta

- Quando viene rilevato l'apposito comando inviato da telecomando.In questo caso la luce rimane accesa per 3 minuti o finchè non viene spenta

- Quando la luce ambiente esterna è inferiore ad una soglia prestabilita e viene aperto uno dei 2 cancelli oppure suona il campanello.  In questo caso la luce rimane accesa per 3 minuti o finchè non viene spenta

- Quando la luce ambiente esterna è inferiore ad una soglia prestabilita e scatta l'allarme  In questo caso la luce rimane accesa per 3 minuti o finchè non viene spenta

Prevede che la luce si spenga in uno dei seguenti casi:

- Quando uno degli interruttori eventualmente collegati alle porte di input cambia di stato (on/off) .

- Quando il tempo di accensione previsto viene ad esaurirsi.

 

La situazione di cambio di stato degli interruttori è rilevata localmente - le altre informazioni (misura della luce esterna, apertura cancelli, rilevazione situazione di allarme, rilevazione campanello, rilevazione dati di radiocomando) vengono rilevate dai messaggi che transitano sulla rete can.

 

Hardware e software

Alimentatore switching da 12V a 5V con MAX5033 o MAX5035.

Transceiver can MCP2551.

Processore Microchip PIC18F26K80.

Relè a 12 volt pilotato dal fet 2N7002.

Porte di input protette da zener da 5V.

Schema elettrico

PCB        pcb & componenti        pcb componenti

Sorgente firmware CANLUCE1.C in c18

Header c18 CANLUCE1.H

Configurazione j1939  MYCAN.DEF

Le routines can J1939 le trovate sulla pagina generale di can_net.