SISTEMA INTEL·LIGENT DE REGULACIÓ DE TRÀNSIT TERRESTRE I FLUVIAL AMB ARDUINO.
TECNOLOGIA 4ESO - 1 BATX Institut Bellvitge. Curs 2015-16

CIRCUIT 3. VISUALITZACIÓ D'INFORMACIÓ


Utilitzem una tercera placa connectada en sèrie amb les altres dues:
El pin 0 (receptor) l'hem connectat amb el pin 1 (emissor) de la placa emissora, a la qual estan connectats els sensors d'ultrasons.
Per que es puguin transmetre les dades els GND de les tres plaques han d'estar connectats entre si.




Per mostrar informacio utilitzem una LCD 16x2. Info: http://www.tecnobloc.com/lcd/


Esquema de connexions:


Prova de programació:
Amb el que sabem només podem mostrar dades estàtiques (no podem treballar amb delay). Per tant, qualsevol missatge a mostrar depén d'una dada rebuda:


El programa:
Cada cop que es reb una dada pel port sèrie la pantalla s'ha de netejar (lcd.clear()) abans de mostrar el text relacionat.
#include <LiquidCrystal.h>  // llibreria per treballar amb LCD
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);  // pins de connexió LCD
char dada;  // byte a llegir pel port sèrie

void setup() 
{
  Serial.begin(9600);  // comunicació sèrie
  lcd.begin(16, 2);    // configuració LCD: núm de columnes, núm de files de la LCD
}

void loop() 
{
  if (Serial.available()>0)  // si hi ha dades entrants pel port sèrie ...
  {
    dada = Serial.read();
    lcd.clear();  // neteja pantalla
    if (dada=='A') missatge_A();
    if (dada=='B') missatge_B();
    if (dada=='C') missatge_C();
    if (dada=='D') missatge_D();
    if (dada=='E') missatge_E();
    if (dada=='F') missatge_F();
  }
}

void missatge_A()
{
  lcd.print ("Benvinguts a");
  lcd.setCursor(0, 1);  
  lcd.print("BellSmartCity");
}

void missatge_B()
{
  lcd.print ("Vaixell");
  lcd.setCursor(0, 1);  
  lcd.print("APROPANT-SE");
}

void missatge_C()
{
  lcd.print ("Vaixell");
  lcd.setCursor(0, 1);  
  lcd.print("APROPANT-SE");
}

void missatge_D()
{
  lcd.print ("Vaixell");
  lcd.setCursor(0, 1);  
  lcd.print("ENTRA");
}

void missatge_E()
{
  lcd.print ("Vaixell");
  lcd.setCursor(0, 1);  
  lcd.print("HA ENTRAT");
}

void missatge_F()
{
  lcd.print ("Vaixell");
  lcd.setCursor(0, 1);  
  lcd.print("MARXANT");
}

No hay comentarios:

Publicar un comentario