Akıllı Ev Aydınlatma Uygulaması NodeMCU 1.0 (ESP-12E)

Görseldeki devrede NodeMCU ortamdaki kablosuz ağa bağlanmaktadır (STA modu). Seri ekrandan NodeMCU kartının aldığı IP adresi görülür. Bilgisayar görselde veya akıllı telefondan Görseldeki tarayıcı adres çubuğuna NodeMCU’nun IP adresi girilerek odaların lamba kontrolleri gerçekleştirilir.

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

/*Ağ adınızı ve Şifrenizi Giriniz*/
const char* kablosuzAgAdi = "ZyXEL";  // Ağ adınızı girin
const char* sifre = "CK4YTTFPACTL";  //Ağ şifrenizi girin

ESP8266WebServer server(80); //80 portunu kullanarak bir webserver nesnesi oluşturduk

#define salon D0
#define mutfak D1
#define yatak D2
#define cocuk D3
#define hol D4
#define banyo D5
#define tuvalet D6
#define balkon D7

bool odaDurum[8];
byte odaPin[] = {16, 5,  4, 0,  2,  14,  12,  13}; // D0 - D7 GPIO pin numaraları.
byte oda[8];
byte no;

void setup() {
  Serial.begin(9600);
  for (byte i = 0; i < 8; i++)
    pinMode(odaPin[i], OUTPUT);


  Serial.println(kablosuzAgAdi);
  Serial.println(" Ağına Bağlanılıyor");

  //yerel ağınıza bağlanmanız için gerekli komut
  WiFi.begin(kablosuzAgAdi, sifre);

  while (WiFi.status() != WL_CONNECTED) { // Wifi bağlantısı bekleniyor.
    delay(1000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Ağ bağlantısı sağlandı.");
  Serial.print("IP Adresiniz: ");  Serial.println(WiFi.localIP());

  server.on("/oda[no]", bagli);
  //for (no = 0; no < 8; no++)
//
//  server.on("/s0", salonKapali);
//  server.on("/s1", salonAcik);
  //  server.on("/m0", mutfakKapali);
  server.onNotFound(sayfaBulunamadi);

  server.begin();
  Serial.println("HTTP Sunucusu Başlatıldı");
}
void loop() {
  server.handleClient(); // İstemciden gelen verileri işle.
  for (byte i = 0; i < 8; i++) {
    if (odaDurum[i])
      digitalWrite(odaPin[i], HIGH);
    else
      digitalWrite(odaPin[i], LOW);
  }
}

void bagli() {

  server.send(200, "text/html", HTML(odaDurum));
}

//void salonAcik() {
//  odaDurum[0] = LOW; // NodeMCU 1.0 (ESP-12E) D4 pini. Dahili LED aktif 0'dır.
//  Serial.println("Salon: AÇIK");
//  server.send(200, "text/html", HTML(oda));
//}
//
//void salonKapali() {
//  odaDurum[0] = HIGH;
//  Serial.println("Salon: KAPALI");
//  server.send(200, "text/html", HTML(oda));
//}
//
//void mutfakAcik() {
//  Mutfakdurum = HIGH;
//  Serial.println("Mutfak: AÇIK");
//  server.send(200, "text/html", HTML(Salondurum, true));
//}
//
//void mutfakKapali() {
//  Mutfakdurum = LOW;
//  Serial.println("Mutfak: KAPALI");
//  server.send(200, "text/html", HTML(Salondurum, false));
//}

void sayfaBulunamadi() {
  server.send(404, "text/plain", "Sayfa bulunamadi.");
}

String HTML(bool odaDurum[]) {
  String metin = "<!DOCTYPE html> <html>\n";
  metin += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
  metin += "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">";
  metin += "<title>LED ve Röle Kontrol</title>\n";
  metin += "<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
  metin += "body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;} h3 {color: #444444;margin-bottom: 50px;}\n";
  metin += ".button {display: block;width: 80px;background-color: #1abc9c;border: none;color: white;padding: 13px 30px;text-decoration: none;font-size: 25px;margin: 0px auto 35px;cursor: pointer;border-radius: 4px;}\n";
  metin += ".button-on {background-color: #1abc9c;}\n";
  metin += ".button-on:active {background-color: #16a085;}\n";
  metin += ".button-off {background-color: #34495e;}\n";
  metin += ".button-off:active {background-color: #2c3e50;}\n";
  metin += "p {font-size: 14px;color: #888;margin-bottom: 10px;}\n";
  metin += "</style>\n";
  metin += "</head>\n";
  metin += "<body>\n";
  metin += "<h1>ESP8266 Web Server Uygulaması</h1>\n";
  metin += "<h3>ESP Station(STA) Modunda Kullanılıyor</h3>\n";

  for (no = 0; no < 8; no++) {
    if (odaDurum[no])
      metin += oda[no] + "<p> Durum: AÇIK</p><a class=\"button button-off\" href=\oda[no] >KAPAT</a>\n";
    else
      metin += oda[no] + "<p> Durum: KAPALI</p><a class=\"button button-on\" href=\oda[no] >AÇ</a>\n";
  }



  metin += "</body>\n";
  metin += "</html>\n";
  return metin;
}

#include <ESP8266WiFi.h> // NodeMCU kurulumuyla gelir.
#include <ESP8266WebServer.h> // NodeMCU kurulumuyla gelir.

/*Ağ adınızı ve Şifrenizi Giriniz*/
const char* kablosuzAgAdi = "ZyXEL";  // Ağ adınızı girin.
const char* sifre = "CK4YTTFPACTL";  //Ağ şifrenizi girin.

ESP8266WebServer server(80); //80 portunu kullanarak bir server isimli nesne oluşturdu.

const byte salonPin = D0, mutfakPin = D1, yatakPin = D2, banyoPin = D3;
bool salonDurum, mutfakDurum, yatakDurum, banyoDurum;

void setup() {
  Serial.begin(9600);
  delay(100);
  pinMode(salonPin, OUTPUT);
  pinMode(mutfakPin, OUTPUT);
  pinMode(yatakPin, OUTPUT);
  pinMode(banyoPin, OUTPUT);

  Serial.println(kablosuzAgAdi);
  Serial.println(" Ağına Bağlanılıyor");

  WiFi.begin(kablosuzAgAdi, sifre);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Ağ bağlantısı sağlandı.");
  Serial.print("IP Adresiniz: ");  Serial.println(WiFi.localIP());

  server.on("/", hepsiKapali);
  server.on("/s1", salonAcik);
  server.on("/s0", salonKapali);
  server.on("/m1", mutfakAcik);
  server.on("/m0", mutfakKapali);
  server.on("/y1", yatakAcik);
  server.on("/y0", yatakKapali);
  server.on("/b1", banyoAcik);
  server.on("/b0", banyoKapali);
  server.onNotFound(sayfaBulunamadi);

  server.begin();
  Serial.println("HTTP Sunucusu Başlatıldı");
}
void loop() {
  server.handleClient();
  if (salonDurum)
    digitalWrite(salonPin, HIGH);
  else
    digitalWrite(salonPin, LOW);

  if (mutfakDurum)
    digitalWrite(mutfakPin, HIGH);
  else
    digitalWrite(mutfakPin, LOW);

  if (yatakDurum)
    digitalWrite(yatakPin, HIGH);
  else
    digitalWrite(yatakPin, LOW);

  if (banyoDurum)
    digitalWrite(banyoPin, HIGH);
  else
    digitalWrite(banyoPin, LOW);
}

void hepsiKapali() {
  salonDurum = LOW;
  mutfakDurum = LOW;
  yatakDurum = LOW;
  banyoDurum = LOW;
  server.send(200, "text/html", HTML(salonDurum, mutfakDurum, yatakDurum, banyoDurum ));
}

void salonAcik() {
  salonDurum = HIGH;
  server.send(200, "text/html", HTML(true, mutfakDurum, yatakDurum, banyoDurum));
}

void salonKapali() {
  salonDurum = LOW;
  server.send(200, "text/html", HTML(false, mutfakDurum, yatakDurum, banyoDurum));
}

void mutfakAcik() {
  mutfakDurum = HIGH;
  server.send(200, "text/html", HTML(salonDurum, true, yatakDurum, banyoDurum));
}

void mutfakKapali() {
  mutfakDurum = LOW;
  server.send(200, "text/html", HTML(salonDurum, false, yatakDurum, banyoDurum));
}

void yatakAcik() {
  yatakDurum = HIGH;
  server.send(200, "text/html", HTML(salonDurum, mutfakDurum, true, banyoDurum));
}

void yatakKapali() {
  yatakDurum = LOW;
  server.send(200, "text/html", HTML(salonDurum, mutfakDurum, false, banyoDurum));
}

void banyoAcik() {
  banyoDurum = HIGH;
  server.send(200, "text/html", HTML(salonDurum, mutfakDurum, yatakDurum, true));
}

void banyoKapali() {
  banyoDurum = LOW;
  server.send(200, "text/html", HTML(salonDurum, mutfakDurum, yatakDurum, false));
}

void sayfaBulunamadi() {
  server.send(404, "text/plain", "Sayfa Bulunamadı");
}

String HTML(uint8_t salonDurum, uint8_t mutfakDurum, uint8_t yatakDurum, uint8_t banyoDurum) {
  String metin = "<!DOCTYPE html> <html>\n";
  metin += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
  metin += "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">";
  metin += "<title>Akıllı ev aydınlatma uygulaması</title>\n";
  metin += "<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
  metin += "body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;} h3 {color: #444444;margin-bottom: 50px;}\n";
  metin += ".button {display: block;width: 80px;background-color: #1abc9c;border: none;color: white;padding: 13px 30px;text-decoration: none;font-size: 25px;margin: 0px auto 35px;cursor: pointer;border-radius: 4px;}\n";
  metin += ".button-on {background-color: #1abc9c;}\n";
  metin += ".button-on:active {background-color: #16a085;}\n";
  metin += ".button-off {background-color: #34495e;}\n";
  metin += ".button-off:active {background-color: #2c3e50;}\n";
  metin += "p {font-size: 14px;color: #888;margin-bottom: 10px;}\n";
  metin += "</style>\n";
  metin += "</head>\n";
  metin += "<body>\n";
  metin += "<h1>Akıllı ev aydınlatma uygulaması</h1>\n";

  if (salonDurum)
    metin += "<p>Salon</p><a class=\"button button-off\" href=\"/s0\">KAPAT</a>\n";
  else
    metin += "<p>Salon</p><a class=\"button button-on\" href=\"/s1\">AÇ</a>\n";

  if (mutfakDurum)
    metin += "<p>Mutfak</p><a class=\"button button-off\" href=\"/m0\">KAPAT</a>\n";
  else
    metin += "<p>Mutfak</p><a class=\"button button-on\" href=\"/m1\">AÇ</a>\n";
  if (yatakDurum)
    metin += "<p>Yatak odası</p><a class=\"button button-off\" href=\"/y0\">KAPAT</a>\n";
  else
    metin += "<p>Yatak odası</p><a class=\"button button-on\" href=\"/y1\">AÇ</a>\n";
  if (banyoDurum)
    metin += "<p>Banyo</p><a class=\"button button-off\" href=\"/b0\">KAPAT</a>\n";
  else
    metin += "<p>Banyo</p><a class=\"button button-on\" href=\"/b1\">AÇ</a>\n";

  metin += "</body>\n";
  metin += "</html>\n";
  metin += "<h3>ESP Station(STA) Modunda Kullanılıyor</h3>\n";
  return metin;
}

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

/*Ağ adınızı ve Şifrenizi Giriniz*/
const char* kablosuzAgAdi = "ZyXEL";  // Ağ adınızı girin
const char* sifre = "CK4YTTFPACTL";  //Ağ şifrenizi girin

ESP8266WebServer server(80); //80 portunu kullanarak bir webserver nesnesi oluşturduk

bool odaDurum[8];
byte odaPin[] = {16, 5,  4, 0,  2,  14,  12,  13}; // D0 - D7 GPIO pin numaraları.
byte oda[8];
byte no;

void setup() {
  Serial.begin(9600);
  delay(100);
  for (byte i = 0; i < 8; i++)
    pinMode(odaPin[i], OUTPUT);


  Serial.println(kablosuzAgAdi);
  Serial.println(" Ağına Bağlanılıyor");

  //yerel ağınıza bağlanmanız için gerekli komut
  WiFi.begin(kablosuzAgAdi, sifre);

  //bağlantının gerçekleştiğini kontrol ediyoruz
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print("."); //gerçekleşene kadar loading gibi işaret yaptırıyoruz
  }
  Serial.println("");
  Serial.println("Ağ Bağlantısı Sağlandı..!");
  Serial.print("IP Adresiniz: ");  Serial.println(WiFi.localIP());

  server.on("/", bagli);
  //  server.on("/led1on", LED1acik);
  //  server.on("/led1off", LED1kapali);
  //  server.on("/led2on", LED2acik);
  //  server.on("/led2off", LED2kapali);
  server.onNotFound(sayfaBulunamadi);

  server.begin();
  Serial.println("HTTP Sunucusu Başlatıldı");
}
void loop() {
  server.handleClient(); // İstemciden gelen verileri işle.
  for (byte i = 0; i < 8; i++) {
    if (odaDurum[i])
      digitalWrite(odaPin[i], HIGH);
    else
      digitalWrite(odaPin[i], LOW);
  }
}

void bagli() {
  for (byte i = 0; i < 8; i++) {
    //  odaDurum[i] = LOW;
    //  Serial.print(odaPin[i]);
    //  Serial.println(". Durumu: KAPALI");
    server.send(200, "text/html", HTML(&oda[i], &odaDurum[i]));
  }
}
//void led1on() {
//  LED1durum = LOW; // NodeMCU 1.0 (ESP-12E) D4 pini. Dahili LED aktif 0'dır.
//  Serial.println("GPIO7 Durumu: AÇIK");
//  server.send(200, "text/html", HTML(true, LED2durum));
//}
//void led1off() {
//  LED1durum = HIGH;
//  Serial.println("GPIO7 Durumu: KAPALI");
//  server.send(200, "text/html", HTML(false, LED2durum));
//}
//
//
//void LED1acik() {
//  LED1durum = HIGH;
//  Serial.println("GPIO7 Durumu: AÇIK");
//  server.send(200, "text/html", HTML(true, LED2durum));
//}
//
//void LED1kapali() {
//  LED1durum = LOW;
//  Serial.println("GPIO7 Durumu: KAPALI");
//  server.send(200, "text/html", HTML(false, LED2durum));
//}
//
//void LED2acik() {
//  LED2durum = HIGH;
//  Serial.println("GPIO6 Durumu: AÇIK");
//  server.send(200, "text/html", HTML(LED1durum, true));
//}
//
//void LED2kapali() {
//  LED2durum = LOW;
//  Serial.println("GPIO6 Durumu: KAPALI");
//  server.send(200, "text/html", HTML(LED1durum, false));
//}

void sayfaBulunamadi() {
  server.send(404, "text/plain", "Sayfa Bulunamadi.");
}

String HTML(byte oda[], bool odaDurum[]) {
  String metin = "<!DOCTYPE html> <html>\n";
  metin += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
  metin += "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">";
  metin += "<title>LED ve Röle Kontrol</title>\n";
  metin += "<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
  metin += "body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;} h3 {color: #444444;margin-bottom: 50px;}\n";
  metin += ".button {display: block;width: 80px;background-color: #1abc9c;border: none;color: white;padding: 13px 30px;text-decoration: none;font-size: 25px;margin: 0px auto 35px;cursor: pointer;border-radius: 4px;}\n";
  metin += ".button-on {background-color: #1abc9c;}\n";
  metin += ".button-on:active {background-color: #16a085;}\n";
  metin += ".button-off {background-color: #34495e;}\n";
  metin += ".button-off:active {background-color: #2c3e50;}\n";
  metin += "p {font-size: 14px;color: #888;margin-bottom: 10px;}\n";
  metin += "</style>\n";
  metin += "</head>\n";
  metin += "<body>\n";
  metin += "<h1>ESP8266 Web Server Uygulaması</h1>\n";
  metin += "<h3>ESP Station(STA) Modunda Kullanılıyor</h3>\n";

  for (no = 0; no < 8; no++) {
    if (odaDurum[no])
      metin += oda[no] + "<p> Durum: AÇIK</p><a class=\"button button-off\" href=oda[no] >KAPAT</a>\n";
    else
      metin += oda[no] + "<p> Durum: KAPALI</p><a class=\"button button-on\" href=oda[no] >AÇ</a>\n";
  }

  metin += "</body>\n";
  metin += "</html>\n";
  return metin;
}

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

/*Ağ adınızı ve Şifrenizi Giriniz*/
const char* kablosuzAgAdi = "ZyXEL";  // Ağ adınızı girin
const char* sifre = "CK4YTTFPACTL";  //Ağ şifrenizi girin

ESP8266WebServer server(80); //80 portunu kullanarak bir webserver nesnesi oluşturduk

const byte LED1 = D4; // GPIO2 pini D4 pini çıkış. (Dahili LED.)
bool LED1durum = LOW;

const byte LED2 = D6;
bool LED2durum = LOW;

void setup() {
  Serial.begin(9600);
  delay(100);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);


  Serial.println(kablosuzAgAdi);
  Serial.println(" Ağına Bağlanılıyor");

  //yerel ağınıza bağlanmanız için gerekli komut
  WiFi.begin(kablosuzAgAdi, sifre);

  //bağlantının gerçekleştiğini kontrol ediyoruz
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print("."); //gerçekleşene kadar loading gibi işaret yaptırıyoruz
  }
  Serial.println("");
  Serial.println("Ağ Bağlantısı Sağlandı..!");
  Serial.print("IP Adresiniz: ");  Serial.println(WiFi.localIP());

  server.on("/", bagli);
  server.on("/led1on", LED1acik);
  server.on("/led1off", LED1kapali);
  server.on("/led2on", LED2acik);
  server.on("/led2off", LED2kapali);
  server.onNotFound(sayfaBulunamadi);

  server.begin();
  Serial.println("HTTP Sunucusu Başlatıldı");
}
void loop() {
  server.handleClient();
  if (LED1durum)
  {
    digitalWrite(LED1, HIGH);
  }
  else
  {
    digitalWrite(LED1, LOW);
  }

  if (LED2durum)
  {
    digitalWrite(LED2, HIGH);
  }
  else
  {
    digitalWrite(LED2, LOW);
  }
}

