İ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,
Tüm bağlantılar yapıldığında, buna benzer bir devre çıkacak:
Gönderici kart için kod:
Alıcı kart için kod:
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:
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.
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,
- VCC, Arduino Nano'da 5V portuna,
- GND, Arduino Nano'da GND portuna,
- SDA, Arduino Nano'da A4 portuna,
- SCL , Arduino Nano'da A5 portuna,
Tüm bağlantılar yapıldığında, buna benzer bir devre çıkacak:
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:
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.