Rehber İki Arduino arası kablolu "Serial" haberleşme

İki geliştirme kartı arasında kablolu ve kablosuz bağlantı kurmak için birçok yöntem vardır. Kablolu bağlantılardan en popüleri ise Serial haberleşmedir. Seri haberleşme, aynı zamanda Arduino gibi kartları, bilgisayar aracılığıyla programlarken de kullanılır.

Bu rehberde, internete bağlanamayan ama port seçenekleri bol Arduino Nano ile, Wi-Fi ağına bağlanabilen ama port seçenekleri kısıtlı ESP8266 Node MCU geliştirme kartını birbirine bağlayacağız. Rehberdeki amacımız, basitçe Node MCU kartından Arduino Nano'ya seri port kullanarak veri göndermek. Buna ek olarak, gönderilen veriyi Arduino Nano'da göstermek için LCD ve sayaç kullanacağım.

Bağlantılar oldukça basit,
  • Node MCU'da bulunan Rx portu, Arduino Nano'da bulunan Tx portuna,
  • Arduino Nano'da bulunan Tx portu, Node MCU'da bulunan Rx portuna,
bağlanmalı. Benim gibi I2C kullanarak LCD ekran bağlayacaksanız, I2C modülünün 4 pinlik bağlantısını da yapmanız gerek,
  • VCC, Arduino Nano'da 5V portuna,
  • GND, Arduino Nano'da GND portuna,
  • SDA, Arduino Nano'da A4 portuna,
  • SCL , Arduino Nano'da A5 portuna,
bağlanmalı.

Tüm bağlantılar yapıldığında, buna benzer bir devre çıkacak:

20201113_223845.jpg


Gönderici kart için kod:

C:
#define LED D1           

char mystr[6] = "Hello";

void setup() {
  pinMode(LED, OUTPUT);
    
  Serial.begin(115200);
}

void loop() {
  digitalWrite(LED, HIGH);
  Serial.write(mystr,5);
    
  delay(100);
  digitalWrite(LED, LOW);
    
  delay(3000);
}

Alıcı kart için kod:

C:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

int value = 0;

char mystr[10];

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  lcd.begin();
 
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  lcd.backlight();
  lcd.print("Waiting...");
}

void loop()
{
  if (Serial.available() > 0) {
    lcd.clear();
    digitalWrite(LED_BUILTIN, HIGH);
    
    ++value;
    
    Serial.readBytes(mystr,5);
    lcd.print(mystr);
      
    lcd.setCursor(6, 0);
    lcd.print(value);
    
    digitalWrite(LED_BUILTIN, LOW);
  }
}

Gönderici karta, bir de LED ekledim. Bu sayede her seri porttan veri gönderildiğinde, LED yanarak geri bildirim verecek. Arduino Nano koduna ise, gelen veriye ek olarak bir sayaç ekledim. Bu sayede gelen mesajın kaçıncı mesaj olduğunu da bilmiş olacağız.

Son durumda sistem şu şekilde çalışacak:

VideoCapture_20201113-224813.jpg


Seri haberleşme, iletişim yöntemlerinden sadece bir tanesi. Eğer benim gibi farklı özellikte, Wi-Fİ'ye bağlanan ve bağlanamayan iki kartınız varsa, serial haberleşme ve ek bir Arduino ile, internet bazlı uygulamalarınızı daha kullanışlı hale getirebilirsiniz. Özellikle de port sıkıntısı çekiyorsanız.
 
Elinize sağlık hocam, Wi-Fi modülünü nerden aldınız? Bir tane daha ihtiyacım olabilir ilerde. Bir de LCD ekranı dönüştürücü ile mi kullanıyorsunuz? Yoksa 12 pinli başlık alıp lehimlediniz mi?

Node MCU'yu 2 sene önce Robotistan'dan almıştım. CH340 ESP8266 diye bakarsan bulabilirsin. LCD'yi ise I2C modülü ile kullanıyorum, direkt LCD'yi bağlamak işkence gibi zira.

Pinleri lehimlenmemiş bir LCD ile şöyle bir I2C modülü aldım, lehimledim:

 
Pinleri lehimlenmemiş bir LCD ile şöyle bir I2C modülü aldım, lehimledim:
2 yıldır Arduino ile uğraşıyorum ve ne yaptıysam I2C ile ekran düzgün çalışmıyor, temassizlik yapiyordu. Şu an lehimlenmesi gerektiğini öğrendim. Rehberiniz için ayrı, yeni ogrendigim şey için ayrı teşekkür ederim.
 
Node MCU'yu 2 sene önce Robotistan'dan almıştım. CH340 ESP8266 diye bakarsan bulabilirsin. LCD'yi ise I2C modülü ile kullanıyorum, direkt LCD'yi bağlamak işkence gibi zira.

Pinleri lehimlenmemiş bir LCD ile şöyle bir I2C modülü aldım, lehimledim:

Teşekkürler, şu dönüştürücüden almam gerek zaten çok kablo karmaşası oluyordu. :)

Benzer koda sahip bir Wi-Fi modülüm var ama sizinkine benzemiyor ondan sormuştum.
 
nodemcus.jpg


Ben de küçük bir uyarı yapayım; her geliştirme board'unda olduğu gibi, bunda da replika olayı söz konusu. Bulabiliyorsanız ortadaki versiyondan alın, bulamıyorsanız da en ucuzunu alın. Birkaç ay önce satın aldığımda sağdaki versiyondan geldi, çalışıyor ama üretim kalitesi gerçekten leş.
 

Yeni konular

Geri
Yukarı