void bagli() {
  LED1durum = LOW;
  LED2durum = LOW;
  Serial.println("GPIO7 Durumu: KAPALI | GPIO6 Durumu: KAPALI");
  server.send(200, "text/html", HTML(LED1durum, LED2durum));
}
void led1on() {
  LED1durum = LOW; // NodeMCU 1.0 (ESP-12E) D4 pini. Dahili LED aktif 0'dır.
  Serial.println("GPIO7 Durumu: AÇIK");
  server.send(200, "text/html", HTML(true, LED2durum));
}
void led1off() {
  LED1durum = HIGH;
  Serial.println("GPIO7 Durumu: KAPALI");
  server.send(200, "text/html", HTML(false, LED2durum));
}


void LED1acik() {
  LED1durum = HIGH;
  Serial.println("GPIO7 Durumu: AÇIK");
  server.send(200, "text/html", HTML(true, LED2durum));
}

void LED1kapali() {
  LED1durum = LOW;
  Serial.println("GPIO7 Durumu: KAPALI");
  server.send(200, "text/html", HTML(false, LED2durum));
}

void LED2acik() {
  LED2durum = HIGH;
  Serial.println("GPIO6 Durumu: AÇIK");
  server.send(200, "text/html", HTML(LED1durum, true));
}

void LED2kapali() {
  LED2durum = LOW;
  Serial.println("GPIO6 Durumu: KAPALI");
  server.send(200, "text/html", HTML(LED1durum, false));
}

