Robotik Kodlama

Robotik Kodlama
Ana Sayfa

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

robot etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
robot etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

1 Mayıs 2021 Cumartesi

Arduino ve ses tanıma uygulamasını kullanan Ses Kontrollü Robot

 

Arduino ve ses tanıma uygulamasını kullanan Ses Kontrollü Robot


Bugün Arduino kullanarak robotik ile ilgili projelere başlayacağız. Zaten gibi robotik projeler gönderdiniz çizgi izleyen robot , engel kaçınma robot ve robotik kol ve almak ve yer robotik Arduino kullanarak kolu. Bugün Arduino ve android uygulamasını kullanarak robotun ses kontrolünden bahsedeceğiz.  Ses kontrollü robot, belirli bazı sesli komutlarla kontrol edilen mobil bir robottur. Mobil uygulama, "Durdur", "İleri", "Geri", "Sol", "Sağ" olmak üzere beş komutu tanımlayabilir. Bu gömülü sistemler projesindemobil uygulama üzerinden sesle kontrol edebileceğimiz 4-WD robotik araba yapıyoruz. Uygulama dinler ve talimatı Bluetooth kullanarak Arduino'ya gönderir ve ardından Arduino belirtilen işlemi gerçekleştirir. Ses tanıma uygulaması % 100 doğru değil. Uygulama çevredeki seslere duyarlıdır. Bazen robota verilen sesli komutları yanlış yorumluyor. Ancak çevreyi görmezden gelen ve yalnızca kendi sesinizi alabilen kendi uygulamanızı tasarlayabilirsiniz. 

arduino kullanan ses kontrollü robot

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

Ses kontrollü robot için gerekli bileşenler

Arduino Uno: Arduino Uno, motor sürücü kalkanını içine monte edebildiğimiz için kullanılmaktadır. Ayrıca her şeyi kasaya yerleştirmemiz gerektiğinden ucuz, kullanımı kolay ve daha az yer kaplıyor. 

Motor Sürücü Kalkanı : Motor Sürücü Kalkanı, çift ​​tam köprü sürücüsü olan L293 IC'ye dayanmaktadır Bu, röleler, solenoidler, DC ve kademeli motorlar gibi endüktif yükleri sürmek için kullanılır. Arduino'nuzla dört DC motor ve 2 servo sürmenizi sağlar. Her motorun hızını ve yönünü bağımsız olarak kontrol edebiliriz.HC-05 Bluetooth Modülü: Bu, Master veya Slave olarak yapılandırılabilen Seri Port Profiline sahip bir sınıf-2 Bluetooth modülüdür. Bunu, MCU, PC ile gömülü projeniz arasında bir bağlantı kurmak için seri port değişimi için kullanabiliriz.

HC-05 Özellikleri:

  • Bluetooth protokolü: Bluetooth Spesifikasyonu v2.0 + EDR
  • Frekans: 2.4GHz ISM bandı
  • Modülasyon: GFSK (Gaussian Frequency Shift Keying)
  • Emisyon gücü: ≤4dBm, Sınıf 2
  • Hassasiyet:% 0.1 BER'de ≤-84dBm
  • Hız: Asenkron: 2.1Mbps (Maks) / 160 kbps, Senkron: 1Mbps / 1Mbps
  • Güvenlik: Kimlik doğrulama ve şifreleme
  • Profiller: Bluetooth seri bağlantı noktası
  • Güç kaynağı: + 3.3VDC 50mA
  • Çalışma sıcaklığı: -20 ~ + 75Centigrade
  • Boyut: 26,9 mm x 13 mm x 2,2 mm

4-WD Araç Şasisi: Akrilikten oluşan 2 platform içerir. Hız enkoderli 4 dc motor içerir. Montajı kolaydır ve Arduino, Bluetooth modülü ve pil takımını yerleştirmek için çok fazla alan sağlar.

Batarya: Her motor 200mA'ya kadar akım kullandı. Üç adet 3.7v, 2200mA kullandım.Li-ion hücreler paralel. Pil paketi 12,1 volt sağlar. Li-ion pil, şarj edilebilir bir pil türüdür. Böylece bu hücreleri tekrar tekrar kullanabiliriz.

Arduino kullanan ses kontrollü robotun devre şemasıArduino kullanan ses kontrollü robotun devre şeması

Bağlantılar:bağlantıları

Öncelikle Arduino Uno üzerine Motor Sürücü kalkanı monte edin.

HC-05 veya HC-06 Bağlantıları:

  • Vcc'yi 5 volta bağlayın.
  • GND'yi Toprağa bağlayın.
  • Modül Rx - Arduino Tx.
  • Modül Tx - Arduino Rx.

Bluetooth modülü çalışmazsa 1K ve 2K dirençler kullanarak voltaj bölücü yapın ve 5v'yi 3.3v'ye dönüştürmek için modülün Rx pinine bağlayın.

Motordan Motora Sürücü Kalkanı:

  • Sol taraf motorları M3 ve M4 terminallerine.
  • Sağ taraf motorlar M1 ve M2 terminallerine.

Motor ters yönde dönüyorsa, tüm motorları aynı yönde döndürmek için kablo bağlantısını değiştirin.

Arduino kullanan ses kontrollü robotun kodu

#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);

int tx=1;
int rx=0;
char inSerial[15];
char command;

void setup() 
{ 
Serial.begin(9600); //Set the baud rate to your Bluetooth module.
}

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,"*forward#")){ 
forward();
delay(1200);
Stop(); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;} 

if(!strcmp(inStr,"*back#")){ 
back();
delay(1200);
Stop(); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"*left#")){ 
left();
delay(350);
Stop(); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}
if(!strcmp(inStr,"*right#")){ 
right();
delay(350);
Stop(); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"*stop#")){ 
Stop(); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

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

}}

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 back()
{
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); 
}

Arduino kullanarak ses kontrollü robotun çalışması

Tüm bağlantıları doğru bir şekilde yaparsanız , Play Store'dan AMR_Voice uygulamasını indirin Uygulamayı açın, robotu çalıştırın ve uygulamayı Bluetooth modülüne bağlayın. Belirtilen komutları söylediğimizde, uygulama talimatı Bluetooth üzerinden Arduino'ya gönderir ve ardından Arduino tanımlanan işlemi gerçekleştirir.

Not: Arduino'ya kod yüklerken Bluetooth modülünün Rx ve Tx pinlerini daima çıkarın, aksi takdirde bazı hatalar gösterir ve kod yüklenmez. Bluetooth modülünü cep telefonunuza ilk kez bağladığınızda “1234” veya “0000” şifresini deneyin. Tekerlekler ters yönde dönüyorsa, motor bağlantısını Motor Sürücü Kalkanı terminalinden değiştirir. Robotu sesle kontrol etmek etkili bir yol değildir. Kontrol etmesi eğlenceli ama Gesture kontrol uygulamasını tavsiye ederim.


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.