Groetjes de bewoners van onze site!
Deze keer over AlexGyver, de auteur van het YouTube-kanaal met dezelfde naam, over de vakantie, die we trouwens niet echt leuk vinden, besloot te herhalen Adafruit-project - een bionisch oog dat in de glazen van een gaslasser wordt gestoken.
Vanuit het oogpunt van de code is dit voltooide project absoluut niet interessant, de auteur was geïnteresseerd in het mechanisme, namelijk het coördinatensysteem.
We komen hierop terug, maar even later, maar laten we eerst alle mechanica verzamelen en alles met elkaar verbinden elektronisch componenten.
Om dit project te herhalen heb je nodig:
1) Gaslasser. Je kunt zowel metaal als plastic gebruiken.
Plastic past zeker beter, maar kan natuurlijk niet bogen op kwaliteit. Specifiek, in dit geval gemaakt van plastic, vielen de zijkanten letterlijk onmiddellijk af en moest de auteur ze lijmen.
Dergelijke glazen kunnen worden gekocht in de winkel die gereedschap of bouwmaterialen verkoopt. De auteur kocht deze in de winkel van All Instruments.
2) Vervolgens moeten we deze bedrukt hebben 3D-printer reserveonderdelen.
De auteur printte de elementen met wit PLA-plastic op de nieuwe 32-bit Flyingbear Ghost 4s 3D-printer. Bestand bevat alle 3 modellen tegelijk. Afdrukken is noodzakelijk met steunen.
3) Het volgende onderdeel dat nodig is voor ons speciale Halloween-project is het platform Arduino Nano-modellen.
4) Ook vereist lithium-ion batterij:
5) Boost dc-dc (tot 5V) omzetter;
6) Schakelaar:
7) Micro servo's, maar niet standaard 9 gram, maar nog minder:
Dus, met de nodige componenten, min of meer bedacht, gaan we aan de slag met het monteren van het apparaat. Eerst moeten we de schijven als volgt monteren:
Hier is een begrijpelijker beeld:
We verwijderen de sticker en met behulp van superlijm verbinden we dit hele ding.
Trouwens, Chinese servo's lijken enigszins te verschillen van die van Adafruth, en je moet ze zo lijmen, met een kleine offset:
Oren moeten worden verwijderd, ze zullen interfereren.
Vervolgens naar de onderste aandrijving, haken we de wip en draaien de as tegen de klok in.
Steek de servo's in de voorgedrukte 3D-printer blanco (oog).
We komen tegen de uitstekende aandrijving aan tot aan de rand en steken de uitgaande as in het gat in het oog.
De lange complete schroef moet iets worden ingekort. Dit kan met een tang.
Vervolgens maken we met een verkorte schroef de interne schijf vast.
Als u een servotester heeft, kunt u de werking van het resulterende mechanisme controleren.
Vervolgens bevestigen we het tweede deel van het oog aan de as van de tweede aandrijving en bevestigen het ook.
We zijn overtuigd van de algehele prestatie (zou moeten samenwerken).
Speciaal voor dit project schreef de auteur een eenvoudige code die de schijven soepel in een willekeurige hoek roteert. Maar het midden van het oog was enigszins bevooroordeeld, dus we vinden het eigenlijke centrum en tekenen de pupil.
Nou, aangezien dit een vakantieproject is, en de vakantie is vrij specifiek, laten we het dan iets verschrikkelijker maken.
Steek vervolgens het resulterende onderdeel in de bril.
Als het niet is geplaatst, moet het een beetje worden afgeschuind.
Vervolgens zetten we alles in elkaar.
Vervolgens verbinden we alle componenten volgens het volgende schema:
Alles is klaar, maar nu hebben we elke rit net opgestegen tot een willekeurige hoek, en in principe kun je het zo laten.
Maar weet je nog dat aan het begin van het artikel werd gesproken over het mechanisme en het coördinatensysteem? Het mechanisme roteert dus langs twee assen, maar niet langs die waarlangs het menselijk oog roteert. Ons doel is om zo'n mechanisme precies zo te laten gedragen als het menselijk oog. Op het eerste gezicht lijkt dit onmogelijk, maar je kunt proberen het coördinatensysteem weer normaal te maken, zodat je de pupil in elke gewenste positie kunt zetten.
We hebben dus twee hoeken, we duiden ze aan met X en Y.
Y is de kleine ooghoek en X is de draaihoek van het oog met 180 graden.
Om alle mogelijke posities te bereiken, moeten beide hoeken worden bestuurd en is er een specificiteit. Laten we beginnen met de eenvoudigste - cirkelvormige beweging met een maximale straal.
Maar het is niet zo eenvoudig als het leek. Daarom was het eerste wat de auteur deed een polair coördinatensysteem waarin je de rotatiehoek van het oog en de straal kunt instellen, dat wil zeggen het verwijderen van de pupil van het centrale punt 00.
In de bovenste halve cirkel werken we van de halve hoek Y tot de maximale waarde en in de onderste - van de minimum tot de helft. Nu kan de oogbeweging op een interessantere manier worden geprogrammeerd. De bewegingen zelf zijn willekeurig, maar al rond de omtrek.
Laten we nu alle elektronica solderen, alles is zoals in het diagram:
Ik probeer het aan te zetten.
Indicatie is. Nu verbergen we dit hele ding in een soort gebouw (in dit geval gebruikte de auteur een tick-to-tac-box).
Al onze cyberogen zijn klaar. Hier is zo'n grap.
Maar laten we doorgaan met ons theoretisch onderzoek en het poolcoördinatensysteem vertalen naar Cartesiaans, later zal ik begrijpen waarom.
Alles is hier eenvoudig, de atan2-functie helpt ons, die de hoek in radialen retourneert van –P tot P, en de hypot-functie, die de lengte van de hypotenusa in dezelfde twee coördinaten berekent, en de hypotenusa is de straal voor onze vorige functie.
En op zo'n eenvoudige manier kan ons experimentele onderwerp zijn oog nu precies richten waar we het nodig hebben (omhoog, omlaag, rechts, links).
Dus waarom is dit nodig? Dit is nodig om te kunnen toevoegen gyroscoopmet behulp waarvan het oog in dezelfde richting zal draaien als het hoofd, dat er waarschijnlijk nogal grappig uit zal zien. Eigenlijk is het project toegevoegd gyroscoop mpu6050, zo ziet het eruit in het diagram:
Wijzig de code, zorg ervoor dat de metingen van de gyroscoop het oog afbuigen. Natuurlijk door het filter.
Dus wat krijgen we uiteindelijk? Het oog is een beetje laat achter de draai van het hoofd, waardoor het effect ontstaat dat het naar rechts draait en naar je kijkt. Als gevolg hiervan is hier zo'n klein wiskundig project.
Firmware HIER. Bedankt voor je aandacht. Tot binnenkort!
Video van de auteur: