KodlaBatu

İki Arduino Arası Haberleşme

iki arduino arası haberleşme

Değerli okurlarım hepinize merhabalar. Bu yazım içerisinde iki arduino arası haberleşme, iki arduino arası veri aktarımı gibi aramalarınıza yanıt bulabileceksiniz. 

Herhangi bir nedenden ötürü iki arduino'yu birbirine bağlamak, iki arduino arasında haberleşme sağlamak isteyebilirsiniz. Bu nedenler kimi zaman arduino giriş/çıkış pinleri yetersizliği kimi zaman ise hobi amaçlı iki adet programlanabilir kartı haberleştirmek olabilir. 

Ben bu proje içerisinde iki adet arduino uno modelini kullanacağım. Siz istediğiniz iki arduino modeli arasında haberleşme sağlayabilirsiniz. Şimdi gelin adım adım iki arduino arasında haberleşme nasıl sağlanır bir göz atalım.

Adım 1: Gerekli Bileşenler

  • Arduino UNO x2
  • Yeterince Jumper Kablolar


Adım 2: Devre Şeması

iki arduino arası seri iletişim


Yukarda göreceğiniz üzere Arduino'ların Tx ve Rx pinleri birbirlerine bağlı. Siz de devreyi kurarken yukarda da görüldüğü gibi ilk Arduino’nun TX pini diğerinin RX pinine ve ilk Arduino’nun RX pinini diğerinin TX pinine bağlayın. Bunu yapmamızdaki amaç Tx(gönderici) pininden gönderilen verinin Rx(alıcı) pininden okunmasını sağlamak.


Adım 3: Kodları Yazalım

Burada alıcı arduino ve gönderici arduino için iki farklı kod yazmamız gerekli.

Gönderici Arduino İçin Kod

  • İlk olarak alıcı tarafına "Merhaba" kelimesini gönderebilmek için gerekli char tanımlamasını yaptım.
  • 9600 baud hızında seri iletişimi başlattım.
  • Ve döngü içerisinde "Merhaba" kelimesinin 1 saniye ara ile iletilmesini sağladım.

char dizi[7] = "Merhaba"; //String verisi.

void setup() {
  // 9600 baud hızında seri iletişim başlatıldı.
  Serial.begin(9600);
}

void loop() {
  Serial.write(dizi,7); //dizi içerisinde yer alan "Merhaba" kelimesi gönderildi.
  delay(1000);		//1 saniye bekleme verildi.
}

Alıcı Arduino İçin Kod

  • İlk olarak, seri olarak alınan verileri depolamak için boş bir dizi tanımladım.
  • Alıcı tarafında da 9600 baud seçtim. Burada dikkat etmeniz gereken önemli hususlardan biri iki tarafın da aynı baud hızına sahip olması.
  • Ve Serial.readBytes kullanarak gönderici Arduino'dan verileri okudum.

char dizi[10]; //boş bir dizi tanımladım.

void setup() {
  // 9600 baud hızında seri iletişim başlatıldı.
  Serial.begin(9600);
}

void loop() {
  Serial.readBytes(dizi,7); //Okunan verileri dizi içerisine gömdüm.
  Serial.println(dizi);     //dizi dizisi içerisinde neler olduğunu görebilmek için seri ekrana yazdırım.
  delay(1000);		    //1 saniye beklettim.	
}

İlgili arduinolara ilgili kodları yükleyip çalıştırdığınızda herhangi bir sorun olmadığını göreksiniz. İki arduinoyu haberleştirmek işte bu kadar kolay. 

Biz bu projede sadece "Merhaba" kelimesini ilettik ve okuduk. Siz bu projeyi daha da geliştirerek sensörlerden aldığınız verileri okuyup sonuçlar üretebilir ve alıcı taraftaki arduino'nun verilere göre neler yapabileceğini koşullayabilirsiniz. Sevdiği işi yapan birinin yazısını okudunuz. En yakın zamanda görüşebilmek dileğiyle.

4 yorum: