Arduino ile SeriPort Üzerinden Bilgisayara Veri Yollama

Arduino ile SeriPort Üzerinden Bilgisayara Veri Yollama

Gerek arduinonun kontrolü gerekse işlenen değerlerin kullanıcıya aktarılması için arduinomuz ile bilgisayarımız arasındaki haberleşmeyi yapmamız gerekir. Bu haberleşme arduinonun RX ve TX ayaklarından gerçekleşecektir. Haberleşme için her zamanki gibi arduinoyu USB üzerinden bilgisayarımıza takmamız yeterli olmaktadır. Haberleşme için setup fonksiyonumuza başlatma kodunu yazmayı unutmayalım. Aşağıdaki kod ile bilgisayara her saniye artan sayımızı yolluyoruz.

void setup() {
Serial.begin(9600);  // bilgisayar ile arduinomuzun haberleşmesini başlatıyoruz.
// Bilgisayarın ve arduinonun aynı hızda çalışması için 9600 yazdık.
// Yani saniyede 9600 tane bit transferi olacaktır.
}
int sayici = 0;
void loop() {
Serial.print(“Sayicimizin degeri= “);  // Ekrana mesajımızı yazdırıyoruz.
Serial.println(sayici);  // sayaç değerimizi ekrana yazdırıp yeni satıra geçiyoruz.
delay(1000);  // Bir saniye bekle
}


Bütün işlem bu kadar kolay. Bundan sonrası tamamen size kalmış. Bu bağlantı ile yazdığınız programı kolaylıkla test etme debug etme imkanı sağlamaktasınız.


Şimdi daha önce öğrendiğimiz buton kontrolüyle haberleşmemizi birleştirelim ve butona her basıldığında artan bir sayaç yapalım.

const int buttonPin = 2;  // Butonun pin numarası
int sayici = 0;  //sayacimiz
int buttonState = 0;  // Butonun durumu
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
sayici ++; // sayici = sayici + 1;
Serial.print(“Sayicimizin degeri= “);  // Ekrana mesajımızı yazdırıyoruz.
Serial.println(sayici);  // sayaç değerimizi ekrana yazdırıp yeni satıra geçiyoruz.
while(buttonState == HIGH){   // Butondan elini çekene kadar program burada kalır.
// Böylece butona her basıldığında sadece bir kere değer arttırılır.
buttonState = digitalRead(buttonPin);
}
}
}

Hep arduino mu veri yollayacak, biraz da karşıdan veri bekleyelim. Bu kod ile bilgisayardan gelen veriler arduinoda işlenmektedir. Unutmayın ki tüm veriler karakter olarak tek tek gelmektedir.

int incomingByte = 0;  // gelen veriler
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {  // bilgisayardan veri gelmesini bekliyoruz.
incomingByte = Serial.read();  // gelen veriyi oku
Serial.print(“gelen veri: “);
Serial.println(incomingByte, DEC);  // gelen veriyi bilgisayara geri yolla
}
}

 

İlgili Mesajlar

Abone ol
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments