Seri Port İle Haberleşme

Seri Port İle Haberleşme

Arduino projelerimizde en çok kullanacağımız haberleşme USB üzerinden arduinoya komut göndermek ve sensörlerden gelen değerleri bilgisayar ekranına yazdrmak için kullanılır. Arduino üzerindeki Rx(Receive- Türkçesi Almak) ve Tx(Transmit- Türkçesi İletmek) pinleri haberleşmeyi sağlamaktadır. Bu pinler arduinonun USB çıkışlarına bağlıdır bu pinlere başka sensörler takılırsa haberleşme sağlanamaz.

Bilgisayara Veri Aktarmak

İlk uygulamamız arduino üzerinden bilgisayarımıza veri aktarmak olacaktır. İlk olarak yazacağımız kodda serial ekranı başlatarak haberleşme hızını (baudrate) belirlememiz gerekiyor. Arduinoda haberleşme hızı genellikle 9600 seçilir.

void setup() {
 Serial.begin(9600);
             } 
void loop()  {
 Serial.println("Kodboy Arduino Öğreniyor");
 delay(2000);  
             }

Biz bu programımızda yazdığımız bir yazıyı arduinodan bilgisayara USB aracılığı ile gönderdik. Seri port ekranını açmak arduino ide'sinin sağ tarafından bululan seri port butonuna basınız.  Burada yazdığımız println komutu yerine sadece print yazayarak aradaki farkı görebilirsiniz.

Serial Ekran İle Led Yakmak

int led=8;
char gelen;
void setup() {
pinMode(led,OUTPUT);
Serial.begin(9600);
}
void loop() {
gelen=Serial.read(); 
if(gelen=='a') { 
digitalWrite(led,1); 
Serial.println("Led Yandı"); 
}
if(gelen=='b') { 
digitalWrite(led,0); 
Serial.println("Led Söndü"); 
} 
}

Buton Kullanımı

int Buton= 7;
int Led=10;
void setup()
{
  pinMode(Buton, INPUT);
  pinMode(Led, OUTPUT);
}

void loop()
{
  if (digitalRead(Buton) == 1) {
  digitalWrite(Led,HIGH);
Serial.println("Butona basıldı."); }
  else
 { digitalWrite(Led,LOW);}
}

 


 

int Buton = 7;
int Led= 8;
int durum = 0;
void setup()
{ Serial.begin(9600);
  pinMode(Buton, INPUT);
  pinMode(Led, OUTPUT);
}

void loop()
{
 Serial.println(durum);
  if (digitalRead(Buton) == 1 && durum==0) {
  
     digitalWrite(Led,HIGH);
      Serial.println(durum);
      
        durum=1;
        delay(500);
    }
   if (digitalRead(Buton) == 1 && durum==1) {
    
    digitalWrite(Led,LOW);
     Serial.println(durum);
     durum=0;
     delay(500);
    }
  
 
}