Arduino Robotik Dersleri 4: Seri Haberleşme (UART)

şerafettin kahramanşerafettin kahraman


Aralık 2017 Arduino Başlangıç (11) 0 Okunma Sayısı: 195


Arduino Robotik Dersleri 4: Seri Haberleşme (UART)

Merhaba arkadaşlar. Bugün sizlerle Arduino UNO ile seri haberleşmeyi  öğreneceğiz.Seri haberleşme çalışması için aşağıdaki malzemeler listelenmiştir.

Gerekli malzemeler:

Bir önceki dersimizden hatırlayacak olursak 74HC595 entegresini 8 adet LED’i yakıp söndürmekte kullanmıştık. Bu sefer LED’lerimizi bilgisayarımızdan vereceğimiz komutlar ile yakıp söndürebileceğiz.

Seri Haberleşme

Hatırlarsak Arduino’muz bilgisayarımıza tanıtıldığında COM portu olarak tanınmıştı. Bu COM portu, seri haberleşme (UART) dediğimiz bir bağlantı türü için kullanılmaktadır. Bilgisayarımızla Arduino’muzu haberleştirmek için Arduino yazılımında bulunan “Seri Port Ekranı”nı kullanacağız.

Devremizin bağlantı şeması bir önceki dersimizdekiyle aynı:

Devre şeması 17/01/2017 tarihinde güncellenmiştir.

Kodumuz ise şu şekilde:

int latchPin = 5;
int clockPin = 6;
int dataPin = 4;

byte leds = 0;

void setup() 
{
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
  registeraYaz();
  Serial.begin(9600);
  while (! Serial); 
  Serial.print("1 ile 8 arasinda bir LED numarasi girin veya ");
  Serial.println("x ile hepsini sondurun");
}

void loop() 
{
  if (Serial.available())
  {
    char ch = Serial.read();
    if (ch >= '1' && ch <= '8')
    {
      int led = ch - '1';
      bitSet(leds, led);
      registeraYaz();
      Serial.print(led +1);
      Serial.println(" numarali LED yandi");
    }
    if (ch == 'x')
    {
      leds = 0;
      registeraYaz();
      Serial.println("Tum LED'ler sondu");
    }
  }
}

void registeraYaz()
{
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, LSBFIRST, leds);
   digitalWrite(latchPin, HIGH);
}

Kodumuzun setup kısmında yer alan Serial.begin(9600) komutu, Arduino’muzun seri portunu 9600 baud’da (seri iletişim hızı) çalışacak şekilde ayarlıyor. Serial.print komutu ise Arduino’nun seri porttan bilgisayarla iletişime geçerek tırnak içinde yazan yazının seri port ekranında görünmesini sağlıyor.

arduino seri haberleşme uart

Makaleye yorum yapmak silmek ve düzenlemek için giriş yapınız.

Giriş Yap

Misafir kullanıcı olarak sorularınızı aşağıya yazabilirsiniz.

Yorum:

Blog Arama

Son yorumlar

  • https://downloads.arduino.cc/packages/package_index.json dosya imza doğrulama başarısız. Dosya yoksayıldı. BU HATAYI ALMAKTAYIM COZEMEDIM
  • sorun yaşıyordum teşekkür ediyorum faydalı oldu. Bu konuda diğer uygulama yazılarınızı da bekliyoruz.
  • Vin girişine 12 volt verdim. Bazı yerlerde 20 volta kadar yazıyor. Bir katıldı ve ses çıktı. Ir ile perde kontrol esiyordum. Çalışmadı normal görünüyor. Şu anda l293n devresinden 5 volt ile besleniyor. Sizce sorun olmuş mudur. Ben yanlış bir işlem mi yaptım aceba
  • Merhaba ; Öncelikle vermiş oldugunuz bilgiler için çok teşekkürler.Ne zamandan beridir istedigim bir devre var fakat kuramıyorum .Projem ise şu arduinonun herhangi bir analog girşine 5 volt giriş saglandıgında çıkışından led yakmak istiyorum bu konuda yardımcı olurmusunuz.Şimdiden Teşekkkürler..
  • Uyarı için teşekkürlerler. Arduinoya yeni başlayan arkakaşlar dediğiniz gibi sıkıntı yaşayabilirdi.