|
Funzionamento della porta Seriale e come utilizzarla
La porta seriale è usata per comunicazioni tra arduino e pc o altre periferiche, ed è collegata ai pin digitali 1 e 0.
Le istruzioni per utilizzare una comunicazione seriale.
Serial.begin(9600): Questa istruzione setta la quantità di bit per secondo (baud) da utilizzare nella trasmissione seriale e predispone arduino ad una comunicazione seriale.
Serial.end(): Termina la comunicazione seriale e i pin TX e RX potranno essere utilizzati come pin digitali.
Serial.available(): Restituisce il numero di byte che riceviamo sulla porta seriale.
Serial.read(): Legge i dati in arrivo sulla seriale
Serial.flush(): svuota il buffer dei dati seriali in arrivo.
Serial.print(): Stampa i dati sulla porta seriale con caratteri ASCII, i caratteri successivi saranno stampati sulla stessa linea.
- Serial.print(78) stampa "78"
- Serial.print(1.23456) stampa "1.23"
- Serial.print(byte(78)) stampa "N"
- Serial.print('N') stampa "N"
- Serial.print("Hello world.") stampa "Hello world."
- Serial.print(78, BYTE) stampa "N"
- Serial.print(78, BIN) stampa "1001110"
- Serial.print(78, OCT) stampa "116"
- Serial.print(78, DEC) stampa "78"
- Serial.print(78, HEX) stampa "4E"
- Serial.println(1.23456, 0) stampa "1"
- Serial.println(1.23456, 2) stampa "1.23"
- Serial.println(1.23456, 4) stampa"1.2346"
Serial.println(): Stampa i dati come Serial.print() ma invia anche un byte corrispondente all accapo (ascii 13 o '\r') e un byte di newline (ascii 10 o '\10').
Serial.write(): Scrive dati binari sulla porta seriale al contrario di Serial.Print() che di default scrive caraterri ASCII.
Ora provate il seguente codice se disponete di uno schermo LCD, vi sarà molto utile per capire come fare a creare un lettore di Feeds con il vostro arduino collegato alla seriale.
Includete la libreria LiquidCrystal.h
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7,8,9,10,11,12);
void setup(){
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);
// initialize the serial communications:
Serial.begin(9600);
lcd.write('hello world');
delay(100);
lcd.clear();
}
void loop()
{
// when characters arrive over the serial port...
if (Serial.available()) {
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
// read all the available characters
while (Serial.available() > 0) {
// display each character to the LCD
lcd.write(Serial.read());
}
}
}
ed eccovi lo schema

Articolo tratto dal playground inglese di Arduino e riadattato da Calamaro
![]()