Daftar Isi:
- Langkah 1: Komponen yang Dibutuhkan
- Langkah 2: Struktur Tubuh
- Langkah 3: Pengkabelan dan Pengodean
- Langkah 4: Raspberry Pi dan Pengenalan Gambar
- Langkah 5: LCD dan Speaker
- Langkah 6: Langkah Terakhir
Video: NAIN 1.0 - Robot Humanoid Dasar Menggunakan Arduino: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Nain 1.0 pada dasarnya akan memiliki 5 modul yang dapat dilepas-
1) Lengan – yang dapat dikontrol melalui servos.
2) Roda – yang dapat dikendalikan dengan motor dc.
3) Kaki – Nain akan dapat berpindah antar roda atau kaki untuk bergerak.
4) Kepala – Kepalanya dapat dikontrol untuk berbagai anggukan.
5) Modul kamera- yang dapat dihubungkan untuk Akses Pengenalan Wajah.
Bersamaan dengan ini NAIN akan dapat berbicara dan berinteraksi dengan pengguna dan dapat menunjukkan waktu kepada Anda dengan jam bawaannya. Ini akan memiliki kontrol nirkabel menggunakan Wi-fi / Bluetooth.
Langkah 1: Komponen yang Dibutuhkan
- Motor Servo -4
- Arduino Mega - 1
- Raspberry Pi - 1
- Kamera Usb -1
- Pembicara -1
- Motor DC -2
- L293D -1
- Paket Baterai - 1
- Roda -2
- Roda Kastor - 2
Bersamaan dengan ini, Anda akan membutuhkan strip aluminium persegi untuk membuat bodi dan sekrup dan mur agar pas dengan benar.
Langkah 2: Struktur Tubuh
Struktur bodi akan dibuat dari batang aluminium persegi ringan yang akan membantu dalam perakitan dengan mudah.
Mulai sekarang rakit mereka seperti yang ditunjukkan pada gambar dan juga potong ruang yang tepat untuk motor servo untuk dipasang di lengan.
Pasang alas kayu heksagonal di bagian bawah.
Di bawah dasar kayu, pasang motor dan roda DC seperti yang kita lakukan pada robot pengikut garis manapun.
Menariknya, Tambahkan dua roda kastor - satu di bagian depan dan lainnya di bagian belakang robot.
Langkah 3: Pengkabelan dan Pengodean
Untuk memasang modul yang berbeda, lihat kode yang terlampir di bagian ini.
Pertama kami menguji setiap modul menggunakan kode mandiri dan kemudian kami menggabungkan semuanya menjadi satu dan mengontrol pergerakan roda dan Lengan menggunakan modul bluetooth.
Langkah 4: Raspberry Pi dan Pengenalan Gambar
Pengenalan Gambar dilakukan menggunakan Kamera USB dan Raspberry Pi.
Untuk itu, Anda perlu menginstal pustaka OPEN CV di Pi Anda.
Anda dapat melakukannya dari sini -
Kemudian Anda perlu melakukan pengenalan gambar menggunakan haar cascade.
Anda dapat melakukannya dari sini -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Setelah mempelajari tautan di atas dan mengikutinya, saya telah membuat beberapa perubahan pada kode terakhir yang saya gunakan yang saya tempel di bawah ini -
PEMBANGKIT DATASET:
imporcv2
cam = cv2. VideoCapture(0)
detector=cv2. CascadeClassifier('Classifiers/face.xml')
saya=0
offset = 50
nama=raw_input('masukkan id anda')
sementara Benar:
ret, saya =cam.read()
abu-abu=cv2.cvtColor(im, cv2. COLOR_BGR2GRAY)
face=detector.detectMultiScale(abu-abu, scaleFactor=1.2, minNeighbors=5, minSize=(100, 100), flags=cv2. CASCADE_SCALE_IMAGE)
untuk (x, y, w, h) di wajah:
saya=i+1
cv2.imwrite("dataSet/face."+name +'.'+ str(i) + ".jpg", abu-abu[y-offset:y+h+offset, x-offset:x+w+offset])
cv2.persegi panjang(im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
cv2.imshow('im', im[y-offset:y+h+offset, x-offset:x+w+offset])
jika cv2.waitKey(100) & 0xFF == ord('q'):
merusak
# pecah jika jumlah sampel lebih dari 20
elif (i>20):
merusak
cam.rilis()
cv2.destroySemuaWindows()
Ini akan membuat dataset foto Anda yang akan digunakan untuk otentikasi.
PELATIH:
importcv2, os
impor numpy sebagai np
dari Gambar impor PIL
pengenal = cv2.face.createLBPHFaceRecognizer()
cascadePath = "Pengklasifikasi/face.xml"
faceCascade = cv2. CascadeClassifier(cascadePath);
jalur = 'kumpulan data'
def get_images_and_labels(jalur):
image_paths = [os.path.join(path, f) untuk f di os.listdir(path)]
# gambar akan berisi gambar wajah
gambar =
# label akan berisi label yang ditetapkan ke gambar
label =
untuk image_path di image_paths:
# Baca gambar dan ubah ke skala abu-abu
image_pil = Gambar.buka(jalur_gambar).convert('L')
# Ubah format gambar menjadi array numpy
gambar = np.array(image_pil, 'uint8')
# Dapatkan label gambar
nbr = int(os.path.split(image_path)[-1].split(".")[1].replace("face-", ""))
#nbr=int(''.join(str(ord(c)) untuk c di nbr))
cetak nbr
# Deteksi wajah dalam gambar
wajah = faceCascade.detectMultiScale(gambar)
# Jika wajah terdeteksi, tambahkan wajah ke gambar dan label ke label
untuk (x, y, w, h) di wajah:
images.append(gambar[y: y + h, x: x + w])
labels.tambahkan(nbr)
cv2.imshow("Menambahkan wajah ke set pelatihan…", image[y: y + h, x: x + w])
cv2.waitKey(10)
# kembalikan daftar gambar dan daftar label
kembalikan gambar, label
gambar, label = get_images_and_labels(path)
cv2.imshow('test', gambar[0])
cv2.waitKey(1)
pengenal.train(gambar, np.array(label))
pengenal.save('pelatih/pelatih.yml')
cv2.destroySemuaWindows()
DETEKTOR
imporcv2
impor numpy sebagai np
impor os
c=0
pengenal = cv2.face.createLBPHFaceRecognizer()
pengenal.load('pelatih/pelatih.yml')
cascadePath = "Pengklasifikasi/face.xml"
faceCascade = cv2. CascadeClassifier(cascadePath);
cam = cv2. VideoCapture(0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
skala font = 1
warna font = (255, 255, 255)
sementara Benar:
ret, saya =cam.read()
abu-abu=cv2.cvtColor(im, cv2. COLOR_BGR2GRAY)
face=faceCascade.detectMultiScale(abu-abu, 1.2, 5)
untuk (x, y, w, h) di wajah:
cv2.persegi panjang(im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = pengenal.prediksi(abu-abu[y:y+h, x:x+w])
jika (Id<70):
jika(Id==1):
Id = "Shashank"
elif(Id==2):
jika(c==0):
Id = "Siwa"
c=c+1
os.system("katakanlah 'Selamat Datang Akses Shivam Diberikan'")
lain:
Id = "Siwa"
lain:
Id = "Tidak Diketahui"
cv2.putText(im, str(Id), (x, y+h), fontface, fontscale, fontcolor)
cv2.imshow('saya', saya)
jika cv2.waitKey(10) & 0xFF==ord('q'):
merusak
cam.rilis()
cv2.destroySemuaWindows()
Langkah 5: LCD dan Speaker
Saya juga menggunakan I2C LED Display dan speaker.
LED dikendalikan melalui Arduino Mega dan kodenya diberikan dalam kode akhir.
Untuk Speaker, terhubung dengan Raspberry Pi dan menggunakan eSpeak Utility.
Anda dapat menemukan referensinya di sini -
Langkah 6: Langkah Terakhir
Kumpulkan semuanya dan bersiaplah untuk ledakan.
Direkomendasikan:
Menggunakan Fluks - Dasar-dasar Solder: 5 Langkah
Menggunakan Fluks | Dasar-dasar Solder: Setiap kali Anda menyolder, solder perlu membuat ikatan yang baik dengan bagian-bagian yang Anda solder. Logam bagian dan logam solder harus bersentuhan langsung satu sama lain untuk menciptakan ikatan yang baik. Tapi karena saya
Game Reckless Racer Arduino OLED, AdafruitGFX, dan Dasar-dasar Bitmaps: 6 Langkah
Game Reckless Racer Arduino OLED, AdafruitGFX dan Bitmaps Dasar: Dalam tutorial ini kita akan melihat bagaimana menggunakan bitmap menggunakan library Adafruit_GFX.c sebagai semacam sprite dalam sebuah game. Gim paling sederhana yang dapat kami pikirkan adalah gim pengguliran samping yang mengubah jalur mobil, pada akhirnya penguji beta dan asisten pembuat kode kami
Cara Mengontrol Perangkat Menggunakan Raspberry Pi dan Relay - DASAR-DASAR: 6 Langkah
Cara Mengontrol Perangkat Menggunakan Raspberry Pi dan Relay - DASAR-DASAR: Ini adalah tutorial dasar dan langsung tentang cara mengontrol perangkat menggunakan Raspberry Pi dan Relay, membantu untuk membuat Proyek IoTTutorial ini untuk pemula, ramah untuk ikuti terus bahkan jika Anda tidak memiliki pengetahuan tentang penggunaan Raspberry
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS: 5 Langkah
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS: Jika Anda adalah orang yang suka mengutak-atik dan elektronik, lebih sering daripada tidak, Anda akan menemukan istilah Internet of Things, biasanya disingkat IoT, dan itu mengacu pada satu set perangkat yang dapat terhubung ke internet! Menjadi orang seperti itu
Cara Menggunakan Dasar-dasar Multimeter: 8 Langkah
Cara Menggunakan Multimeter Dasar: Multimeter atau multitester, juga dikenal sebagai VOM (volt-ohm-milliammeter), adalah alat ukur elektronik yang menggabungkan beberapa fungsi pengukuran dalam satu unit. Multimeter tipikal dapat mengukur tegangan, arus, dan hambatan. Multi analog