Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Robot Penghindar Rintangan Terkendali Bluetooth

Komponen dan persediaan

Arduino Nano R3
× 1
SparkFun Dual H-Bridge driver motor L298
× 1
Sensor Ultrasonik - HC-SR04 (Generik)
× 1
Modul Bluetooth HC-05
× 1
RGB Diffused Common Anode
× 1
Konverter Level Logika SparkFun - Dua Arah
× 1
Resistor 330 ohm
× 1
Breadboard (generik)
× 1
Stik Catu Daya Papan Tempat Memotong Roti SparkFun 5V/3.3V
× 1
Motor DC, 12 V
× 2
Kabel Jumper Pria/Wanita
× 1

Aplikasi dan layanan online

Arduino IDE
Arduino BlueControl
Tersedia di Playstore.

Tentang proyek ini

Proyek ini menggunakan ponsel untuk berkomunikasi dengan robot melalui bluetooth. Saya selalu ingin membuat robot dan mengendalikannya melalui ponsel. Setelah jeda panjang lebih dari 12 tahun, saya mengambil tugas membangun robot dan mengoperasikannya. Ini juga merupakan proyek pertama saya di Arduino Project Hub. Elektronik dan robotika adalah salah satu hobi favorit saya dan oleh karena itu saya mengambil tugas membuat robot di masa lockdown ini karena Covid19.

Robot merasakan sinyal bluetooth yang ditransmisikan dari ponsel. Ia menggunakan modul bluetooth HC-05 untuk merasakan sinyal perintah dari ponsel dan mengontrol robot. Saya menggunakan aplikasi ArduinoBlueControl untuk mengontrol robot.

Jantung dari robot adalah Arduino Nano. Ini menerima sinyal dari modul HC-05 melalui komunikasi serial dan mengontrol motor melalui modul driver motor L298N untuk gerakan maju, mundur, kiri dan kanan.

Harus berhati-hati untuk menghubungkan pin TX dan RX dari modul HC-05 dengan Arduino Nano. Konverter level logika digunakan untuk hal yang sama.

Robot menggunakan modul sensor ultrasonik HC SR-04 untuk mendeteksi rintangan yang dilaluinya. Saat merasakan hambatan apa pun selama gerakan majunya, robot berhenti. LED RGB digunakan untuk menunjukkan status robot.

Robot dirakit dalam basis 2 roda yang terdiri dari dua motor penggerak roda gigi. Sirkuit dirakit di atas papan tempat memotong roti dengan catu daya (3.3v dan 5v). Arduino Nano tidak dapat menggerakkan motor secara langsung karena kebutuhan arus yang jauh lebih tinggi untuk motor. Oleh karena itu modul driver motor L298N digunakan untuk menggerakkan motor. Sinyal PWM dari Arduino Nano digunakan untuk mengontrol kecepatan motor melalui pin ENA dan ENB dari modul driver motor L298N.

Berikut adalah video singkat robot yang sedang beroperasi:

Semoga Anda menyukai robot penghindar rintangan yang dikendalikan bluetooth saya. Robot ini dapat dimodifikasi dan diperluas untuk digunakan dalam otomatisasi rumah, kendaraan penghindar rintangan untuk lantai toko, dll., dan banyak lagi kegunaan lainnya.

Kode

  • Kode Robot_Arduino yang Dikendalikan Bluetooth.
