Posted by : Unknown 14 Ekim 2015 Çarşamba

İKİ ARDUINO ARASINDA İLETİŞİM
-İki arduıno arasındaki iletişim I2C haberleşme protoklü ile yapılır.Bu protokol düşük bant genişligine sahip,kısa mesafeli bir haberleşmedir.
Bu iletişim SDA ve SCL hatlarıyla saglanır.Bu protokolün çalışma mantıgı master-slave yani ana uydu-köle uydu mantıgına göre çalışır.Master dan gönderilen 
veri Slave tarafında işlenir.Master-Slave arasındaki veri alış-verişi tek hat üzerinden işlem görür. Yani SDA pini işlev görür.

Bu hatta veri iletimi çift yönlüdür.Veri yolu 8 bitten oluşur.Yani veriler 1 bytlık bölümler halinde gönderilir.Bu iletişim başlaması için düşen kenarın gelmesi gerekir.
Yani lojik 1 den loji 0 geçtigi anda iletişim başlamış olur.
Aşagıda SDA ve SCL pin örnekleri verilmektedir ;
-Uno, Ethernet A4 (SDA), A5 (SCL)
-Mega2560 20 (SDA), 21 (SCL)
-Leonardo 2 (SDA), 3 (SCL)
-Due 20 (SDA), 21 (SCL), SDA1, SCL1
Gelelim devremize : 


MASTER OLARAK SEÇİLEN ARDUINO KODLARI : 
#include <Wire.h>
char a;
 void setup()
{
  Wire.begin();  
  Serial.begin(9600);
}

void loop()
{
  Wire.requestFrom(1, 16);  
  while(Wire.available()){
    a = Wire.read();
    Serial.print(a);
  }
  Serial.println();
   Wire.beginTransmission(1);      
  Wire.write("http://elektro-blogger.blogspot.com.tr/");  
  Wire.endTransmission();
   delay(1000);
}

SLAVE OLARAK SEÇİLEN ARDUINO KODLARI :
#include <Wire.h>
char a;
void setup()
{
  Wire.begin(1);  
  Wire.onRequest(requestEvent);  
  Wire.onReceive(receiveEvent);  
  Serial.begin(9600);
}
void loop()
{
  delay(100);
}
void receiveEvent(int howMany)
{
  while(Wire.available()){
    a = Wire.read();
    Serial.print(a);
  }
  Serial.println();
}
void requestEvent()
{
  Wire.write("MERHABA ");
}

yorumlarınız bizim için önemli

Bültene abone ol | Yorumlara abone ol

ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger