Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg jobber som CNC -operatør, og jeg synes jeg har en veldig kul jobb, men jeg ville bevise for meg selv at jeg er i stand til å lede mine egne prosjekter. Jeg studerte kontrollteknologi ved universitetet, men jeg har ikke mulighet til å praktisere det på jobben, så jeg bestemte meg for å fortsette på en eller annen måte. Det var veldig spennende å oppdage at teknologi er så tilgjengelig i dag. Jeg vil bygge roboter i fremtiden, og jeg tenkte at øyet var en god begynnelse.
Trinn 1: Dette er det du trenger
Materialer:
- 2 hvite bordtennisballer
- Vannkjølerør med rundt hode
Verktøy:
- Varm limpistol
- rund kvern
- sag
- Hammer
Trinn 2: Øynene
Skjær kulene, men ikke i to. La den ene delen være mye større enn den andre, vi kutter kulene for å kunne sette noe inni, og vi trenger kantene for å bore hullene som bidrar til å kontrollere øynene.
Mal og bor hullene.
Trinn 3: Fre Rotation
Jeg ville ikke ha et øye som bare beveger seg fra den ene siden til den andre. Jeg så mange instruktører, men klarte ikke å forstå hvordan jeg skulle gjøre det mulig. Til slutt fant jeg en video på You-Tube, men jeg ville ikke kjøpe. Jeg gjorde et første forsøk med å bruke tre og metall fra klips. Jeg festet pinnene med limpistolen, men jeg var ikke fornøyd med resultatene. Som industriarbeider har jeg tilgang til mange ting. Jeg observerte at Round Head Water Cooling Pipe ser ut akkurat som det jeg trengte, men den var for stram for å rotere fritt. Jeg freset inne i seksjonen og så var delen min klar til å rotere fritt.
Trinn 4: Basen
Du kan bruke en hammer til å bøye sokkelen, en benkeskrue hjelper til med å få den perfekte 90 °. Sørg for å bore hullet før du bøyer, det er mye lettere.
Trinn 5: Kontrollere øynene
Trinn 6: Programmet
Jeg er veldig ny, så jeg trengte litt hjelp med programmet, du kan se prosjektet her. Min kilde
Kopier og lim inn programmet i Arduino -miljøet.
#inkludere
#define pi 3.14159265358979323846 #define twopi (2*pi) float circleradius = 50; // 50 på hver side - ikke gjør noen av dine maksimale grenseverdier flytende trinnnummer = 360; flytetre;
#include // inkluderer servobibliotek for servokontroll
Servo horServo; // servo for venstre/høyre bevegelse Servo vertServo; // servo for opp/ned bevegelse
byte randomhor; // definere tilfeldig horisontal posisjonsvariabel byte randomvert; // definere tilfeldig vertikal posisjonsvariabel int randomdelay; // definere tilfeldig forsinkelsesvariabel
#define HLEFTLIMIT 40 // definer venstre grense på horisontal (venstre/høyre) servo #definer HRIGHTLIMIT 80 // definer høyre grense på horisontal (venstre/høyre) servo
#define VTOPLIMIT 70 // definere toppgrense på vertikal (opp/ned) servo #definere VBOTLIMIT 110 // definere bunngrense på horisontal (opp/ned) servo
ugyldig oppsett () {horServo.attach (8); // horisontal servo på pinne 8 vertServo.attach (9); // vertikal servo på pin 9 randomSeed (analogRead (0)); // Lag noen tilfeldige verdier ved hjelp av en ikke -tilkoblet analog pin
stepangle = twopi/stepnumber; for (int i = 0; i
x = kart (x, 1-circleradius, circleradius, 0, 2*circleradius); y = kart (y, 1-circleradius, circleradius, 0, 2*circleradius);
horServo.write (x); // skriv til den horisontale servoen vertServo.write (y); // skriv til den horisontale servoen
forsinkelse (10); }}
void loop () {randomhor = random (HLEFTLIMIT, HRIGHTLIMIT); // sett grenser randomvert = tilfeldig (VTOPLIMIT, VBOTLIMIT); // angi grenser randomdelay = random (1000, 4000); // beveger seg hvert 1 til 4 sekund
horServo.write (randomhor); // skriv til den horisontale servoen vertServo.write (randomvert); // skrive til den vertikale servoforsinkelsen (randomdelay); // forsink en tilfeldig tid (innenfor verdiene angitt ovenfor)}