Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Pozdravljeni, danes vam bom pokazal, kako sem naredil robota MIA-1, ki ni samo napreden in edinstven, ampak tudi odprtokoden in ga je mogoče izdelati brez 3D tiskanja !! Ja, razumete, ta robot je v celoti ročno izdelan. In odprtokodna koda pomeni - kode in vse podrobnosti dobite brezplačno, tudi vi lahko naredite tega robota, če želite.
Tu vidimo samo njen govor, vendar lahko naredi še veliko več!
Tukaj je nekaj, kar lahko naredi:
- Lahko vas poslušam in se pogovorim
- Lahko vas vidi in prepozna s kamero njenega levega očesa
- lahko zazna gibanje in posname fotografijo
- ima grafični vmesnik z LCD zaslonom na dotik, ki ji poveljuje
- prikazuje slike na njenem lcd -ju
- naložite slike in predstave na njen zaslon
- lahko cilja na stvari z laserskim kazalcem na desni roki
- med pogovorom premika roke
- Stoji na nogah brez pomoči drugih
- Lahko se tudi prikloni (poglejte video)
in še veliko več, naredimo jo!
Zaloge
Za izdelavo tega robota sem uporabil vse stvari, ki so na voljo v naši lokalni trgovini.
Mikrokontrolerji + računalniki (možgani):
- Arduino Mega (za krmiljenje servo motorjev)
- Poln računalnik (lahko uporabite malinovo pi, vendar bom najprej uporabil svoj prenosnik kot njene možgane)
Servo motorji:
MIA-1 ima 13 stopenj svobode.
- LDX227 dvoosni servo motorji 8x
- Servo motorji MG996r / MG996 3x
- Za figure sem uporabil mikro servo sg90
Upoštevajte, da sem dodal robotsko kremplje in uporablja še en servo motor MG996r.
In mostične žice itd
Kupite elektronske komponente na spletnem mestu utsource.net
Vizija:
Za obdelavo slik, kot so fotografiranje in zaznavanje obrazov itd., Sem uporabil kamero USB.
OPOMBA: Ta vadnica je za srednje in napredne ustvarjalce, osredotočil se bom predvsem na kode, saj je to koda, ki naredi MIA-1, MIA-1. In če dobite kodo, vam bo vse preprosto.
1. korak: Postavitev karoserije in motorja
Telo je izdelano iz PVC folije, različni kosi so pritrjeni z vročim lepilom in vijaki (glej sliko). Pvc folijo sem odrezal z rezalnim nožem (bodite zelo previdni !! namesto tega si ne režite prstov !!). Na prvi in drugi sliki si lahko ogledate postavitev servomotorja. Ko sem izdeloval dekleta, sem mu dal žensko obliko in postavo.
Servo konektorji so narejeni iz tankih PVC plošč, saj se dobro upognejo.
Glava je narejena z balonom, v balon je vpihoval zrak (glej sliko), dodali so majhne mokre koščke papirja in jo nato posušili. Po dodajanju 8 plasti je postala močna in trajnostna.
Nato ga samo pobarvajte v belo (celo telo) z barvo razpršila.
Izkazalo se je, da je zasnova tako neverjetno uravnotežena in da (MIA-1) stoji kar dve nogi od nje !!
Dodajanje zaslona:
Po tem sem samo uporabila nekaj vijakov in vročih lepil za pritrditev LCD -ja na prsni koš (zadnja fotografija).
2. korak: Shema vezja
Shema vezja je videti zapletena, vendar ni. Vezje sem narisal kot postavitev motorja na telesu, da ga boste lažje razumeli. Prepričajte se, da ste skupni. Arduino napaja računalnik prek USB kabla. Obstaja laserska dioda, ki omogoča, da mia cilja na stvari, ki jih napaja iz pin 13 (led pin) arduina.
Kot vidite, so vsi motorji in sam arduino na zadnji strani karoserije. Prav tako sem dal vse kable od zadaj. Kupil sem podaljšan kabel USB, da ga lahko povežem z računalnikom.
3. korak: KODA
Kot veste, sem uporabil arduino mega. Arduino mega upravlja servo motorje, motorji so vnaprej programirani. Od tu dobite kodo motorja. Upoštevajte privzete položaje servomotorja, pri gradnji robota pazite na to. Samo napajajte motorje z arduinom, ne da bi ohišje in servo motorji dosegli privzeti položaj (privzeti položaj spodaj)
/*privzeti/stanje pripravljenosti servomotorjev*/komor.write (4); #pas servo left1.write (120); rFinger.write (0); servo1.write (55); clawOpen (); rightStandBy (); leftStandBy (); headTilt.write (134); headPan.write (90);
Koda za nadzor motorja je več kot 750 vrstic (bodite previdni pri urejanju).
Glavna obdelava se izvede s skriptom python3.
Python ima knjižnico pySerial, ki komunicira z arduinom preko zaporedja. Upoštevajte "COM PORT".
#Povežite se z gonilniško ploščo motorja mia prek serijske komunikacije: mia = serial. Serial ("COM28", 9600) razen: pass
Te knjižnice morate tudi namestiti s pipom
"" "uvoz potrebnih knjižnic" "" #uvozne zahteve #za pošiljanje/prejemanje zahtev uvoz pyttsx3 #brez povezave besedilo v govor uvoz govor_prepoznavanje kot sr #govor v besedilo (za delovanje je potreben internet) čas uvoza iz naključnega uvoza randint #naključno izbiranje celega števila knjižnica import tkinter #tkinter gui knjižnica iz tkinter import Tk, Button, Label, Tk #import potrebnih stvari uvoz serijske #serial knjižnice za serijsko komunikacijo preko USB iz PIL uvoza Slika #fro prikazuje uvoz slik cv2 #računalnik Vision knjižnica uvoz wikipedia #da bi dobili neposredno z wikipedije
S pip install je vse preprosto. Za opencv v ukazni poziv vnesite:
pip namestite opencv-contrib-python
GUI (grafični uporabniški vmesnik), ki ga vidite, je razvit s pomočjo tkinterja. To in vse druge knjižnice, ki jih lahko namestite s tem ukazom:
pip install ime_ knjižnice
potem bo nameščen.
Oglejte si tudi, če uporabljate spletno kamero, zato je verjetnost, da bo kamera označena kot 1
cap = cv2. VideoCapture (1) #kamera
Če želite izvedeti več o tem, kako se ta robot dejansko pogovarja, preberite ta navodila.
Koda MIA-1 je le razširjena različica tega.
Ko računalnik pošlje ugriz, arduino ukrepa glede na prejete ugrize, zato je videti, da je Mijino gibanje in govor asinhrono.
mia.write (b'p ') #command to head up then downcount_down (3) response ("Nasmeh prosim", 100)
Zdaj, da dobite kodo, pojdite na spodnjo povezavo.
Prenesite kodo MIA-1 od tukaj.
4. korak: Napajanje in zaključna obdelava
Robota sem napajal s 7,4 v lipo baterijo. Servomotorji LDX227 so zelo lačni energije (vendar so dobre kakovosti), zato poskrbite, da bodo kadar koli dobili vsaj 7,3 V. Po drugi strani pa so servo motorji MG996r poceni in jih je mogoče zlahka poškodovati, pazite, da ne dobijo več kot 7,8 V. Najvišja napajalna moč tega robota bi morala biti med 7,4 do 7,8 voltov.
Veselo izdelavo !! Če vam je všeč ta robot, ga podprite tako, da se naročite na kanal za več neverjetnih projektov in me prosim glasujte za robotski izziv.
Ta robot je prvi odprtokodni humanoidni robot v Bangladešu !! In najcenejši te vrste. Ta robot sem naredil odprtokoden, da bodo lahko drugi študentje in zainteresirani spoznali logiko robotov. Naj v prihodnje nihče ne bo robotike jemal kot znanstveno fantastiko. V doba robotov !!