Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

1 Mayıs 2021 Cumartesi

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonu Projesi

 

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonu Projesi


Bu projede Bluetooth, S2 Terminal olarak bilinen bir Android Uygulaması kullanılarak Arduino ile iletişim kurmak için kullanılıyor Başka uygulamalar da var, ancak bu ücretsiz ve kullanımı kolaydır. HC-05 Bluetooth modülü kullanıyoruz. Ayrıca Android uygulamasını kullanarak ses kontrollü bir ev otomasyonu üzerine bir proje yayınladım 

Bluetooth tabanlı ev otomasyon sistemi

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonunun Blok ŞemasıBluetooth tabanlı ev otomasyon sisteminin blok şeması

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonu için Gerekli Bileşenler

  • Arduino Uno: Sadeliğinden dolayı Arduino kullanıyoruz ve aynı zamanda LCD ve röle modülü ile arayüze çok fazla dijital pin sağlıyor. Bir projenin prototipini oluştururken çok kullanışlıdır.
  • HC-05 Bluetooth Modülü: Bluetooth'un Arduino ile arayüz bağlantısı çok kolaydır. Aşina değilseniz web sitemizde arayın.
  • 4 Kanal Röle Modülleri: Bu projede kullandığımız modül HL-54S'dir. Arduino'dan gelen 5v mantıksal sinyali kullanarak açılır ve kapanır. 250VAC ve 10A'ya kadar dayanabilir. Bu modüllerin 4 kanalı vardır, böylece bir seferde 4 AC cihazı kontrol edebiliriz.
  • 16 × 2 LCD: LCD, proje adını, girilebilen komutların listesini görüntülemek için kullanılır, daha sonra herhangi bir komut vermek ve girilen komutun durumunu göstermek ister. 16 × 2 LCD kullanıyoruz çünkü Arduino ile arayüz kolay ve fiyatı çok ucuz. Ekranın kontrastını kontrol etmek için 10k potansiyometre kullanılır
  • Tutuculu AC ampuller: AC ampuller, cihazları ve cihazları temsil etmek için kullanılır. Çünkü herhangi bir AC projesinin prototipini oluştururken kullanımı kolaydır ve çok kullanışlıdır. Nihai üründe, kontrol etmek için sadece AC soketiyle değiştirin.
  • Fişli AC kablosu: Daha yüksek voltajlarla çalışırken kaliteli kablo kullanmanızı tavsiye ederim. Bağlantıları korumak için elektrik bandı kullanmak her zaman iyidir.
  • Harici 5 volt besleme: Bir röleyi açıp kapatmak için 5 voltluk dc besleme gereklidir. Aksi takdirde işe yaramadı. Ayrıca Arduino'dan 5v vermeyin.










Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonunun Devre ŞemasıBluetooth tabanlı ev otomasyon sisteminin devre şeması

Bağlantılar:

Bluetooth Modülü HC-05

  • HC-05 Rx - Arduino Tx.
  • HC-05 Tx ila Arduino Rx.
  • Vcc'den 5v'ye
  • Yerden yere.

16 × 2 LCD:

  • Bir yere SS .
  • DD , besleme gerilimi için.
  • O , 10k potansiyometrenin pimini ayarlamak için.
  • RS'den Pin 8'e.
  • RW zemine.
  • Pin 9'u etkinleştirin.
  • LCD D4 ile Pin 10 arası.
  • LCD D5 - Pin 11.
  • LCD D6'dan Pin 12'ye.
  • LCD D7'den Pin 13'e.
  • Potansiyometrenin bir ucunu topraklayın.
  • Bir potansiyometrenin diğer uçlarına 5v.

4 Kanal Röle modülleri:

  • Harici 5 volt'tan JD-VCC'ye.
  • Yerden yere.
  • Ini1'den Pin 3'e.
  • Ini2'den Pin 4'e.
  • Ini3'ten Pin5'e.
  • Vcc'den Arduino 5v'ye.
  • Tüm ampullerin bir ucunu normalde açık olan rölelerin terminaline bağlayın.
  • Bir rölenin tüm ortak terminallerine 220VAC'nin bir ucu ve başka bir ampul terminali ile diğer ucu.

