Serial monitor kullanarak yazılan komuta göre roleleri açar, kapatır veya tersini yapar. Arduino’nun rx,tx pinlerine bluetooth bağlayarak bluetooh üzerinden işlem yapabilirsiniz.
Komutlar:
- 2 karakter röle değeri (r1,r2,r3,r4)
- 3 karakter yapılmak istenen değer (on:devreyi tamamlar off:devreyi açar ch:devrenin durumunun tersini alır)
örn:r1ch
//röle pinleri int role1 = 9; int role2 = 10; int role3 = 11; int role4 = 12; int roleXDurum = 0; //tüm roleler char gelenKarakter = ""; String olusanKarakter = ""; void setup() { // initialize serial: Serial.begin(9600); pinMode(role1, OUTPUT); pinMode(role2, OUTPUT); pinMode(role3, OUTPUT); pinMode(role4, OUTPUT); digitalWrite(role1, HIGH);//ledi kapar digitalWrite(role2, HIGH);//ledi kapar digitalWrite(role3, HIGH);//ledi kapar digitalWrite(role4, HIGH);//ledi kapar //Role durumlarını set et roleXDurum = 0; } // the loop function runs over and over again forever void loop() { if(Serial.available() > 0) { olusanKarakter = Serial.readStringUntil('\n'); Serial.println(olusanKarakter); } if(olusanKarakter.substring(0,2) == "r1") { String isim = "Role 1"; Serial.println(isim + " isimli role ile islem baslatildi"); if(olusanKarakter.substring(2,4) == "on") { ledAc(role1,isim); } if(olusanKarakter.substring(2,5) == "off") { ledKapa(role1,isim); } if(olusanKarakter.substring(2,4) == "ch") { ledDurumDegistir(role1,isim); } } if(olusanKarakter.substring(0,2) == "r2") { String isim = "Role 2"; Serial.println(isim + " isimli role ile islem baslatildi"); if(olusanKarakter.substring(2,4) == "on") { ledAc(role2,isim); } if(olusanKarakter.substring(2,5) == "off") { ledKapa(role2,isim); } if(olusanKarakter.substring(2,4) == "ch") { ledDurumDegistir(role2,isim); } } if(olusanKarakter.substring(0,2) == "r3") { String isim = "Role 3"; Serial.println(isim + " isimli role ile islem baslatildi"); if(olusanKarakter.substring(2,4) == "on") { ledAc(role3,isim); } if(olusanKarakter.substring(2,5) == "off") { ledKapa(role3,isim); } if(olusanKarakter.substring(2,4) == "ch") { ledDurumDegistir(role3,isim); } } if(olusanKarakter.substring(0,2) == "r4") { String isim = "Role 4"; Serial.println(isim + " isimli role ile islem baslatildi"); if(olusanKarakter.substring(2,4) == "on") { ledAc(role4,isim); } if(olusanKarakter.substring(2,5) == "off") { ledKapa(role4,isim); } if(olusanKarakter.substring(2,4) == "ch") { ledDurumDegistir(role4,isim); } } if(olusanKarakter.substring(0,2) == "rx") { String isim = "Tum Roleler"; Serial.println(isim + " isimli role ile islem baslatildi"); if(olusanKarakter.substring(2,4) == "on") { ledAc(role1,isim); ledAc(role2,isim); ledAc(role3,isim); ledAc(role4,isim); roleXDurum = 1; } if(olusanKarakter.substring(2,5) == "off") { ledKapa(role1,isim); ledKapa(role2,isim); ledKapa(role3,isim); ledKapa(role4,isim); roleXDurum = 0; } if(olusanKarakter.substring(2,4) == "ch") { if(roleXDurum == 0) { roleXDurum = 1; ledAc(role1,isim); ledAc(role2,isim); ledAc(role3,isim); ledAc(role4,isim); } else { roleXDurum = 0; ledKapa(role1,isim); ledKapa(role2,isim); ledKapa(role3,isim); ledKapa(role4,isim); } } } olusanKarakter=""; } void ledAc(int port, String isim) { digitalWrite(port, LOW);//ledi açar Serial.println(isim + " isimli Led Yakildi"); } void ledKapa(int port, String isim) { digitalWrite(port, HIGH);//ledi kapar Serial.println(isim + " isimli Led Kapatildi"); } void ledDurumDegistir(int port, String isim) { int val = digitalRead(port); if(val==1) { ledAc(port,isim); } else { ledKapa(port,isim); } }