//________________MASTER________________
//AÇIKLAMA:
//NOT: Simülasyon Tinkerkad'de yapıldı. Çünkü Proteus'ta Slave cihazdan Master cihaza
//veri gönderimi hatalı oluyor.
//Uygulamada Master cihaz Wire.requestFrom(); komutu ile slave cihazdan veri
//istediğinde bulundu. Slave cihaz Wire.write(); komutu ile Master cihaza veri
//gönderdi. Slave cihazdan gelen veri şartlı ifadede yerine koyulup ilgili ledler yakıldı.
#include<Wire.h>
void setup()
{
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
Wire.begin();
}
void loop()
{
Wire.requestFrom(9, 1);
while (Wire.available() > 0)
{
int gelen = Wire.read();
if (gelen == 5)
{
digitalWrite(12, HIGH);
}
else
{
digitalWrite(11, HIGH);
}
}
delay(1000);
}
//________________SLAVE________________
//AÇIKLAMA:
//NOT: Simülasyon Tinkerkad'de yapıldı. Çünkü Proteus'ta Slave cihazdan Master cihaza
//veri gönderimi hatalı oluyor.
//Uygulamada Master cihaz Wire.requestFrom(); komutu ile slave cihazdan veri
//istediğinde bulundu. Slave cihaz Wire.write(); komutu ile Master cihaza veri
//gönderdi. Slave cihazdan gelen veri şartlı ifadede yerine koyulup ilgili ledler yakıldı.
#include<Wire.h>
void setup()
{
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
Wire.begin(9);
Wire.onRequest(istek_geldiginde);
}
void loop()
{
delay(500);
digitalWrite(7, LOW);
}
void istek_geldiginde()
{
Wire.write(5);
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
}
Devre Şeması
0 comments:
Yorum Gönder