Utilizzare pin D0 e D1 come output

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?

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?

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'... :~

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.

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

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.

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()?

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

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

jumpjack:
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.

leo72:

jumpjack:
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.

Perfetto, grazie a tutti.

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!

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 :smiley:

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?

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à.

Quale guida?
E comunque non capisco il discorso dei pin: è ovvio che durante la programmazione sono occupati, ma poi stacco l'ardulog da Arduino e li posso usare, no?

La Guida è quella linkata nella mia firma.

Ho riletto i post precedenti, i pin tx/rx che usi come OUT sono quelli di Arduino, di conseguenza togliendo il suo micro il problema non sussiste più, quindi puoi collegare Arduino ad Ardulog mediante la connessione seriale e programmarlo come e quando vuoi, settandolo in base al bootloader che contiene, se è quello della 2009 devi settare board 2009.

Intanto che aspetto Ardulog sto rifacendo esperimenti con Openlog: ho collegato RX e TX a RX e TX di una arduino senza chip, ma non c'e' verso di farlo vedere all'IDE. Anche invertendo TX e RX in modo che sia TX->TX e RX->RX .
Nel datasheet dell'Openlog si dice che per riprogrammarlo vanno usati i pin SPI, ma non spiega in che modo (o meglio, le pagine di spiegazione hanno cambiato URL e non le trovo più).
Avete mai provato a riprogrammare un Openlog tramite una Arduino?

Se non risponde via seriale (tramite pin RX/TX) può darsi che quel chip non abbia il bootloader. Fatto probabile, dato che essendo un chip programmato per un compito specifico, non è previsto che sia riprogrammabile dall'utente così facilmente.

Ho trovato questo:

Si parla di una versione recente della schedina con un firmware che permette di usarla sotto Arduino come fosse una UNO.
Tu che modello hai?