Buat Robot Humanoid Pintar yang Bicara dengan Arduino UNO
Tentang Proyek
Robot ini - Mofiza- (nama aneh) dapat MELIHAT, BICARA, dan BEREAKSI terhadap lingkungannya. Sebelum saya lanjutkan, tonton video ini:
Sejak saya melihat pembuatan robot bicara, saya melihat bahwa orang-orang sebenarnya menggunakan papan pengembangan lain daripada Arduino untuk membuat robot bicara. Namun, sepenuhnya mungkin untuk membuat robot humanoid dengan Arduino yang bisa bicara dan menambahkan banyak servo untuk membuatnya bergerak. Mari kita mulai:
Update (Cara saya membuatnya) -
Langkah 1: Komponen yang Anda Butuhkan
- Arduino Pro mini (5v 16 Mhz) [apa pun boardnya boleh tetapi saya menggunakan ini untuk membuatnya kecil]
- Pin header female untuk menghubungkan pada PCB
- Pin header male
- Papan Vero untuk membuat rangkaian
- Modul SD card TF (untuk membuatnya bicara)
- Kartu micro SD (tidak lebih dari 2GB)
- 3x sensor proximity IR
- 3x motor servo (saya menggunakan mikro servo sg90)
- Kardus untuk membuat badan
Langkah 2: Menghubungkan Sensor IR dan Badan
Buat badan dengan apa pun yang Anda inginkan, saya membuatnya dengan kardus. Ini cukup sederhana.
Saya telah solder sensor IR dengan kawat risan seperti ini dengan header female di satu ulas dan menambahkan dua di dua mata dan satu di dada.
Robot akan mengatakan pesan sambutan jika mendeteksi sesuatu di sensor dada dan akan mengatakan "aaaah.. jangan sentuh mataku" jika salah satu sensor mata aktif. Dan servo di area tersebut akan bergerak ke atas.
Langkah 3: Rangkaian
Rangkaian terlihat sedikit rumit tetapi tidak semuanya terlalu mudah, Anda hanya dapat menyalaikannya dengan satu baterai. Solder rangkaian dan semua komponen lain di papan Vero dan tambahkan servo lain di kepala dan tangan.
Langkah 4: Kode
Sebelum kode:
Saya harus menggunakan dua perpustakaan untuk robot ini.
TMRpcm.h - untuk memutar audio dari kartu SD- bicara https://github.com/TMRh20/TMRpcm
ServoTimer2.h - menghindari benturan dengan TMRpcm dan menjalankan motor servo menggunakan timer2 karena TMRpcm menggunakan Timer1 pada Arduino. https://create.arduino.cc/projecthub/ashraf_minhaj/how-to-use-servotimer2-library-simple-explain-servo-sweep-512fd9?ref=user&ref_id=507819&offset=1
Ini adalah kode untuk mengatakan sambutan. Anda dapat membuat lingkungan dan kode Anda sendiri. Sebelum Anda memulai kode, Anda harus menambahkan perpustakaan ServoTimer2. Jika tidak robot tidak akan berjalan.
Dan kemudian kode di atas:
#include "ServoTimer2.h" #include#define SD_ChipSelectPin 10 #include"TMRpcm.h" #includeTMRpcm tmrpcm; ServoTimer2 matha; ServoTimer2 lhand; ServoTimer2 rhand; int in1= 6;int in2= 7;int in3= 8; void setup() { matha.attach(2); lhand.attach(3); rhand.attach(4); tmrpcm.speakerPin=9; Serial.begin(9600); if(!SD.begin(SD_ChipSelectPin)) { Serial.println("SD FAIL"); return; } } void loop() { if(!(digitalRead(in3))) { tmrpcm.play("welcome.wav"); lhand.write(2500); delay(2000); lhand.write(1200); // posisi jabat tangan delay(9000); } else { lhand.write(300); rhand.write(1700); matha.write(1500); } }
Langkah 5: Selesai
Sekarang cukup nyalakan dan Anda selesai. Robot pintar sudah selesai dibuat. [Saya akan unggah gambar dan detail lainnya segera]
Jika saya bisa mendapatkan lebih banyak pin, saya akan membuat robot berjalan. tetapi saya hanya memiliki 3 pin tersisa (digital). Ini kurang dari yang saya butuhkan.
Dukung saya dengan berlangganan channel YouTube saya.
Kode
mofiza.welcome.code
#include "ServoTimer2.h" #include#define SD_ChipSelectPin 10 #include"TMRpcm.h" #includeTMRpcm tmrpcm; ServoTimer2 matha; //matha means HEAD ServoTimer2 lhand; ServoTimer2 rhand; int in1= 6;int in2= 7;int in3= 8; void setup() { matha.attach(2); lhand.attach(3); rhand.attach(4); tmrpcm.speakerPin=9; Serial.begin(9600); if(!SD.begin(SD_ChipSelectPin)) { Serial.println("SD FAIL"); return; } } void loop() { if(!(digitalRead(in3))) { tmrpcm.play("welcome.wav"); lhand.write(2500); delay(2000); lhand.write(1200); // posisi jabat tangan delay(9000); } else { lhand.write(300); rhand.write(1700); matha.write(1500); } }
mofiza.fullCode.v1.1
https://github.com/ashraf-minhaj/Mofiza--Humanoid-social-robot