Go Down

Topic: Utilizzare pin D0 e D1 come output (Read 2435 times) previous topic - next topic

jumpjack

Quando l'arduino non è collegata al PC posso usare i pin 0 e 1, cioè TX e RX, come output digitali? Mi fanno un po' i capricci, forse vanno impostati in modo particolare?

leo72

Finché lavori con l'Arduino sarebbe bene non usare quei pin, perché essendo in comune con la linea seriale, eventuali componenti montati su di essi darebbero noia alla programmazione degli sketch. Se hai modo di scollegare il circuito per la programmazione, allora non ci sono problemi, altrimenti eviterei di farlo.
Inoltre tali pin sono pullati dall'Atmega8/16U2, quindi avresti dei segnali di disturbo all'avvio dell'applicazione.
Non hai altri pin liberi?

jumpjack

No, non ho altri pin perchè vorrei provare a collegare un display LCD controllato tramite 5 PIN a una micro-scheda Ardulog, che ha disponibili solo 4 pin analogici e i due TX/RX.
http://www.hobbytronics.co.uk/ardulog

Anzi, veramente me ne servirebbe pure uno in piu'...  :~

leo72

Fammi capire, parliamo di Arduino o di quella scheda? Se si parla di quella scheda, usa i pin RX/TX perché lì sopra non vedo il convertitore seriale dell'Arduino a dar noia.

jumpjack

Ah, pero' ci sono anche due inutili LED, potrei agganciarmi a quelli per ottenere altri due pin digitali!

jumpjack


Fammi capire, parliamo di Arduino o di quella scheda? Se si parla di quella scheda, usa i pin RX/TX perché lì sopra non vedo il convertitore seriale dell'Arduino a dar noia.

Parlo di quella scheda, che però ha il bootoloader arduino.
Quindi una volta che ho caricato lo sketch, i due pin sono liberi? Li posso attivare come output con un normale pinMode()?

Brunello

si, pero' ricordati che funziona a 3,3V , quindi ti serve un LCD di conseguenza

jumpjack

oh per quello non c'e' problema, il display del 5110 è a 3,3 V

leo72


Quindi una volta che ho caricato lo sketch, i due pin sono liberi? Li posso attivare come output con un normale pinMode()?


Sì, è giusto. Con le precauzioni dette da brunello.

Michele Menniti



Quindi una volta che ho caricato lo sketch, i due pin sono liberi? Li posso attivare come output con un normale pinMode()?


Sì, è giusto. Con le precauzioni dette da brunello.

confermo li sto usando io per controllare due relé reed, naturalmente in stand-alone, e non svolgeranno alcuna altra funzione, non mi stanno dando alcun problema.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

jumpjack


jumpjack

Ora che ci penso, come faccio a caricare un programma su ardulog se non ha la presa USB?!? Sul sito non lo spiegano, rimandano a una pagina su come caricare un HEX!

Michele Menniti

Mi pare che ti sia stato spiegato chiaramente che usando D0 e D1 come OUT perdi la possibilità della comunicazione seriale ciò non significa che tu debba perdere la possibilità di programmare il micro; infatti puoi sempre ricorrere alla tecnica ISP, a condizione che i relativi pin siano in qualche modo liberati dai componenti ad essi collegati, p.es. mediante l'uso di tre jumperjack  :D
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

jumpjack

Ovviamente in un cosino così piccolo i pin ICSP non sono disponibili.
Però a quanto pare forse posso usare Arduino Uno come interfaccia FTDI (non trovo più quella che avevo comprato...), dovrebbe bastare levare il chip e collegare l'ardulog al suo posto coi pochi piedini liberi:
http://rctech.blogspot.it/2011/04/program-pro-mini-using-another-arduino.html

Dovrebbe funzionare anche se a bordo non c'è il chip FTDI.
Qualcuno ci ha mai provato?

Michele Menniti

Sulla mia Guida l'argomento è abbondantemente trattato, ciò che affermi è vero: togli il micro da Arduino, fai gli opportuni collegamenti tx,rx,reset e alimentazione e tutto ti funziona ma resta il problema che in questo caso è operativo il bootloader del micro stand-alone ed i pin tx/rx devono essere liberi di comunicare altrimenti non funzionerà.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up