Sayısal ortamda veriler 1 ve 0 ile ifade edilmektedir. Bu veriler bir hat üzerinde aynı anda yalnız bir veri taşınacak şekilde iletiliyorsa buna seri haberleşme denir. Arduino’ nun bilgisayara bağlandığı USB (Universal Serial Bus) bağlantısı da seri haberleşme ile çalışmaktadır. Arduino ile bilgisayar arasında seri bağlantı yaparak veri transferi yapmak için USB kablosunu takmak yeterlidir. Ayrıca Arduino üzerindeki TX ve RX pinleri de seri haberleşme amacıyla kullanılabilir.
Arduino yazılım arayüzündeki seri port ekranı ile Arduino’ nun I/O pinlerinin değerlerini bilgisayar ekranında gerçek zamanlı olarak izlemek mümkündür. Bunun için Arduino yazılımında, Serial adlı referans fonksiyon kullanılmaktadır.
Bu derste; seri port ekranı kullanarak, Arduino push buton kullanımı dersinde gösterilmiş olan devredeki butonun durumunu gerçek zamanlı olarak bilgisayardan izleme işlemi anlatılmaktadır.
Malzemeler
- 1 adet Arduino
- 1 adet push button
- 1 adet 10K direnç
Bağlantı şeması
Kaynak kod
int buttonPin = 7; void setup() { pinMode(buttonPin, INPUT); Serial.begin(9600); } } void loop() { if digitalRead(buttonPin)==HIGH) { Serial.println("Butona basıldı."); } else { Serial.println("Butona basılmadı."); } }
Seri haberleşmeyi başlatmak için kurulum (setup) fonksiyonuna Serial.begin(9600)
komutu yazılmıştır. Buradaki 9600 değeri seri haberleşmenin hızını (baud rate) ifade eder. Baud rate; haberleşme kanalı üzerinden 1 saniyede gönderilen bit sayısını ifade eder. Bilgisayarın seri porttan Arduino ile varsayılan haberleşme hızı 9600bit/saniyedir. Ancak uygulamaya göre daha hızlı veya daha yavaş haberleşme ihtiyaçlarında bu değer değiştirilerek 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, vb. olarak ayarlanabilmektedir. Burada önemli olan Arduino kartı ile bilgisayarın aynı baud rate ile haberleşiyor olmasıdır.
Seri port haberleşme ekranını Arduino>Araçlar>Seri port ekranına tıklayarak görüntüleyebiliriz.
Kod Arduino kartına yüklendikten sonra, 7 numaralı pin aktif olduğuna yani butona basıldığında if koşul ifadesindeki şart sağlanmış olacak ve Serial.println("Butona basıldı.");
komutu çalıştırılacaktır. Aksi durumda ise Serial.println("Butona basılmadı.");
komutu çalıştırılacaktır.
Burada println
yerine print
fonksiyonu da kullanılabilir. Ancak println
kendisine gelen veriyi yazdırdıktan sonra alt satıra geçtiği için seri port ekranımızın daha anlaşılabilir olmasını sağlamaktadır.