salutări locuitorii site-ului nostru!
De această dată, AlexGyver, autorul canalului YouTube cu același nume, despre vacanță, care, apropo, nu ne place foarte mult, a decis să repete Proiect Adafruit - un ochi bionic care este introdus în paharele unui sudor cu gaz.
Din punct de vedere al codului, acest proiect finalizat nu este absolut interesant, autorul s-a interesat de mecanism, și anume de sistemul său de coordonate.
Vom reveni la acest lucru, dar puțin mai târziu, dar mai întâi, să colectăm toată mecanica și să conectăm totul electronic componente.
Pentru a repeta acest proiect, veți avea nevoie de:
1) Ochelari de sudură pe gaz. Puteți utiliza atât metal, cât și plastic.
Cu siguranță plasticul se potrivește mai bine, dar desigur nu se pot lăuda cu calitate. Mai exact, în acest caz, din plastic, părțile au căzut literalmente imediat și autorul a trebuit să le lipească.
Astfel de ochelari pot fi achiziționați la magazin care vinde instrumente sau materiale de construcție. Autorul a cumpărat acestea din magazinul All Instruments.
2) În continuare, avem nevoie de aceste tipărite pe Imprimantă 3D piese de schimb.
Autorul a imprimat elementele cu plastic PLA alb pe noua imprimantă 3D 4s ghostbear, cu 32 de biți. fișier conține toate cele 3 modele simultan. Imprimarea este necesară cu suporturi.
3) Următoarea componentă necesară proiectului nostru special de Halloween este platforma Modele Arduino Nano.
4) De asemenea, obligatoriu baterie cu litiu:
5) Boost convertor dc-dc (până la 5V);
6) comutator:
7) Micro servos, dar nu standard de 9 grame, dar și mai puțin:
Așa că, cu componentele necesare, sortate în calcul, să trecem la asamblarea dispozitivului. În primul rând, trebuie să montăm unitățile astfel:
Iată o imagine mai inteligibilă:
Îndepărtăm autocolantul și cu ajutorul superglueului conectăm acest lucru.
Apropo, servosele chineze par să fie ușor diferite de cele Adafruth și trebuie să le lipiciți astfel, cu o mică compensare:
Urechile trebuie îndepărtate, ele vor interfera.
Apoi, la tracțiunea inferioară, agățăm balansorul și rotim axul în sensul acelor de ceasornic.
Introduceți servos-urile în preimprimat pe Imprimantă 3D gol (ochi).
Ridicăm unitatea proeminentă până la marginea și introducem arborele de ieșire în orificiul din interiorul ochiului.
Șurubul lung lung trebuie scurtat puțin. Acest lucru se poate face folosind biberoane.
Apoi, folosind un șurub scurtat, remediem unitatea internă.
Dacă aveți un servotester, puteți verifica operabilitatea mecanismului rezultat.
Apoi atașăm a doua parte a ochiului la axul celei de-a doua acționări și, de asemenea, o fixăm.
Suntem convinși de performanța generală (ar trebui să lucrăm împreună).
Mai ales pentru acest proiect, autorul a scris un cod simplu care roteste fără probleme unitățile într-un unghi aleatoriu. Dar centrul ochiului a fost ușor părtinitor, așa că găsim centrul propriu-zis și atragem elevul.
Ei bine, având în vedere că acesta este un proiect de vacanță, iar vacanța este destul de specifică, atunci haideți să facem ceva mai groaznic.
Apoi, introduceți partea rezultată în pahare.
Dacă nu este introdus, este necesar să se șamponă puțin.
Apoi am pus totul laolaltă.
În continuare, conectăm toate componentele în conformitate cu următoarea schemă:
Totul este gata, dar acum fiecare unitate se ridică într-un unghi aleatoriu și, în principiu, o poți lăsa așa.
Dar, la începutul articolului, vă amintiți despre mecanismul și sistemul de coordonate? Deci, mecanismul se rotește de-a lungul a două axe, dar nu de-a lungul celor de-a lungul căruia se rotește ochiul uman. Scopul nostru este de a face ca un astfel de mecanism să se comporte exact ca ochiul uman. La prima vedere, acest lucru pare imposibil, dar puteți încerca să aduceți sistemul normal de coordonate la normal, astfel încât să puteți pune elevul în orice poziție dorită.
Deci, avem două unghiuri, le notăm prin X și Y.
Y este unghiul mic al ochiului, iar X este unghiul de rotație a ochiului cu 180 de grade.
Pentru a atinge toate pozițiile posibile este necesar să controlați ambele unghiuri și există o specificitate. Să începem cu cea mai simplă - mișcare circulară cu o rază maximă.
Dar nu este atât de simplu pe cât părea. Prin urmare, primul lucru pe care autorul l-a făcut a fost un sistem de coordonate polare în care puteți seta unghiul de rotație al ochiului și raza, adică îndepărtarea pupilei din punctul central 00.
În semicercul superior, lucrăm de la jumătatea unghiului Y la valoarea sa maximă, iar în cel inferior - de la minim la jumătate. Acum mișcarea ochilor poate fi programată într-un mod mai interesant. Mișcările în sine sunt aleatorii, dar deja în jurul circumferinței.
Acum hai să lipim toată electronica, totul este ca în diagrama:
Încercând să o porniți.
Indicația este. Acum ascundem acest lucru într-un fel de clădire (în acest caz, autorul a folosit o casetă bifată până la tac).
Toți ochii noștri cibernetici sunt pregătiți. Iată o asemenea glumă.
Dar să continuăm cercetările teoretice și să traducem sistemul de coordonate polare în cartezian, mai târziu voi înțelege de ce.
Totul este simplu aici, ne va ajuta funcția atan2, care returnează unghiul în radianele de la –P la P și funcția ipot, care va calcula lungimea hipotenuzei în aceleași două coordonate, iar ipotenuză este raza pentru funcția noastră anterioară.
Și într-un mod atât de simplu, subiectul nostru experimental poate acum să-și întoarcă ochiul exact acolo unde avem nevoie (sus, jos, dreapta, stânga).
Atunci de ce este nevoie de asta? Acest lucru este necesar pentru a putea adăuga giroscopcu ajutorul căruia ochiul se va întoarce în aceeași direcție cu capul, care va arăta probabil destul de amuzant. De fapt, proiectul a fost adăugat giroscop mpu6050, așa arată în diagrama:
Schimbați codul, asigurați-vă că citirile de la giroscop deviază ochiul. Prin filtru în mod natural.
Deci ce obținem până la urmă? Ochiul este cam târziu în spatele virajului capului, creând astfel efectul că se îndreaptă spre dreapta și te privește. Drept urmare, iată un astfel de proiect matematic mic.
inserare AICI. Vă mulțumim pentru atenție. Ne vedem curând!
Videoclipul autorului: