Prototyypin rakentaminen: LCD-näytöt ja sarjaporttiliikenne
Categories:
[school]
Tags:
[arduino],
[prototyping-course]
Tehtävässä oli tarkoituksena kommunikoida tietokoneen avulla sarjaportitse Arduinon kanssa. Päätin tehdä Arduinolla näytön, joka ottaa sisään sarjakonsolista tekstiä ja tulostaa sen Arduinoon kytkettyyn LCD-näyttöön.
Aloitin tutkimalla kuinka LCD-paneelin saa kytkettyä Arduinoon. Löysin Arduinon omilta sivuilta ohjeet LiquidCrystal-luokan käyttöön.
Näytön kytkeminen Arduinoon
Näytön datapinnit D4-D7 kytketään Arduinon digital-pinneihin 2-5, näytön RS-pinni kytketään Arduinon pinniin 6 ja näytön Enable-pinni Arduinon pinniin 7. Näytön VSS kytketään maihin ja VDD kytketään +5 volttiin. Näytön taustavalon anodi kytketään +5 volttiin ja katodi maihin. Näytön V0-pinni kytketään potentiometrin keskimmäiseen jalkaan. Potentiometrin vasen jalka kytketään +5 volttiin ja oikea jalka maihin.
Koodi näytön ohjaamiseen sarjakonsolista
Hetken yrityksen ja erehdyksen kautta sain seuraavanlaisen koodin tehtyä joka lukee sarjakonsolista tekstiä ja syöttää sen Arduinoon kytketylle näytölle:
/*
Arduinon näyttöön tulostaminen sarjakonsolista.
Author: Joni Junni
Date: 26.4.2013
Kytkentä:
VSS: Ground
VDD: +5v
V0: potentiometrin keskijalkaan
RS: pin 6
RW: Ground
E: pin 7
D0-3: NC
D4: pin 2
D5: pin 3
D6: pin 4
D7: pin 5
A: +5v
K: Ground
*/
#include
// Luodaan lcd "olio" määritettyihin pinneihin
LiquidCrystal lcd(6, 7, 2, 3, 4, 5);
void setup() {
Serial.begin(9600);
// Asetetaan näytön koko
lcd.begin(16, 2);
}
void loop() {
// Jos sarjaportissa on uutta dataa,
// tyhjennetään näyttö ja tulostetaan uusi teksti näytölle
if(Serial.available()) {
delay(200);
lcd.clear();
// Kirjoitetaan teksti näytölle kirjain kirjaimelta
while(Serial.available() > 0) {
lcd.write(Serial.read());
}
}
}
Lopputuloksena syntyi Arduinolla toteutettu näyttö johon voi syöttää tekstiä sarjakonsolista:
Lähteet
- Arduino – LiquidCrystal (http://arduino.cc/en/Tutorial/LiquidCrystal)
- Arduino – Serial (http://arduino.cc/en/Reference/serial)
- Tero Karvinen: Yhteydet suureen maailmaan-luento (http://terokarvinen.com/2012/aikataulu-prototyypin-rakentaminen-bus4tn007-4-loppukevat-2013)