Arduino e PIC in parallelo

Salve a tutti. Sto lavorando sulla tesina di maturità, che consiste in una serie di automazioni di un'abitazione tramite Arduino e Ethernet Shield.

Il mio progetto prevede le seguenti automazioni:

INGRESSI USCITE 1 Fotocellula Emettitore Stanga 1 M Apre Stanga 2 Fotocellula Ricevitore Stanga 2 M Chiude Stanga 3 Fine Corsa Stanga Aperta 3 LED (Motore in funzione stanga) 4 Fine Corsa Stanga Chiusa 4 Display ? 5 Sensore Gas (analogico) 5 Sirena 6 Sensore Temperatura (analogic) 6 Ventola 7 Fine Corsa Finestra Aperta 7 M Apre Finestra 8 Fine Corsa Finestra Chiusa 8 M Chiude Finestra 9 Crepuscolare? (analogico) 9 Illuminazione Viale

(i ? sono perchè in alcune cose sono indeciso se farle o no).

Per fare andare (per esempio) i motori nelle 2 Direzioni (m apre stanga e m chiude stanga) ho bisogno di 5 Ingressi. Quindi i 14 PIN dell'arduino UNO non bastano

La mia domanda è questa: Posso collegare all'arduino un PIC "esterno" collegando RX --- TX TX --- RX GND --- GND in modo da utilizzare sull'arduino solo 1 o al massimo 2 PIN?? Vorrei che il PIC fosse collegato all'arduino in modo da poter aprire e chiudere in cancello anche con l'arduino. In questo modo farei le parti di movimento (motori ecc..) sul PIC esterno e tutto il resto sull'arduino. Spero di essere stato chiaro.

Grazie ciao!

si può fare ma perdi la comunicazione con il PC, utile per il debug. Volendo puoi usare una libreria esterna come softserial che trasforma 2 pin in TX/RX, così il pin 0/1 li usi per programmare/comunicare con il pc, e TX/RX "simulati" li usi per comunicare con il PIC. ma sei sicuro che siano 5 pin per usare il motore?

trasforma i 2 pin TX7RX in cosa?? scusami ma non capisco...non sono molto pratico ti queste cose.

5 PIN per 2 motori (uno per la stanga e uno per la finestra)

Ciao, se al posto del PIC usi un altro atmega328 o 168 potresti comunicarci tramite bus I2C e la seriale la lasci per il pc…
Se utilizzi il protocollo I2C non hai più problemi di pin liberi e ci colleghi il mondo
Saluti e buona tesi

no, in pratica trasforma 2 pin normali in tx/rx, così in pratica hai 2 o più seriali. se no vai di i2c ;D

ciao samuele

Le 6 entrate analogiche puoi usarle come entrate/uscite digitali. In questo modo ne hai 20 Pin disponibili. Eviterei l'uso dei pin 0 e 1 se possibile perché Ti servono per la seriale / caricamento del sketch.

Per aumentare le entrate/usite usa: * 74hc595 e con 3 pin hai 8 uscite. * I2C port expander tipo PFC8574e hai 8 E/U. informazioni li trovi sul Plaayground di questo sito.

Ciao Uwe

http://arduino.cc/en/uploads/Tutorial/ShftOutExmp1_3.gif

il componente 74hc595 è proprio quello che cercavo! :o

la mia domanda ora è questa:

il componente usa 3 pin dell'arduino: per esempio PIN 0 1 2 e 8 uscite (LED)

Se io "accendo" il PIN 0 dell'arduino quali LED si accendono??

Non usare i pin 0 e 1. Mandi i dati in seriale al 595 e li dai in paralello sulle 8 uscite del 595. Se ti servono 16 uscite puoi anche mettere due 595 in serie. Ciao Uwe