İçindekiler:
- Adım 1: Gerekli Bileşenler
- Adım 2: Vücut Yapısı
- Adım 3: Kablolama ve Kodlama
- 4. Adım: Raspberry Pi ve Görüntü Tanıma
- Adım 5: LCD ve Hoparlör
- Adım 6: Son Adımlar
Video: NAIN 1.0 - Arduino Kullanan Temel İnsansı Robot: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Nain 1.0, temelde 5 ayrılabilir modüle sahip olacaktır.
1) Kol – servolarla kontrol edilebilen.
2) Tekerlekler – DC motorlarla kontrol edilebilen.
3) Bacak – Nain, hareket için tekerlekler veya bacaklar arasında geçiş yapabilecektir.
4) Baş – Başı çeşitli sallanmalar için kontrol edilebilir.
5) Yüz Tanıma Erişimi için arayüz oluşturulabilen kamera modülü.
Bununla birlikte NAIN, kullanıcılarla konuşabilecek ve etkileşime geçebilecek ve dahili saatiyle size zamanı gösterebilecek. Wi-fi/Bluetooth kullanarak kablosuz kontrole sahip olacaktır.
Adım 1: Gerekli Bileşenler
- Servo Motorlar -4
- Arduino Mega - 1
- Ahududu Pi - 1
- Usb Kamera -1
- Hoparlör -1
- DC Motorlar -2
- L293D -1
- Pil Paketi - 1
- Tekerlekler -2
- Tekerlek Tekerlekleri - 2
Bunlarla birlikte, gövdeyi yapmak için alüminyum kare şeritlere ve bunlara uygun şekilde oturması için vida ve somunlara ihtiyacınız olacak.
Adım 2: Vücut Yapısı
Gövde yapısı, kolayca monte edilmesine yardımcı olacak hafif alüminyum kare çubuklardan yapılacaktır.
Şimdi bunları şekilde gösterildiği gibi birleştirin ve ayrıca servo motorların kollara takılacağı uygun boşlukları kesin.
Altına altıgen bir ahşap taban takın.
Ahşap tabanın altına, herhangi bir çizgi izleyen robotta yaptığımız gibi DC motorları ve tekerlekleri takın.
İlginç bir şekilde, biri robotun önüne diğeri arkasına olmak üzere iki tekerlek ekleyin.
Adım 3: Kablolama ve Kodlama
Farklı modülleri bağlamak için bu bölümde ekli kodlara bakın.
Önce bağımsız kodlar kullanarak her bir modülü test ettik ve ardından hepsini bir araya getirdik ve bir bluetooth modülü kullanarak tekerleklerin ve Kolların hareketini kontrol ettik.
4. Adım: Raspberry Pi ve Görüntü Tanıma
Görüntü Tanıma, bir USB Kamera ve Raspberry Pi kullanılarak gerçekleştirilir.
Bunun için Pi'nize OPEN CV kütüphanesini kurmanız gerekecek.
Bunu buradan yapabilirsiniz -
Ardından, haar kaskadını kullanarak görüntü tanıma gerçekleştirmeniz gerekecektir.
Bunu buradan yapabilirsiniz -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Yukarıdaki bağlantıyı inceledikten ve bunu takip ettikten sonra, kullandığım son kodda aşağıya yapıştırdığım bazı değişiklikler yaptım -
VERİ SETİ JENERATÖRÜ:
importcv2
kamera = cv2. VideoCapture(0)
dedektör=cv2. CascadeClassifier('Classifiers/face.xml')
ben=0
ofset=50
name=raw_input('kimliğinizi girin')
Doğru iken:
ret, im =cam.read()
gri=cv2.cvtColor(im, cv2. COLOR_BGR2GRAY)
yüzler=detektör.detectMultiScale(gri, scaleFactor=1,2, minNeighbors=5, minSize=(100, 100), flags=cv2. CASCADE_SCALE_IMAGE)
yüzlerde for(x, y, w, h):
ben=i+1
cv2.imwrite("dataSet/face."+name +'.'+ str(i) + ".jpg", gri[y-offset:y+h+offset, x-offset:x+w+offset])
cv2.rectangle(im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
cv2.imshow('im', im[y-offset:y+h+ofset, x-offset:x+w+ofset])
if cv2.waitKey(100) & 0xFF == ord('q'):
kırmak
# numune sayısı 20'den fazla ise ara
elif (i>20):
kırmak
kamera sürümü()
cv2.destroyAllWindows()
Kimlik doğrulama için kullanılacak fotoğraflarınızın bir tarih kümesini oluşturacaktır.
EĞİTİMCİ:
importcv2, işletim sistemi
numpy'yi np olarak içe aktar
PIL içe aktarma Görüntüsünden
tanıyıcı = cv2.face.createLBPHFaceRecognizer()
cascadePath = "Sınıflandırıcılar/face.xml"
faceCascade = cv2. CascadeClassifier(cascadePath);
yol = 'veri kümesi'
def get_images_and_labels(yol):
image_paths = [os.path.join(path, f) for os.listdir(path)]
# resim yüz resimleri içerecek
resimler =
# etiket, görüntüye atanan etiketi içerecek
etiketler =
image_paths içindeki image_path için:
# Resmi okuyun ve gri tonlamaya dönüştürün
image_pil = Image.open(image_path).convert('L')
# Görüntü biçimini numpy dizisine dönüştürün
resim = np.array(image_pil, 'uint8')
# Resmin etiketini alın
nbr = int(os.path.split(image_path)[-1].split(".")[1].replace("face-", ""))
#nbr=int(''.join(str(ord(c)) c için nbr))
baskı numarası
# Görüntüdeki yüzü algıla
yüzler = faceCascade.detectMultiScale(image)
# Yüz algılanırsa, yüzü görüntülere ve etiketi etiketlere ekleyin
yüzlerde (x, y, w, h) için:
resimler.append(resim[y: y + y, x: x + w])
etiketler.append(nbr)
cv2.imshow("Eğitim kümesine yüzler ekleniyor…", image[y: y + h, x: x + w])
cv2.beklemeAnahtarı(10)
# resim listesini ve etiket listesini döndür
dönüş resimleri, etiketler
resimler, etiketler = get_images_and_labels(path)
cv2.imshow('test', resimler[0])
cv2.bekleme Anahtarı(1)
tanıyıcı.tren(görüntüler, np.array(etiketler))
tanıyıcı.save('eğitmen/eğitmen.yml')
cv2.destroyAllWindows()
DEDEKTÖR
importcv2
numpy'yi np olarak içe aktar
işletim sistemini içe aktar
c=0
tanıyıcı = cv2.face.createLBPHFaceRecognizer()
tanıyıcı.load('eğitmen/eğitmen.yml')
cascadePath = "Sınıflandırıcılar/face.xml"
faceCascade = cv2. CascadeClassifier(cascadePath);
kamera = cv2. VideoCapture(0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
yazı tipi ölçeği = 1
yazı tipi rengi = (255, 255, 255)
Doğru iken:
ret, im =cam.read()
gri=cv2.cvtColor(im, cv2. COLOR_BGR2GRAY)
yüzler=faceCascade.detectMultiScale(gri, 1,2, 5)
yüzlerde for(x, y, w, h):
cv2.rectangle(im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = tanıyıcı.tahmin(gri[y:y+h, x:x+w])
if(Id<70):
if(Id==1):
Id="Shashank"
elif(Id==2):
if(c==0):
Id="Şivam"
c=c+1
os.system("'Hoş Geldiniz Shivam Erişimi Verildi'")
Başka:
Id="Şivam"
Başka:
Id="Bilinmeyen"
cv2.putText(im, str(Id), (x, y+h), yazı tipi yüzü, yazı tipi ölçeği, yazı tipi rengi)
cv2.imshow('im', im)
eğer cv2.waitKey(10) & 0xFF==ord('q'):
kırmak
kamera sürümü()
cv2.destroyAllWindows()
Adım 5: LCD ve Hoparlör
Ayrıca bir I2C LED Ekran ve bir hoparlör kullandım.
LED Arduino Mega üzerinden kontrol edilir ve kodu son kodda verilir.
Hoparlör için Raspberry Pi ile bağlantılıdır ve eSpeak Utility kullanır.
Referansını burada bulabilirsiniz -
Adım 6: Son Adımlar
Her şeyi bir araya getirin ve patlamaya hazır olun.
Önerilen:
Uyumlu Bir İnsansı Robot Üretmek: 11 Adım
Uyumlu Bir İnsansı Robot Oluşturma: Güncelleme & Sayfa:1/17/2021 Head, Face, Vb. - web kamerası eklendiTendons & Kaslar - PTFE ilaveleriSinirler ve amp; Deri - iletken kauçuk sonuçları "Resimdeki o şey nedir?"Bu robotik bir gövdenin parçasıdır - özellikle bir prototip spi
İnsansı Robot Nasıl Yapılır: 8 Adım
İnsansı Robot Nasıl Yapılır: Hey millet! Umarım bir önceki "Çevrimiçi Hava İstasyonu (NodeMCU)" talimatımı beğenmişsinizdir; ve bir yenisi için hazırsınız, Geçen sefer montajını yaptığımız SMARS model robottan sonra bugünün projesi de robot öğrenmesi ve
Otto DIY İnsansı Robot: 7 Adım (Resimlerle)
Otto Kendin Yap İnsansı Robotu: Otto iki ayaklı robotun artık bir "İnsan"a benzeyen kolları var; ve duyguları ifade etmek için bir LED matrisi. 3D baskıyı kendiniz yapın ve ardından parçaları kendiniz toplayın.Otto gerçekten Açık Kaynaktır; bu, donanımın kolayca fark edildiği anlamına gelir, yani
MIA-1 Açık Kaynak Gelişmiş El Yapımı İnsansı Robot!: 4 Adım
MIA-1 Açık Kaynak Gelişmiş El Yapımı İnsansı Robot!: Herkese merhaba, bugün sadece Gelişmiş ve benzersiz değil, aynı zamanda Açık kaynak kodlu ve 3D baskı olmadan da yapılabilen MIA-1 robotunu nasıl yaptığımı göstereceğim! Evet, anladınız, bu robot tamamen el yapımı. Ve açık kaynak şu anlama gelir - elde edersiniz
BONES İnsansı Robot: 11 Adım (Resimlerle)
İnsansı Robot BONES: Herkesin Cadılar Bayramı Kutlu Olsun !!! Bu yıl Cadılar Bayramı'nı kutlamak için duruma uygun bir robot yapmanın harika bir fikir olacağını düşündüm.Dans eden bir İnsansı İskelet !!! Her zaman kendi insansı robotumu tasarlamak ve inşa etmek istedim, bu yüzden bu p