Pin digitali, come aumentarli?

Ciao a tutti,
per un mio progettino necessito di un logger shield, essa impegna i pin 10,11,12 e 13 di arduino.
Uso inoltre un display che alla meglio si "frega" 6 pin digitali (2,3,4,5,6 e 7). Oltre a questo necessito di 3 (meglio 4) pulsanti. La domanda è: come faccio??? Mi resterebbero liberi solo i pin 8 e 9 ma non mi bastano.
Grazie dell'aiuto!

PS uso Arduino UNO v 3 e software 1.0 su XP sp3

Puoi usare i pin analogici come digitali.

Se raggiungi il limite puoi passare ad Arduino Mega o usare dei multiplexer
Ciao

Grazie, proverò prima con un mux magari un adg407 che ho già in casa.
Al massimo provo Arduino mega perchè anche gli analogici forse non mi bastano.

9six4:
Grazie, proverò prima con un mux magari un adg407 che ho già in casa.
Al massimo provo Arduino mega perchè anche gli analogici forse non mi bastano.

Eventualmente senza spendere soldi per una mega puoi usare un ATmega 664p oppure il fratello maggiore il 128x (non ricordo la sigla esatta sono 40pin)

Display e pulsanti ( tastiera ) li puoi sempre collegare in I2C

http://www.arduino.cc/playground/Main/I2CPortExpanderAndKeypads

con 2 pin colleghi tutto

Grazie brunello,
molto interessante, il mio unico grande problema è che ho sviluppato il mio programma a pezzi e ogni singolo pezzo funzionava... ora assemblando il tutto non va più nulla, quindi ho il terrore di aggiungere anche una sola riga di codice :grin:

ciao a me per un un progetto mi avevano consigliato i 74165 per input e i 75HC595 output (http://arduino.cc/en/Tutorial/ShiftOut).
praticamente con 3 pin in seriale comandi questo integrato, il bello che su tre pin ne puoi attaccare anche 4 di sti integrati.
quindi ogni uno ha 8 pin se ne usi 4 ne hai 32 - 3(seriali) hai 29 pin in più

ho trovato la citazione di @leo72 una vecchia

Serve per aumentare le porte digitali in output: con 3 soli pin puoi gestire fino a 64 uscite (8 per 8 chip, il massimo di 595 collegabili in cascata).
Per gli input digitali puoi fare lo stesso con i 74165, che sono dei PISO, Parallel-In/Serial-Out, ossia leggono 8 bit in parallelo e restituiscono le letture serialmente su un pin dati. Anche questi li comandi con 3 soli pin dall'Arduino.

Wow, molto interessante grazie! Ora devo fare mente locale e cercare di capire quale soluzione sia la migliore, sperando che prima o poi tutto conviva armoniosamente insieme e funzioni! :grin:

comunque spero che hai capito che i due integrati o sono tutti 29 output o tutti input

ratto93:

9six4:
Grazie, proverò prima con un mux magari un adg407 che ho già in casa.
Al massimo provo Arduino mega perchè anche gli analogici forse non mi bastano.

Eventualmente senza spendere soldi per una mega puoi usare un ATmega 664p oppure il fratello maggiore il 128x (non ricordo la sigla esatta sono 40pin)

Atmega644 e 1284.

leo72:

ratto93:

9six4:
Grazie, proverò prima con un mux magari un adg407 che ho già in casa.
Al massimo provo Arduino mega perchè anche gli analogici forse non mi bastano.

Eventualmente senza spendere soldi per una mega puoi usare un ATmega 644p oppure il fratello maggiore il 1284 (non ricordo la sigla esatta sono 40pin)

Atmega644 e 1284.

Grazie della correzione, mi dimentico sempre :slight_smile:

Non è difficile, i numeri dei modelli Atmel sono sempre composti così: abcX. X è il modello, abc indicano la quantità di Flash in kB.
Quindi Atmegaxxx4... ti ricordi che sono 64 k, quindi 644. Difatti il 1284 è lo stesso chip col doppio di Flash.
Pensa all'Atmega328, evoluzione del modello 168 :wink:

Oppure ai miei amici Tiny. Tiny24/44/84: sempre dello stesso chip si parla, ma con differenti tagli.