void sayfaBulunamadi() {
  server.send(404, "text/plain", "Sayfa Bulunamadı");
}

String HTML(uint8_t led1Durum, uint8_t led2Durum) {
  String metin = "<!DOCTYPE html> <html>\n";
  metin += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
  metin += "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">";
  metin += "<title>LED ve Röle Kontrol</title>\n";
  metin += "<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
  metin += "body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;} h3 {color: #444444;margin-bottom: 50px;}\n";
  metin += ".button {display: block;width: 80px;background-color: #1abc9c;border: none;color: white;padding: 13px 30px;text-decoration: none;font-size: 25px;margin: 0px auto 35px;cursor: pointer;border-radius: 4px;}\n";
  metin += ".button-on {background-color: #1abc9c;}\n";
  metin += ".button-on:active {background-color: #16a085;}\n";
  metin += ".button-off {background-color: #34495e;}\n";
  metin += ".button-off:active {background-color: #2c3e50;}\n";
  metin += "p {font-size: 14px;color: #888;margin-bottom: 10px;}\n";
  metin += "</style>\n";
  metin += "</head>\n";
  metin += "<body>\n";
  metin += "<h1>ESP8266 Web Server Uygulaması</h1>\n";
  metin += "<h3>ESP Station(STA) Modunda Kullanılıyor</h3>\n";

  if (led1Durum)
  {
    metin += "<p>LED1 Durum: AÇIK</p><a class=\"button button-off\" href=\"/led1off\">KAPAT</a>\n";
  }
  else
  {
    metin += "<p>LED1 Durum: KAPALI</p><a class=\"button button-on\" href=\"/led1on\">AÇ</a>\n";
  }

  if (led2Durum)
  {
    metin += "<p>LED2 Durum: AÇIK</p><a class=\"button button-off\" href=\"/led2off\">KAPAT</a>\n";
  }
  else
  {
    metin += "<p>LED2 Durum: KAPALI</p><a class=\"button button-on\" href=\"/led2on\">AÇ</a>\n";
  }

  metin += "</body>\n";
  metin += "</html>\n";
  return metin;
}

