Edoardo Vignali
Arduino e Porta Seriale
Tutorials -
Lunedì 24 Maggio 2010 15:51
Scritto da Edoardo Vignali

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

LCD schema

Articolo tratto dal playground inglese di Arduino e riadattato da Calamaro

CC

 

Gioblu Robotics © 2010 - 2012 · Sitemap · privacy

gioscarab@gmail.com

Gioblu BOTServer è online dal 10 Aprile 2010 - 319.232 Visite - 1.027.175 Pagine visualizzate - 182.309 Visitatori unici - 536 utenti attivi