Kode Robot_Arduino yang Dikendalikan Bluetooth.C/C++
/* Robot Penghindar Rintangan Terkendali Bluetooth Disiapkan oleh :Alok Talukdar Tanggal :09.05.2020*/#include // Untuk menggunakan pin apa pun pada Arduino untuk komunikasi Serial.// Tentukan pin digital untuk motor L298 modul kontrol.#define IN1 5 // untuk motor kanan#define IN2 4 // untuk motor kanan#define IN3 3 // untuk motor kiri#define IN4 2 // untuk motor kiri#define ENA 9 // Aktifkan A untuk kontrol PWM motor kanan#menentukan ENB 10 // Mengaktifkan B untuk kontrol PWM motor kiri// Menentukan pin digital untuk kontrol LED RGB#menentukan LED merah 8#menentukan hijauLED A0#menentukan biruLED 11// Mengatur modul sensor ultrasonik HC-SR04const int trigPin =6; // Pin TRIG terhubung ke pin D6 Arduino Nanoconst int echoPin =7; // Pin ECHO terhubung ke pin D7 dari Arduino Nanoint i,j,k =0;durasi float,jarak; // variabel untuk pengukuran jarak// Siapkan modul Bluetooth HC05SoftwareSerial mySerial(12,13); // (12 --> RX , 13 --> TX)Data string; // variabel untuk kontrol Bluetooth btVal;void setup() { // letakkan kode setup Anda di sini, untuk dijalankan sekali:pinMode(trigPin,OUTPUT); // Konfigurasi pin D6 untuk mengirimkan pulsa ultrasonik pinMode(echoPin,INPUT); // Konfigurasi pin D7 untuk menerima pulsa ultrasonik mySerial.begin(9600); // Konfigurasikan serial Software pada Baud rate 9600 pinMode(IN1,OUTPUT); // Konfigurasi IN1 - IN4 sebagai OUTPUT untuk mengontrol motor pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); pinMode (LED merah, OUTPUT); pinMode (LED biru, OUTPUT); pinMode (LED hijau, OUTPUT); digitalWrite(IN1,LOW); // Konfigurasikan status IN1 - IN4 sebagai LOW digitalWrite(IN2,LOW); digitalWrite(IN3,RENDAH); digitalWrite(IN4,LOW); analogWrite(LED merah,255); // Matikan LED. RGB LED adalah jenis anoda umum. digitalWrite (LED biru, TINGGI); digitalWrite(greenLED,HIGH);}void loop(){ // letakkan kode utama Anda di sini, untuk dijalankan berulang kali:while (mySerial.available()) { data =mySerial.readStringUntil('\n'); } btVal =(data.toInt()); switch (btVal) { kasus 1:maju(); digitalWrite(LED hijau,RENDAH); analogWrite(LED merah,255); digitalWrite (LED biru, TINGGI); dist(); merusak; kasus 2:terbalik(); digitalWrite(LED hijau,TINGGI); analogWrite(LED merah,255); digitalWrite(LED biru,RENDAH); merusak; kasus 3:kiri(); merusak; kasus 4:kanan(); merusak; kasus 5:stoprobot(); digitalWrite(LED hijau,TINGGI); analogWrite(LED merah,0); digitalWrite (LED biru, TINGGI); merusak; default:digitalWrite(LED hijau,TINGGI); analogWrite(LED merah,255); digitalWrite (LED biru, TINGGI); merusak; } if (mySerial.available() <0) { //Serial.println("Tidak Ada Data Bluetooth "); }} // deklarasi fungsi kendali motor void forward() { for(i=0;i<=100;i++) { analogWrite(ENA,i); analogWrite(ENB,i); digitalWrite(IN1, TINGGI); digitalWrite(IN2,RENDAH); digitalWrite(IN3,RENDAH); digitalWrite(IN4,TINGGI); } } void terbalik() { untuk(j=0;j<=100;j++) { analogWrite(ENA,j); analogWrite(ENB,j); digitalWrite(IN1,LOW); digitalWrite(IN2,TINGGI); digitalWrite(IN3,TINGGI); digitalWrite(IN4,LOW); } } batal kiri() { analogWrite(ENA,127); analogWrite(ENB,0); digitalWrite(IN1, TINGGI); digitalWrite(IN2,RENDAH); digitalWrite(IN3,TINGGI); digitalWrite(IN4,TINGGI); } batal kanan() { analogWrite(ENA,0); analogWrite(ENB,127); digitalWrite(IN1, TINGGI); digitalWrite(IN2,TINGGI); digitalWrite(IN3,RENDAH); digitalWrite(IN4,TINGGI); } void stoprobot() { analogWrite(ENA,0); analogWrite(ENB,0); digitalWrite(IN1,LOW); digitalWrite(IN2,RENDAH); digitalWrite(IN3,RENDAH); digitalWrite(IN4,LOW); } void dist() { digitalWrite(trigPin,RENDAH); // untuk mengirim pulsa melalui pin TRIG dari HC-SR04 delayMicroseconds(2); digitalWrite(trigPin,TINGGI); delayMicroseconds(10); digitalWrite(trigPin,RENDAH); durasi =pulseIn(echoPin,HIGH); // membaca durasi jarak pulsa =(durasi*0.0343)/2; // mengukur jarak dalam cm. Kecepatan suara adalah 340 m/s atau 0,0343 cm/us if(jarak<20) // jika jarak <20 cm , STOP robot { stoprobot(); digitalWrite(LED hijau,TINGGI); analogWrite(LED merah,0); digitalWrite (LED biru, TINGGI); } penundaan(1000); } 

Skema

Diagram sirkuit robot.

Proses manufaktur

  1. Robot Seluler dengan Penghindaran Rintangan Berbasis Penglihatan
  2. Robot Raspberry Pi dikendalikan melalui Bluetooth
  3. Buat Robot Streaming Video Terkendali Internet Anda dengan Arduino dan Raspberry Pi
  4. Robot Terkendali Gerakan Menggunakan Raspberry Pi
  5. ROBOT WIFI RASPBERRY PI DIKONTROL DARI PONSEL PINTAR ANDROID
  6. Windows 10 IoT Core :Robot Terkendali Ucapan
  7. Robot Terkendali Wifi Menggunakan Raspberry Pi
  8. ROObockey:Robot Hoki Jalanan yang Dikendalikan dari Jarak Jauh
  9. Penghindaran Rintangan menggunakan Kecerdasan Buatan
  10. Robot yang Dikendalikan Bicara