Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Pracuję jako operator CNC i uważam, że mam bardzo fajną pracę, ale chciałem sobie udowodnić, że potrafię prowadzić własne projekty. Studiowałem technikę sterowania na uniwersytecie, ale nie mam możliwości praktykowania tego w pracy, więc postanowiłem jakoś się utrzymać. Odkrycie, że technologia jest dziś tak dostępna, było bardzo ekscytujące. W przyszłości chcę budować roboty i pomyślałem, że oko to dobry początek.
Krok 1: To jest to, czego potrzebujesz
Materiały:
- 2 białe piłki do ping-ponga
- Rura do chłodzenia wodą z okrągłą głowicą
Narzędzia:
- Pistolet na gorący klej
- młyn okrągły
- Piła
- Młotek
Krok 2: Oczy
Pokrój kulki, ale nie na połówki. Niech jedna część będzie znacznie większa od drugiej, wycinamy kulki, aby móc coś włożyć do środka i potrzebujemy krawędzi do wywiercenia otworów, które pomagają kontrolować oczy.
Malować i wiercić otwory.
Krok 3: Pt Rotacja
Nie chciałem, żeby oko poruszało się tylko z jednej strony na drugą. Widziałem wiele instrukcji, ale nie byłem w stanie zrozumieć, jak to umożliwić. W końcu znalazłem film na You-Tube, ale nie chciałem kupować. Pierwszą próbę wykonałem z drewna i metalu z klipsów. Zabezpieczyłem kołki pistoletem do kleju, ale nie byłem zadowolony z wyników. Jako pracownik przemysłowy mam dostęp do wielu rzeczy. Zaobserwowałem, że rura do chłodzenia wodą z okrągłą głowicą wygląda dokładnie tak, jak potrzebowałem, ale była zbyt ciasna, aby swobodnie się obracać. Frezowałem wewnątrz sekcji, a następnie moja część była gotowa do swobodnego obracania.
Krok 4: Baza
Możesz użyć młotka do wygięcia podstawy, imadło stołowe pomaga uzyskać idealne 90°. Pamiętaj, aby wywiercić otwór przed gięciem, jest to znacznie łatwiejsze.
Krok 5: Kontrolowanie oczu
Krok 6: Program
Jestem bardzo nowy, więc potrzebowałem pomocy z programem, możesz zobaczyć projekt tutaj. Moje źródło
Skopiuj i wklej program w swoim środowisku Arduino.
#włączać
#define pi 3.14159265358979323846 #define twopi (2*pi) float circleradius = 50; //50 z każdej strony - nie rób więcej żadnych maksymalnych wartości granicznych float liczba_krok = 360; pływający krok;
#include //include bibliotekę serwo do sterowania serwo
Serwo horServo; //serwo dla ruchu lewo/prawo Servo vertServo; //serwo do ruchu góra/dół
bajt losowyhor; //zdefiniuj losową pozycję poziomą zmienna byte randomvert; //zdefiniuj losową zmienną pozycji pionowej int randomdelay; //zdefiniuj losową zmienną opóźnienia
#define HLEFTLIMIT 40 //definiowanie lewego limitu serwa poziomego (lewo/prawo) #define HRIGHTLIMIT 80 //definiowanie prawego limitu serwa poziomego (lewo/prawo)
#define VTOPLIMIT 70//zdefiniuj górny limit serwa pionowego (góra/dół) #define VBOTLIMIT 110 //zdefiniuj dolny limit serwa poziomego (góra/dół)
void setup() { horServo.attach(8); //serwo poziome na pinie 8 vertServo.attach(9); //pionowe serwo na pinie 9 randomSeed(analogRead(0)); //Utwórz losowe wartości za pomocą niepodłączonego pinu analogowego
kąt kroku = dwapi/liczba kroku; for(int i = 0; i
x = mapa(x, 1-promień okręgu, promień okręgu, 0, 2*promień okręgu); y = map(y, 1-promień okręgu, promień okręgu, 0, 2*promień okręgu);
horServo.write(x); //zapis do serwa poziomego vertServo.write(y); //pisz do serwa poziomego
opóźnienie(10); } }
void loop() { randomhor = random(HLEFTLIMIT, HRIGHTLIMIT); //ustaw limity randomvert = random(VTOPLIMIT, VBOTLIMIT); //ustaw limity randomdelay = random(1000, 4000); //porusza się co 1 do 4 sekund
horServo.write(losowyhor); //zapis do serwa poziomego vertServo.write(randomvert); //zapis do pionowego serwomechanizmu delay(randomdelay); //opóźnienie o losową ilość czasu (w ramach wartości ustawionych powyżej) }