สารบัญ:
- ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
- ขั้นตอนที่ 2: โครงสร้างร่างกาย
- ขั้นตอนที่ 3: การเดินสายไฟและการเข้ารหัส
- ขั้นตอนที่ 4: Raspberry Pi และการจดจำภาพ
- ขั้นตอนที่ 5: LCD และลำโพง
- ขั้นตอนที่ 6: ขั้นตอนสุดท้าย
วีดีโอ: NAIN 1.0 - หุ่นยนต์ฮิวแมนนอยด์พื้นฐานที่ใช้ Arduino: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
Nain 1.0 จะมีโมดูลที่ถอดออกได้ 5 โมดูลโดยทั่วไป -
1) แขน – ซึ่งสามารถควบคุมผ่านเซอร์โว
2) ล้อ – ซึ่งสามารถควบคุมได้ด้วยมอเตอร์กระแสตรง
3) Leg – Nain จะสามารถสลับไปมาระหว่างล้อหรือขาเพื่อการเคลื่อนไหวได้
4) หัว – สามารถควบคุมศีรษะได้ด้วยการพยักหน้าต่างๆ
5) โมดูลกล้อง - ซึ่งสามารถเชื่อมต่อสำหรับการเข้าถึงการจดจำใบหน้า
พร้อมกับ NAIN นี้ จะสามารถพูดและโต้ตอบกับผู้ใช้ และสามารถแสดงเวลาด้วยนาฬิกาในตัว จะมีการควบคุมแบบไร้สายโดยใช้ Wi-Fi / Bluetooth
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
- เซอร์โวมอเตอร์ -4
- Arduino Mega - 1
- Raspberry Pi - 1
- กล้อง USB -1
- วิทยากร -1
- มอเตอร์กระแสตรง -2
- L293D -1
- ชุดแบตเตอรี่ - 1
- ล้อ -2
- ล้อเลื่อน - 2
นอกจากนี้ คุณจะต้องใช้แถบสี่เหลี่ยมอะลูมิเนียมเพื่อทำให้ร่างกาย เกลียว และน็อตเพื่อให้เข้าที่พอดี
ขั้นตอนที่ 2: โครงสร้างร่างกาย
โครงสร้างตัวถังจะเป็นอลูมิเนียมน้ำหนักเบา แท่งสี่เหลี่ยม ช่วยในการประกอบง่าย
ตอนนี้ประกอบเข้าด้วยกันดังแสดงในรูปภาพและตัดช่องว่างที่เหมาะสมสำหรับเซอร์โวมอเตอร์ที่จะติดอยู่ในแขน
ติดฐานไม้หกเหลี่ยมที่ด้านล่าง
ใต้ฐานไม้ ติดมอเตอร์กระแสตรงและล้อเหมือนที่เราทำกับหุ่นยนต์ติดตามสาย
ที่น่าสนใจคือ เพิ่มล้อเลื่อนสองล้อ - อันหนึ่งที่ด้านหน้าและอีกอันที่ด้านหลังของหุ่นยนต์
ขั้นตอนที่ 3: การเดินสายไฟและการเข้ารหัส
ในการต่อโมดูลต่างๆ โปรดดูรหัสที่แนบมาในส่วนนี้
ขั้นแรก เราทดสอบแต่ละโมดูลโดยใช้รหัสแบบสแตนด์อโลน จากนั้นเรารวมโมดูลทั้งหมดเข้าด้วยกัน และควบคุมการเคลื่อนที่ของล้อและแขนโดยใช้โมดูลบลูทูธ
ขั้นตอนที่ 4: Raspberry Pi และการจดจำภาพ
การจดจำภาพทำได้โดยใช้กล้อง USB และ Raspberry Pi
เพื่อที่คุณจะต้องติดตั้งไลบรารี OPEN CV บน Pi ของคุณ
คุณสามารถทำได้จากที่นี่ -
จากนั้นคุณจะต้องทำการจดจำภาพโดยใช้ haar cascade
คุณสามารถทำได้จากที่นี่ -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
หลังจากศึกษาลิงก์ด้านบนและทำตามนั้นแล้ว ฉันได้แก้ไขโค้ดสุดท้ายที่ฉันใช้และกำลังวางด้านล่าง -
ตัวสร้างชุดข้อมูล:
importcv2
กล้อง = cv2. VideoCapture(0)
เครื่องตรวจจับ=cv2. CascadeClassifier('ตัวแยกประเภท/face.xml')
ผม=0
ออฟเซ็ต=50
name=raw_input('ป้อนรหัสของคุณ')
ในขณะที่จริง:
กลับมาแล้ว im =cam.read()
สีเทา=cv2.cvtColor(im, cv2. COLOR_BGR2GRAY)
faces=detector.detectMultiScale(สีเทา, scaleFactor=1.2, minNeighbors=5, minSize=(100, 100), flags=cv2. CASCADE_SCALE_IMAGE)
for(x, y, w, h) ในใบหน้า:
ผม=ผม+1
cv2.imwrite("dataSet/face."+name +'.'+ str(i) + ".jpg", สีเทา[y-offset:y+h+offset, x-offset:x+w+offset])
cv2.สี่เหลี่ยมผืนผ้า(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])
ถ้า cv2.waitKey(100) & 0xFF == ord('q'):
หยุดพัก
# แบ่งถ้าจำนวนตัวอย่างมากกว่า 20
เอลฟ์ (i>20):
หยุดพัก
cam.release()
cv2.destroyAllWindows()
มันจะสร้างชุดข้อมูลรูปภาพของคุณที่จะใช้สำหรับการตรวจสอบสิทธิ์
เทรนเนอร์:
importcv2, os
นำเข้า numpy เป็น np
จาก PIL นำเข้า Image
ตัวจำแนกลายมือ = cv2.face.createLBPHFaceRecognizer()
cascadePath = "ตัวแยกประเภท/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
เส้นทาง = 'ชุดข้อมูล'
def get_images_and_labels (เส้นทาง):
image_paths = [os.path.join(path, f) สำหรับ f ใน os.listdir(path)]
# ภาพจะมีภาพใบหน้า
ภาพ =
# labels จะมีป้ายกำกับที่กำหนดให้กับรูปภาพ
ป้ายกำกับ =
สำหรับ image_path ใน image_paths:
# อ่านภาพและแปลงเป็นระดับสีเทา
image_pil = Image.open(image_path).convert('L')
# แปลงรูปแบบภาพเป็นอาร์เรย์จำนวนมาก
รูปภาพ = np.array (image_pil, 'uint8')
#รับฉลากของภาพ
nbr = int(os.path.split(image_path)[-1].split(".")[1].replace("face-", ""))
#nbr=int(''.join(str(ord(c)) สำหรับ c ใน nbr))
พิมพ์ nbr
#ตรวจจับใบหน้าในรูป
ใบหน้า = faceCascade.detectMultiScale (ภาพ)
# หากตรวจพบใบหน้า ให้แนบใบหน้ากับรูปภาพและติดป้ายกำกับเข้ากับป้ายกำกับ
สำหรับ (x, y, w, h) ในหน้า:
images.append(image[y: y + h, x: x + w])
labels.append(nbr)
cv2.imshow("การเพิ่มใบหน้าให้กับชุดการฝึก…", image[y: y + h, x: x + w])
cv2.waitKey(10)
# ส่งคืนรายการรูปภาพและรายการป้ายกำกับ
ส่งคืนรูปภาพ ป้ายกำกับ
รูปภาพ, ป้ายกำกับ = get_images_and_labels(เส้นทาง)
cv2.imshow('ทดสอบ', รูปภาพ[0])
cv2.waitKey(1)
Recognizer.train (ภาพ np.array (ป้ายกำกับ))
จดจำ.save('ผู้ฝึกสอน/ผู้ฝึกสอน.yml')
cv2.destroyAllWindows()
เครื่องตรวจจับ
importcv2
นำเข้า numpy เป็น np
นำเข้าระบบปฏิบัติการ
c=0
ตัวจำแนกลายมือ = cv2.face.createLBPHFaceRecognizer()
ตัวจดจำ.load('ผู้ฝึกสอน/ผู้ฝึกสอน.yml')
cascadePath = "ตัวแยกประเภท/face.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
กล้อง = cv2. VideoCapture(0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
fontscale = 1
สีฟอนต์ = (255, 255, 255)
ในขณะที่จริง:
เกษียณแล้ว im =cam.read()
สีเทา=cv2.cvtColor(im, cv2. COLOR_BGR2GRAY)
faces=faceCascade.detectMultiScale(สีเทา, 1.2, 5)
สำหรับ(x, y, w, h) ในใบหน้า:
cv2.สี่เหลี่ยมผืนผ้า(im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = ตัวรู้จำ.ทำนาย(สีเทา[y:y+h, x:x+w])
ถ้า(รหัส<70):
ถ้า(Id==1):
Id="ชาแชงค์"
เอลฟ์(Id==2):
ถ้า(c==0):
Id="ชีวาม"
c=c+1
os.system("พูด 'ยินดีต้อนรับการเข้าถึง Shivam'")
อื่น:
Id="ศิวาม"
อื่น:
Id="ไม่ทราบ"
cv2.putText(im, str(Id), (x, y+h), fontface, fontscale, fontcolor)
cv2.imshow('ฉัน', อิม)
ถ้า cv2.waitKey(10) & 0xFF==ord('q'):
หยุดพัก
cam.release()
cv2.destroyAllWindows()
ขั้นตอนที่ 5: LCD และลำโพง
ฉันยังใช้จอแสดงผล LED I2C และลำโพง
LED ถูกควบคุมผ่าน Arduino Mega และรหัสของมันจะได้รับในรหัสสุดท้าย
สำหรับ Speaker จะเชื่อมต่อกับ Raspberry Pi และใช้ eSpeak Utility
คุณสามารถค้นหาข้อมูลอ้างอิงได้ที่นี่ -
ขั้นตอนที่ 6: ขั้นตอนสุดท้าย
รวบรวมทุกอย่างและเตรียมพร้อมสำหรับการปัง
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino