Përmbajtje:
- Hapi 1: Përbërësit e nevojshëm
- Hapi 2: Struktura e trupit
- Hapi 3: Instalimet dhe Kodimi
- Hapi 4: Raspberry Pi dhe Njohja e Imazhit
- Hapi 5: LCD dhe altoparlanti
- Hapi 6: Hapat e fundit
Video: NAIN 1.0 - Roboti themelor humanoid duke përdorur Arduino: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Nain 1.0 do të ketë në thelb 5 module të ndashme-
1) Krah - i cili mund të kontrollohet përmes servos.
2) Rrota - të cilat mund të kontrollohen me motorë dc.
3) Këmbë - Nain do të jetë në gjendje të kalojë midis rrotave ose këmbëve për lëvizje.
4) Koka - Koka e saj mund të kontrollohet për nyje të ndryshme.
5) Moduli i kamerës- i cili mund të ndërfaqet për Qasjen në Njohjen e Fytyrës.
Së bashku me këtë NAIN do të jetë në gjendje të flasë dhe të ndërveprojë me përdoruesit dhe mund t'ju tregojë kohën me orën e saj të integruar. Do të ketë një kontroll pa tel duke përdorur Wi-fi /Bluetooth.
Hapi 1: Përbërësit e nevojshëm
- Servo Motors -4
- Arduino Mega - 1
- Mjedër Pi - 1
- Kamera USB -1
- Folës -1
- Motorët DC -2
- L293D -1
- Paketa e baterisë - 1
- Rrota -2
- Rrota Castor - 2
Së bashku me këto ju do të keni nevojë për shirita katrorë alumini për të bërë trupin dhe shirita dhe arra për t'i përshtatur ato siç duhet.
Hapi 2: Struktura e trupit
Struktura e trupit do të jetë prej shufrave të lehta katrore prej alumini të cilat do të ndihmojnë në montimin e tij me lehtësi.
Tashmë mblidhni ato siç tregohet në figurë dhe gjithashtu prerë hapësirat e duhura për motorët servo që do të bashkohen në krahë.
Bashkangjitni një bazë prej druri gjashtëkëndore në pjesën e poshtme.
Nën bazën prej druri, bashkoni motorët dhe rrotat DC siç bëjmë në çdo robot ndjekës të linjës.
Interestshtë interesante, Shtoni dy rrota pluhuri- njëra në pjesën e përparme dhe tjetra në anën e pasme të robotit.
Hapi 3: Instalimet dhe Kodimi
Për të lidhur modulet e ndryshme referojuni kodeve të bashkangjitura në këtë pjesë.
Së pari ne testuam secilin modul duke përdorur kode të pavarura dhe më pas i kombinuam të gjitha në një dhe kontrolluam lëvizjen e rrotave dhe krahëve duke përdorur një modul bluetooth.
Hapi 4: Raspberry Pi dhe Njohja e Imazhit
Njohja e Imazheve kryhet duke përdorur një Kamera USB dhe Raspberry Pi.
Për këtë, do t'ju duhet të instaloni bibliotekën OPEN CV në Pi tuaj.
Ju mund ta bëni atë nga këtu-https://github.com/jabelone/OpenCV-for-Pi
Atëherë do t'ju duhet të bëni njohjen e figurës duke përdorur kaskadën haar.
Ju mund ta bëni këtë nga këtu -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Pasi studiova lidhjen e mësipërme dhe pas kësaj, unë kam bërë disa ndryshime në kodin përfundimtar që kam përdorur që po ngjis më poshtë -
GJENERATORI I TAT DHNAVE:
importcv2
kamera = cv2. VideoCapture (0)
detektor = cv2. CascadeClassifier ('Klasifikuesit/fytyra.xml')
i = 0
kompensuar = 50
emri = raw_input ('shkruani id -in tuaj')
ndërsa e vërtetë:
ret, im = cam.read ()
gri = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
fytyrat = detektor.detectMultiScale (gri, shkallaFaktor = 1.2, minFqinjët = 5, minSize = (100, 100), flamuj = cv2. CASCADE_SCALE_IMAGE)
për (x, y, w, h) në fytyra:
i = i+1
cv2.imwrite ("dataSet/face."+emri+'.'+str (i)+".jpg", gri [y-offset: y+h+offset, x-offset: x+w+offset])
cv2. drejtkëndësh (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])
nëse cv2.waitKey (100) & 0xFF == ord ('q'):
pushim
# pushim nëse numri i mostrës është më shumë se 20
elif (i> 20):
pushim
kamera. lirimi ()
cv2.destroyAllWindows ()
Do të krijojë një grup të fotografive tuaja që do të përdoren për vërtetim.
TRAJNER:
importcv2, os
importoni numpy si np
nga Imazhi i importit PIL
njohës = cv2.face.createLBPHFaceRecognizer ()
cascadePath = "Klasifikuesit/fytyra.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
shteg = 'dataSet'
def get_images_and_labels (shtegu):
image_paths = [os.path.join (path, f) for f in os.listdir (path)]
# imazhe do të përmbajnë imazhe të fytyrës
imazhe =
# etiketa do të përmbajë etiketën që i është caktuar imazhit
etiketat =
për image_path në image_paths:
# Lexoni imazhin dhe shndërrohuni në shkallë gri
image_pil = Image.open (image_path).convert ('L')
# Shndërroni formatin e figurës në një grup numpy
image = np.array (image_pil, 'uint8')
# Merrni etiketën e figurës
nbr = int (os.path.split (image_path) [-1].split (".") [1].zëvendësim ("fytyrë-", ""))
#nbr = int (''. bashkoj (str (ord (c)) për c në nbr))
shtyp nbr
# Zbuloni fytyrën në imazh
fytyrat = faceCascade.detectMultiScale (imazhi)
# Nëse fytyra zbulohet, bashkojeni fytyrën me imazhet dhe etiketën me etiketat
për (x, y, w, h) në fytyra:
imazhet.shtoj (imazhi [y: y + h, x: x + w])
etiketat. shtojca (nbr)
cv2.imshow ("Shtimi i fytyrave në grupin e tranzicionit …", imazhi [y: y + h, x: x + w])
cv2.waitKelës (10)
# ktheni listën e imazheve dhe listën e etiketave
ktheni imazhet, etiketat
imazhe, etiketa = merrni_images_and_labels (shteg)
cv2.imshow ('test', imazhe [0])
cv2.waitKy (1)
njohës.tren (imazhe, np. array (etiketa))
njohës.save ('trainer/trainer.yml')
cv2.destroyAllWindows ()
DETECTOR
importcv2
importoni numpy si np
import os
c = 0
njohës = cv2.face.createLBPHFaceRecognizer ()
njohës. ngarkim ('trainer/trainer.yml')
cascadePath = "Klasifikuesit/fytyra.xml"
faceCascade = cv2. CascadeClassifier (cascadePath);
kamera = cv2. VideoCapture (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
shkalla e shkrimit = 1
fontcolor = (255, 255, 255)
ndërsa e vërtetë:
ret, im = cam.read ()
gri = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
fytyrat = faceCascade.detectMultiScale (gri, 1.2, 5)
për (x, y, w, h) në fytyra:
cv2. drejtkëndësh (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = njohësi.parashikimi (gri [y: y+h, x: x+w])
nëse (Id <70):
nëse (Id == 1):
Id = "Shashank"
elif (Id == 2):
nëse (c == 0):
Id = "Shivam"
c = c+1
os.system ("spike 'Welcome Shivam Access Granted'")
tjeter:
Id = "Shivam"
tjeter:
Id = "E panjohur"
cv2.putText (im, str (Id), (x, y+h), font font, shkronja shkallë, fontcolor)
cv2.imshow ('im', im)
nëse cv2.waitKey (10) & 0xFF == ord ('q'):
pushim
kamera. lirimi ()
cv2.destroyAllWindows ()
Hapi 5: LCD dhe altoparlanti
Kam përdorur gjithashtu një ekran LED I2C dhe një altoparlant.
LED kontrollohet përmes Arduino Mega dhe kodi i tij jepet në kodin përfundimtar.
Për Speaker, ajo është e lidhur me Raspberry Pi dhe përdor eSpeak Utility.
Ju mund të gjeni referencën e tij këtu-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
Hapi 6: Hapat e fundit
Mblidhni gjithçka dhe përgatituni për goditjen.
Recommended:
DIY -- Si të bëni një robot merimangë i cili mund të kontrollohet duke përdorur smartphone duke përdorur Arduino Uno: 6 hapa
DIY || Si të bëni një robot merimangë i cili mund të kontrollohet duke përdorur smartphone duke përdorur Arduino Uno: Ndërsa bëni një robot merimangë, mund të mësoni shumë gjëra për robotikën. Ashtu si bërja e robotëve është edhe argëtuese, edhe sfiduese. Në këtë video ne do t'ju tregojmë se si të bëni një robot Spider, të cilin mund ta përdorim duke përdorur smartphone -in tonë (Androi
Kontrolli i udhëhequr në të gjithë botën duke përdorur internetin duke përdorur Arduino: 4 hapa
Kontrolli i udhëhequr në të gjithë botën duke përdorur internetin duke përdorur Arduino: Përshëndetje, unë jam Rithik. Ne do të bëjmë një led të kontrolluar nga interneti duke përdorur telefonin tuaj. Ne do të përdorim softuer si Arduino IDE dhe Blynk. Simpleshtë e thjeshtë dhe nëse keni sukses mund të kontrolloni sa më shumë komponentë elektronikë që dëshironi Gjërat që Ne Nevojë: Hardware:
Si të bëni një dron duke përdorur Arduino UNO - Bëni një kuadopter duke përdorur mikrokontrollues: 8 hapa (me fotografi)
Si të bëni një dron duke përdorur Arduino UNO | Bëni një Quadcopter Duke përdorur Mikrokontrolluesin: HyrjeVizitoni Kanalin Tim në YoutubeNjë drone është një vegël (produkt) shumë e shtrenjtë për të blerë. Në këtë postim do të diskutoj, si ta bëj me çmim të ulët ?? Dhe si mund ta bëni tuajin si ky me çmim të lirë … Epo në Indi të gjitha materialet (motorët, ESC -të
Neopixel Ws2812 Rainbow LED shkëlqim me M5stick-C - Running Rainbow në Neopixel Ws2812 Duke përdorur M5stack M5stick C Duke përdorur Arduino IDE: 5 hapa
Neopixel Ws2812 Rainbow LED Shkëlqen Me M5stick-C | Running Rainbow në Neopixel Ws2812 Duke përdorur M5stack M5stick C Duke përdorur Arduino IDE: Përshëndetje djema në këtë udhëzues do të mësojmë se si të përdorim LED neopixel ws2812 ose shirit led ose matricë led ose unazë led me bordin e zhvillimit m5stack m5stick-C me Arduino IDE dhe ne do të bëjmë një model ylberi me të
Telekomanda me valë duke përdorur modulin NRF24L01 2.4Ghz me Arduino - Nrf24l01 Marrës transmetues 4 kanal / 6 kanal për kuadopter - Rc Helikopter - Rc Plane Duke përdorur Arduino: 5 hapa (me fotografi)
Telekomanda me valë duke përdorur modulin NRF24L01 2.4Ghz me Arduino | Nrf24l01 Marrës transmetues 4 kanal / 6 kanal për kuadopter | Rc Helikopter | Rc Plane Duke përdorur Arduino: Për të drejtuar një makinë RC | Kuadikopter | Dron | RC aeroplan | Varka RC, ne gjithmonë kemi nevojë për një marrës dhe transmetues, supozoni për RC QUADCOPTER kemi nevojë për një transmetues dhe marrës me 6 kanale dhe ai lloj TX dhe RX është shumë i kushtueshëm, kështu që ne do të bëjmë një në pajisjen tonë