Benzer Temrinler & Yazılar

  • RFID Uygulaması

    Görseldeki uygulamada RFID okuyucuya geçerli bir kart okutulduğunda seri ekranda “ge-çerli kart” yazar. Geçersiz kart okutulduğunda kartın ID’sini verir. ID’si programa dâhil edilenkartlar, geçerli kart olur. Kart geçerliyken çalışan kod blokuna istenen kodlar yazılarak istenenkontroller sağlanır. #include <SPI.h> // Dahili SPI kütüphanesi #include <MFRC522.h> // v1.4.9 #define reset 9 // Reset pini #define ss 10…

  • Bluetooth Kontrollü Araç Uygulaması

    Görselde bluetooth modülün RX ve TX pinlerinin SoftwareSerial.h kütüphanesi kullanılarak8 ve 7 numaralı pinlere bağlanması gösterilmiştir. Modülün TX ucu Arduino’nun RX (8. pin) ucuna, modülün RX ucu Arduino’nun TX (7. pin) ucuna bağlanmalıdır. Ancak modülün TX ucundançıkan 3,3 V Arduino RX ucunda lojik 1 olarak kabul edilirken Arduino’nun TX ucundan çıkan 5 Vmodülün RX ucuna…

  • Işık Sensörü Uygulaması

    Görseldeki devrede Arduino’nun 5 V gerilimi üzerine uygulanan LDR’nin direnç-gerilim değişiminin anlaşılabilmesi için 10 kΩ’luk bir direnç seri bağlanarak gerilim bölücü oluşturulur. Bağlantı noktasının gerilim değişimi Arduino’nun analog girişine verilir. Aydınlık ortamda LDR’nindirenci 10 kΩ’un altındadır. Karanlıkta (LDR elle kapatıldığında) LDR direnci MΩ değerine doğruartar. LDR üzerine düşen gerilim artacağı için LDR ucuna bağlı A0…

  • Elle Uzaktan Kontrollü Araba Uygulaması

    Görseldeki eldiven üzerine yerleştirilmiş verici devresi görülmektedir. Görseldeki vericide kullanılan MPU6050 sensörü küçük deney borduna SDA pini A4, SCL pini A5’e gelecek şekilde takılmıştır. Görseldeki alıcı devresinde nRF24L01+ modül kullanılarak kablosuz iletişim uygulaması yapılmıştır. nRF24L01+ modülü Arduino ile haberleşirken SPI protokolünü, MPU6050 ivme sensörü I2C protokolünü kullanmaktadır. İvme sensörünün x ve y ekseninde -16384 ile…

  • Kesme Uygulaması

    Görseldeki programda ana döngüde blink uygulaması çalışırken butona basıldığında kesme aktifedilmekte ve haricî LED anında yanmaktadır. Haricî LED’in sönme komutu ise ana döngüde verildiğinden sönme işlemi ana programda icra edilen komut satırına bağlı olarak 0 ile 2 saniyearasında süre alır. const byte dahiliLED = 13; const byte hariciLED = 12; const byte kesmePini = 2;…

  • Servo Motor Uygulaması

    Görseldeki uygulamada servo motor 0°den 180°ye birer derece açıyla gidip aynı şekilde geridöner. 0° ile 180° arası mesafe, bu servo motorda 300 ms sürmektedir. 300 ms’den hızlı komutlarda servo motor doğru çalışmaz. Menülerden ”Taslak  Library Ekle  Servo” seçilerek programın başına eklenir. Bu programların örneğine menülerden “Dosya  Örnekler  Servo  Sweep ve…

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacaktır. Gerekli alanlar * ile işaretlenmiştir.