Inviare dati via seriale

Che differenza c'è tra Serial.print() e Serial.write() ?

Ho fatto un programma che invia sulla seriale il valore di millis() ogni volta che riapro il serial monitor dell'ide il valore torna a zero, è normale?

Quando chiudi e riapri il terminale seriale Arduino si resetta, come se avessi premuto il pulsante di reset. Quindi è normale che millis() riparta da zero.

Che differenza c’è tra Serial.print() e Serial.write() ?

La sezione Reference sul sito c’è apposta per questo tipo di domande!!

Scoprirai che la funzione write serve per inviare dati solo in formato binario, mentre con print puoi trasmettere in qualsiasi altro formato, tranne che binario XD

Ok, grazie mille ;)

Ma perchè quando chiudo il serial monitor si resetta?

Ho provato con python a leggere i dati che invio con arduino, come mai se interrompo la lettura e poi la faccio ripartire mi legge anche tutti i dati che arduino aveva inviato mentre non li stavo leggendo? È possibile con quando interrompo la lettura e poi riparto riparta senza i dati inviati nel frattempo?

Arduino si resetta quando apri il serial monitor...non so dirti il motivo ma fa così!

http://www.ladyada.net/learn/arduino/lesson4.html In questo link puoi trovare un sacco di notizie sui comandi della seriale di Arduino e sul serial monitor dell'IDE

Mi pare che il reset venga fatto dal chip FTDI nel caso dell'Arduino 2009 oppure dall'Atmega8U2 nel caso dell'Uno quando viene letto un segnale sulla seriale, come nel caso dell'avvio dell'IDE oppure dell'apertura del suo emulatore di terminale, per impostare in modalità programmazione il bootloader dell'Atmega nel caso che ci sia un programma in arrivo dalla seriale. Purtroppo il chip di gestione della comunicazione USB/Arduino è "ghiozzo", quindi non sta a chiedersi se l'utente ha aperto la connessione semplicemente per inviare dati tramite l'emulatore di terminale oppure se l'IDE sta avviando una riprogrammazione del micro e resetta in ogni caso.

Il resettare quando apri il terminale del IDE é voluto e pilotato dall' IDE perché in questo modo l' arduino parte col programma dal inizio. Se Ti serve la seriale per controllare il funzionamento del programma é necessario che sia cosí. C'é la possibilitá di sopprimere tale funzione ma non so trovare l'articolo sul forum. Ciao Uwe

Ok, grazie ;)

http://arduino.cc/playground/Italiano/Pobleminoti#Autoreset