Bir Arduino devresi bir bakıma küçük bir bilgisayardır. Seri port giriş ünitesi, LCD çıkış ünitesi, Arduino merkezi işlem birimi ve yardımcı ünitedir. Bu uygulamada Seri porttan girilen ay ismini daktilo efekti vererek LCD monitörde görüntüleme işlemini yapacağız. Lcd ekrara Merhaba Dünya mesajını yazdıran uygualamanın devre şemasını burada kullanacağız.
Kod kısmına aşağıdaki kodları yazalım.
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
String mevsim = "";
String mesaj = "Girilen Mevsim :";
int i;
void setup()
{
lcd.begin(16,2);
Serial.begin(9600);
}
void loop()
{
if(Serial.available())
{
mevsim = Serial.readString();
lcd.clear();
lcd.setCursor(0,0);
lcd.print(mesaj);
for(i = 0; i < mevsim.length(); i++)
{
lcd.setCursor(i,1);
lcd.print(mevsim[i]);
delay(1000);
}
delay(1000);
}
}
Projeyi çalıştıralım. Dikkat ettiniz mi, girilen ay adı sadece bir defa daktilo efektiyle yazılıyor. Çünkü program bizden seri porttan bilgi girmemizi istiyor. Halbuki biz seri porttan sadece bir ay adını girdik. Animasyon işlemini seri port kontrolünden sonra yapmamız gerekir. Bunum için devam isminde ve bool tipinde bir değişken tanımlamalıyız. Kodların son hali aşağıdaki gibi olacaktır.
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
String mevsim = "";
String mesaj = "Girilen Mevsim :";
int i;
bool devam=false;
void setup()
{
lcd.begin(16,2);
Serial.begin(9600);
}
void loop()
{
if(Serial.available())
{
devam=true;
mevsim = Serial.readString();
}
if(devam==true){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(mesaj);
for(i = 0; i < mevsim.length(); i++)
{
lcd.setCursor(i,1);
lcd.print(mevsim[i]);
delay(1000);
}
delay(1000);
}
}
Projeyi çalıştırdığımızda girilen ayın sonsuz bir şekilde daktilo efektiyle yazıldığını görürsünüz.