Bluetooth Tabanlı Ev Otomasyonunun Arduino ile Çalışması

Öncelikle Google Play Store'dan S2 Terminal uygulamasını indirin Uygulamayı açın, Bluetooth modülüne bağlanır. Belirtilen komutları yazın ve gönderin. Bluetooth modülü bunu alır ve Arduino açıklama işlemini gerçekleştirir, durumu gösterir ve mobile bir mesaj gönderir.

Komutlar:

Mobil tarafından gönderilen komutMesaj mobil olarak alınır
hepsi açıkHepsi AÇIK
hepsi kapalıHepsi KAPALI
beyazBeyaz AÇIK
kapalı beyazKapalı beyaz
mavi açıkMavi AÇIK
mavi kapalıMavi KAPALI
yeşilYeşil AÇIK
yeşil kapalı

Yeşil KAPALI

Bluetooth tabanlı ev otomasyon sistemi kodu

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
#define white 3
#define blue 4
#define green 5
int tx=1;
int rx=0;
char inSerial[15];


void setup(){
Serial.begin(9600);
pinMode(white, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
pinMode(tx, OUTPUT);
pinMode(rx, INPUT);
digitalWrite(white, HIGH);
digitalWrite(blue, HIGH);
digitalWrite(green, HIGH);
lcd.begin(16, 2);
lcd.clear();
lcd.print("MICROCONTROLLERS ");
lcd.setCursor(0,1); 
lcd.print(" LAB ");
delay(2000);
lcd.clear();
lcd.print("HOME AUTOMATION ");
lcd.setCursor(0,1);
lcd.print("USING BLUETOOTH");
delay(2000);
lcd.clear();
lcd.print("1. Bulb 1 WHITE");
lcd.setCursor(0,1);
lcd.print("2. Bulb 2 BLUE");
delay(2000);
lcd.clear();
lcd.print("3. Bulb 3 GREEN");
delay(2000);
lcd.clear();
lcd.print("Bulb 1 2 3 ");
lcd.setCursor(0,1);
lcd.print(" OFF OFF OFF");

}

void loop(){
int i=0;
int m=0;
delay(500); 
if (Serial.available() > 0) { 
while (Serial.available() > 0) {
inSerial[i]=Serial.read(); 
i++; 
}
inSerial[i]='\0';
Check_Protocol(inSerial);
}} 



void Check_Protocol(char inStr[]){ 
int i=0;
int m=0;
Serial.println(inStr);

if(!strcmp(inStr,"all on")){ 
digitalWrite(white, LOW);
digitalWrite(blue, LOW);
digitalWrite(green, LOW);
Serial.println("ALL ON");
lcd.setCursor(4,1); 
lcd.print("ON ");
lcd.setCursor(8,1); 
lcd.print("ON "); 
lcd.setCursor(12,1); 
lcd.print("ON "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"all off")){ 
digitalWrite(white, HIGH);
digitalWrite(blue, HIGH);
digitalWrite(green, HIGH);
Serial.println("ALL OFF");
lcd.setCursor(4,1); 
lcd.print("OFF ");
lcd.setCursor(8,1); 
lcd.print("OFF "); 
lcd.setCursor(12,1); 
lcd.print("OFF "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"white on")){ 
digitalWrite(white, LOW);
Serial.println("White ON");
lcd.setCursor(4,1); 
lcd.print("ON ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"white off")){ 
digitalWrite(white, HIGH);
Serial.println("White OFF");
lcd.setCursor(4,1); 
lcd.print("OFF ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;} 

if(!strcmp(inStr,"blue on")){ 

digitalWrite(blue, LOW);
Serial.println("Blue ON");
lcd.setCursor(8,1); 
lcd.print("ON "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"blue off")){ 

digitalWrite(blue, HIGH);
Serial.println("Blue OFF");
lcd.setCursor(8,1); 
lcd.print("OFF "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}
if(!strcmp(inStr,"green on")){ 

digitalWrite(green, LOW);
Serial.println("Green ON");
lcd.setCursor(12,1); 
lcd.print("ON ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"green off")){ 

digitalWrite(green, HIGH);
Serial.println("Green OFF");
lcd.setCursor(12,1); 
lcd.print("OFF ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

else{
for(m=0;m<11;m++){
inStr[m]=0;
}
i=0;

}
}

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

Arduino kullanarak ethernet tabanlı ev otomasyonu projesi - IOT

 

Arduino kullanarak ethernet tabanlı ev otomasyonu projesi - IOT


Arduino kullanarak bir bilgisayarla Seri iletişim IR uzaktan kumanda ve alıcı, Bluetooth , Ses Kontrolü ve GSM tabanlı ev otomasyon sistemi gibi çeşitli yollar kullandım.Şimdi cihazları uzaktan kontrol etmek için Ethernet kalkanı kullanıyorum. Arduino bu projenin beynidir. Ethernet kalkanı, cihazları bir web sayfasından açma ve kapatma talimatı almak için Arduino'yu internete bağlamak için kullanılır. Yani bu ethernet tabanlı ev otomasyonu projesinde, ev cihazlarını dünyanın her yerinden erişilebilen web sunucusu üzerinden kontrol edebileceğiz. 
Ethernet Shield W5100 modülünü kullanacağız.Modülün görünümünü aşağıda görebilirsiniz...


Arduino kullanarak Ethernet tabanlı ev otomasyon projesi

Ethernet tabanlı ev otomasyon projesinin Blok Şemasıarduino blok diyagramı kullanarak ethernet tabanlı ev otomasyonu projesi

Ethernet tabanlı ev otomasyon sistemi için gerekli bileşenler

  • Arduino Uno : Ethernet shield ile uyumluluğundan dolayı Arduino Uno kullanıyoruz, Arduino Mega da kullanabiliyoruz ama Uno harika çalışıyor. Bir projenin prototipini oluştururken çok kullanışlıdır.
  • 4 Kanal Röle Modülü : Bu projede kullandığımız röle modülü HL-54S'dir. Arduino'dan 5 voltluk mantıksal bir sinyal kullanarak açılır ve kapanır. 250V'a kadar alternatif akımı kaldırabilir ve 10A'ya kadar tutabilir. Bu modüllerin 4 rölesi vardır, böylece bir seferde 4 AC cihazı kontrol edebiliriz.
  • Ethernet Shield : Ethernet Shield, Arduino'nuzu internete bir dakikadan daha kısa sürede bağlar. Bu modülü Arduino kartınıza takın, RJ45 kablosuyla ağınıza bağlayın. Bu modül açık kaynak kodludur, tüm belge şemaları Arduino web sitesinde mevcuttur.

Kalkanda bir dizi bilgilendirici LED bulunur:

  • PWR: kartın ve kalkanın çalıştırıldığını gösterir
  • LINK: bir ağ bağlantısının varlığını gösterir ve kalkan veri ilettiğinde veya aldığında yanıp söner
  • FULLD : ağ bağlantısının tam çift yönlü olduğunu gösterir
  • 100M: 100 Mb / sn'lik bir ağ bağlantısının varlığını gösterir (10 Mb / sn'nin aksine)
  • RX: kalkan veri aldığında yanıp söner
  • TX: kalkan veri gönderdiğinde yanıp söner
  • COLL: ağ çakışmaları algılandığında yanıp söner
  • Tutuculu AC ampuller: AC ampuller, cihazları temsil etmek için kullanılır. Çünkü herhangi bir AC projesinin prototipini oluştururken kullanımı kolaydır ve çok kullanışlıdır. Nihai üründe, kontrol etmek için sadece AC soketiyle değiştirin.
  • Fişli AC kablosu: Daha yüksek voltajlarla çalışırken daima kaliteli kablo kullanın. Bant veya ısıyla daralan makaron kullanarak bağlantıları koruyun ve kapatın.
  • Harici 5 Volt besleme: Röleyi açıp kapatmak için harici 5 volt dc besleme kullanılır, aksi takdirde çalışmaz.

Arduino kullanan Ethernet tabanlı ev otomasyon projesinin Devre Şemasıarduino devre şemasını kullanarak ethernet tabanlı ev otomasyon projesi

Bağlantılar:

Çok az bileşen kullandığımız için bağlantı çok kolay. İlk olarak Ethernet shield'ı Arduino Uno üzerine monte edin; Bu shield aynı zamanda Arduino Mega uyumludur, bu nedenle daha fazla cihazı kontrol etmek istiyorsanız bu projede Arduino Mega'yı da kullanabilirsiniz. Şimdi Ethernet kalkanına bir bağlantı yapıyoruz.

  • Röle modülünün Ini1'i Dijital pin 3'e.
  • Röle modülünün Ini2'sini Dijital pin 4'e.
  • Röle modülünün Ini3'ü Dijital pin 5'e.
  • Röle modülünün Vcc'si Arduino'nun 5v'una.
  • Gnd, Arduino'nun zeminine.
  • JDVcc'den harici 5v beslemeye ve toprağa.
  • Ethernet kablosunu kullanarak Wifi'ı Ethernet kalkanına bağlayın.
  • Aletleri şemada gösterildiği gibi bağlayın.

Arduino ile Ethernet tabanlı ev otomasyon projesinin çalışması

Öncelikle Ethernet kalkanı internete bağlanır ve Seri monitörde bir IP adresi görüntüler. Bu IP adresi, cihazları kontrol etmek için web sayfasını açan URL'dir. Bir web sayfasındaki düğmeye bastığımızda ilgili röle açılır ve kapanır. Aşağıdaki kod, bir web sayfasındaki metni görüntülemek ve üzerinde bir düğme yapmak için kullanılır. Aşağıdaki kodu değiştirerek buton üzerindeki metni ve etiketleri değiştirebilirsiniz.sunucu üzerinden arduino kontrolü kullanan ethernet tabanlı ev otomasyonu projesi

client.println("HTTP/1.1 200 OK");

          client.println("Content-Type: text/html");

          client.println();   

          client.print("<center><br><h1>Ethernet based Home Automation</h1><br><br><br><FORM>");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 ON\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 OFF\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 ON\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 OFF\">");

           client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 ON\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 OFF\">");

          client.print("</FORM></center>");


Ethernet tabanlı ev otomasyon sistemi kodu

#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);


byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetServer server(80);


void setup() {
lcd.begin(16, 2);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(3 ,HIGH);
digitalWrite(4 ,HIGH);
digitalWrite(5 ,HIGH);
lcd.setCursor(0,0);
lcd.print("Ethernet Control");
lcd.setCursor(0,1);
lcd.print(" Home Automation0 ");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Fan Light TV ");
lcd.setCursor(0,1);
lcd.print("OFF OFF OFF "); 
Ethernet.begin(mac);
server.begin();
Serial.begin(9600);
Serial.println("Server address:");
Serial.println(Ethernet.localIP());


}

void loop() {
EthernetClient client = server.available();
if (client){
boolean currentLineIsBlank = true;
String buffer = ""; 
while (client.connected()){
if (client.available()) {
char c = client.read(); 
buffer+=c; 
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(); 
client.print("<center><br><h1>Ethernet based Home Automation</h1><br><br><br><FORM>");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 ON\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 OFF\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 ON\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 OFF\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 ON\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 OFF\">");
client.print("</FORM></center>"); 
break;
}
if (c == '\n') { 
currentLineIsBlank = true;
buffer=""; 
} 
else 
if (c == '\r') { 
if(buffer.indexOf("GET /?status=S1+ON")>=0)
digitalWrite(3, LOW);


if(buffer.indexOf("GET /?status=S1+OFF")>=0)
digitalWrite(3, HIGH); 


if(buffer.indexOf("GET /?status=S2+ON")>=0)
digitalWrite(4, LOW);

if(buffer.indexOf("GET /?status=S2+OFF")>=0)
digitalWrite(4, HIGH); 


if(buffer.indexOf("GET /?status=S3+ON")>=0)
digitalWrite(5, LOW);


if(buffer.indexOf("GET /?status=S3+OFF")>=0)
digitalWrite(5, HIGH); 

}
else {
currentLineIsBlank = false;
} 
}
}
client.stop();
}
}

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

30 Nisan 2021 Cuma

ARDUINO ve BLYNK KULLANARAK WIFI KONTROLLÜ ROBOT

 

ARDUINO ve BLYNK KULLANARAK WIFI KONTROLLÜ ROBOT


ARDUINO ve BLYNK KULLANAN WIFI KONTROLLÜ ROBOT: millet, umarım iyisindir  ve harika gömülü sistemler projeleri yaparsınız Bu, kontrol robotları serimizin üçüncü projemiz. Son yazımızda Arduino'yu kullanarak ses kontrollü bir robot projesi yayınladık Geçenlerde Engelden Kaçınma ve Sesle kontrol robotu hakkında yazılar yazdım Bu projede robotu Wi-Fi üzerinden Blynk uygulamasını kullanarak kontrol ediyoruz Biz kullandığınız ESP8266 Wifi modülü , Motor Sürücü kalkan, Arduino Unove bu projede 4WD Araç şasisi ve akü paketi. Ayrıca, Blynk uygulamasını Google Play Store'dan indirmemiz gerekiyor. Bu, sesten ziyade robotu kontrol etmenin etkili bir yoludur çünkü wifi kontrolü% 100 doğruluğa sahiptir.

arduino kullanarak wifi kontrollü robot

Arduino kullanan wifi kontrollü robotun Blok Şemasıarduino blok diyagramını kullanarak wifi kontrollü robot

Gerekli Bileşenler:

  • Arduino Uno: Arduino Uno bu proje için mükemmeldir çünkü motor sürücü kalkanı ile uyumludur ve ayrıca ESP8266 wifi modülüne güç sağlamak için 3.3v sağlar. Aynı zamanda ucuzdur, kullanımı kolaydır ve daha az yer kaplar, böylece her şey araç şasisine yerleştirilir.
  • Motor Sürücü Kalkanı: Motor sürücü kalkanı iki L293D ve 74HC595 IC'ye dayanmaktadır. L293D, dörtlü bir Yarı H sürücüsüdür. Kanal başına 1 ampere kadar iletebilir. 4,5 ile 36 volt arasında geniş bir besleme gerilimi aralığına sahiptir. 0 ile 70 derece santigrat arasında çalışabilir. 74HC595, 3 durumlu çıkış yazmaçlarına sahip 8 bitlik Kaydırma Kaydı'dır. Bu motor sürücü kalkanı, DC motorları, Step motorları ve servo motorları çalıştırmak için kullanılır. Aynı anda 2 servo motor ve 4 DC motoru çalıştırabilir.
  • ESP8266 Wifi modülü: ESP8266, ucuz bir Wifi yongasıdır ve tam TCP / IP yığını sağlar. Adından da anlaşılacağı gibi ESP8266 mikro denetleyicisine dayanmaktadır. Modülün pazarında yaklaşık 14 model var ancak ilkini kullanıyorum çünkü Arduino Uno ile kullanmak ve arayüz kullanmak doğu. 3.3V ile çalışır. Ayrıca Arduino pinini kullanabileceğimiz GPIO'ya sahiptir.
  • 4wd Araç Şasi: 4 tekerlekli araç şasisi kullandım. 2 platform, 4 lastik, 4 dişli Dc motor ve 4 hızlı enkodere sahiptir. Her şeyi şasiye yerleştirmek için çok fazla alan sağlar, ancak çok kırılgan bir malzemedir ve çok daha az darbeyle kırılır, bu nedenle araba şasisini monte ederken dikkatli olun.
  • Pil Paketi: Voltajı artırmak için seri olarak 3 li-ion 3.7V ve 2200mA pil kullandım. Bu hücreler şarj edilebilir, yaklaşık 1000 yaşam döngüsüne sahiptir.

ARDUINO KULLANILARAK WIFI KONTROLLÜ ROBOTUN Devre Şemasıarduino devre şemasını kullanarak wifi kontrollü robot

WIFI KONTROLLÜ ROBOT BAĞLANTISI

ESP8266'dan Arduino'ya:

  • ESP8266 Vcc pini 3,3v'ye.
  • ESP8266 CH_PD pinini 3.3v'ye.
  • ESP8266 Rx pinini Arduino Uno Tx'e.
  • ESP8266 Tx pini Arduino Uno Rx'e.

Motor Sürücü Kalkanını Arduino Uno üzerine monte edin. Sol motorları ekranın M3 ve M4 terminaline ve sağ taraftaki motorları ekranın M1 ve M2 terminallerine bağlayın.

Pil takımını + M'ye ve blendajın toprak terminaline bağlayın.

ARDUINO KULLANARAK WIFI KONTROLLÜ ROBOTLA ÇALIŞMA

  • İndir Blynk Google Play Store'dan.
  • Uygulamayı açın, Kaydolmanızı ister: Facebook veya Gmail kimliğini kullanarak Giriş Yapabilirsiniz. Yeni Proje'yi seçin ve ardından proje adını girin, cihaz adını seçin ve bağlantı türünü seçin.
  • Widget Box'a gidin ve listeden Joystick'i seçin.
  • Ardından Somun simgesine basarak Proje ayarına gidin. Ardından, Tümünü e-posta ile gönder seçeneğini seçin ve kimlik doğrulama jetonunu almak için daha önce girdiğiniz E-posta hesabına gidin.
  • E-postayı açın ve Alınan Yetkilendirmeyi kopyalayıp koda yapıştırın. Joy Stick ayarına gidin ve V1 değişkenini seçin.

Rx ve Tx Pinlerini Arduino Uno'dan ayırın ve ardından kodu Arduino'ya yükleyin. RX ve Tx'i Arduino'ya bağlayın SSID'si ve şifresi daha önce kodda tanımlanan Wifi'a bağlanmak için birkaç saniye bekleyin. Blynk Uygulamasını açın ve Robotun hareketini kontrol etmek için kumanda çubuğunu hareket ettirin.

#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX
#define ESP8266_BAUD 9600 
ESP8266 wifi(&Serial);
char auth[] = "281f8675c5cc4c55a4d259ef7518d313";

#include<AFMotor.h>

AF_DCMotor motor1(1, MOTOR12_1KHZ); 
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR12_1KHZ); 
AF_DCMotor motor4(4, MOTOR12_1KHZ);

void setup()
{
// Set console baud rate
Serial.begin(9600);
delay(10);
Serial.begin(ESP8266_BAUD);
delay(10);
Blynk.begin(auth, wifi, "PTCL-BB", "F4C0A9AB"); // wifi username and password
}
BLYNK_WRITE(V1) 
{
int x = param[0].asInt();
int y = param[1].asInt();
// Do something with x and y

if(y>220)
forward();
else if(y<35)
backward();
else if(x>220)
right();
else if(x<35)
left();
else
Stop();
}
void loop()
{
Blynk.run();
}


void forward()
{
motor1.setSpeed(255); 
motor1.run(FORWARD); 
motor2.setSpeed(255); 
motor2.run(FORWARD); 
motor3.setSpeed(255); 
motor3.run(FORWARD); 
motor4.setSpeed(255); 
motor4.run(FORWARD);
}

void backward()
{
motor1.setSpeed(255); 
motor1.run(BACKWARD); 
motor2.setSpeed(255); 
motor2.run(BACKWARD); 
motor3.setSpeed(255); 
motor3.run(BACKWARD); 
motor4.setSpeed(255); 
motor4.run(BACKWARD); 
}

void left()
{
motor1.setSpeed(255); 
motor1.run(FORWARD); 
motor2.setSpeed(255); 
motor2.run(FORWARD); 
motor3.setSpeed(0);
motor3.run(RELEASE); 
motor4.setSpeed(0);
motor4.run(RELEASE); 



}

void right()
{
motor1.setSpeed(0);
motor1.run(RELEASE); 
motor2.setSpeed(0);
motor2.run(RELEASE); 
motor3.setSpeed(255); 
motor3.run(FORWARD); 
motor4.setSpeed(255); 
motor4.run(FORWARD); 


}

void Stop()
{
motor1.setSpeed(0);
motor1.run(RELEASE); 
motor2.setSpeed(0);
motor2.run(RELEASE); 
motor3.setSpeed(0);
motor3.run(RELEASE);
motor4.setSpeed(0);
motor4.run(RELEASE); 
}



ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.