Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Pracuji jako operátor CNC a myslím si, že mám velmi dobrou práci, ale chtěl jsem sobě dokázat, že jsem schopen vést vlastní projekty. Vystudoval jsem řídicí techniku na univerzitě, ale nemám možnost to praktikovat v práci, a tak jsem se rozhodl, že se nějakým způsobem udržím. Bylo velmi vzrušující zjistit, že technologie je dnes tak dostupná. V budoucnu chci stavět roboty a myslel jsem si, že oko je dobrý začátek.
Krok 1: To je to, co potřebujete
Materiály:
- 2 bílé pingpongové míčky
- Vodní chladicí trubka s kulatou hlavou
Nástroje:
- Horká lepicí pistole
- kulatý mlýn
- viděl
- Kladivo
Krok 2: Oči
Nakrájejte kuličky, ale ne na poloviny. Nechte jednu část mnohem větší než druhou, rozstříháme koule, abychom do ní mohli něco vložit a potřebujeme hrany k vyvrtání otvorů, které pomáhají ovládat oči.
Natřete a vyvrtejte otvory.
Krok 3: Pá rotace
Nechtěl jsem oko, které se pohybuje pouze z jedné strany na druhou. Viděl jsem mnoho instrukcí, ale nebyl jsem schopen pochopit, jak to umožnit. Nakonec jsem našel video na You-Tube, ale nechtěl jsem koupit. Udělal jsem první pokus pomocí dřeva a kovu ze spon. Zajistil jsem kolíky lepicí pistolí, ale nebyl jsem spokojen s výsledky. Jako průmyslový pracovník mám přístup k mnoha věcem. Všiml jsem si, že vodní chladicí trubka s kulatou hlavou vypadá přesně jako to, co jsem potřeboval, ale bylo to těsné, aby se točilo. Frézoval jsem uvnitř sekce a pak byla moje část připravena volně se otáčet.
Krok 4: Základna
K ohýbání základny můžete použít kladivo, svěrák na lavičce pomáhá dosáhnout perfektních 90 °. Před ohnutím nezapomeňte vyvrtat otvor, je to mnohem jednodušší.
Krok 5: Ovládání očí
Krok 6: Program
Jsem velmi nový, takže jsem potřeboval pomoc s programem, projekt si můžete prohlédnout zde. Můj zdroj
Zkopírujte a vložte program do svého prostředí Arduino.
#zahrnout
#define pi 3.14159265358979323846 #define twopi (2*pi) float circleradius = 50; // 50 na každé straně - nezvyšujte žádné ze svých maximálních mezních hodnot float stepnumber = 360; float stepangle;
#include // include servo library for servo control
Servo horServo; // servo pro pohyb vlevo/vpravo Servo vertServo; // servo pro pohyb nahoru/dolů
byte randomhor; // definujte náhodnou proměnnou horizontální polohy byte randomvert; // definujte náhodnou proměnnou vertikální polohy int randomdelay; // definujte proměnnou náhodného zpoždění
#define HLEFTLIMIT 40 // definovat levý limit na horizontální (levé/pravé) servo #define HRIGHTLIMIT 80 // definovat pravý limit na horizontální (levé/pravé) servo
#define VTOPLIMIT 70 // definovat horní limit na svislé (nahoru/dolů) servo #define VBOTLIMIT 110 // definovat spodní limit na horizontální (nahoru/dolů) servo
neplatné nastavení () {horServo.attach (8); // horizontální servo na pinu 8 vertServo.attach (9); // vertikální servo na pinu 9 randomSeed (analogRead (0)); // Vytvořte nějaké náhodné hodnoty pomocí nespojeného analogového pinu
stepangle = twopi/stepnumber; pro (int i = 0; i
x = mapa (x, 1-circleradius, circleradius, 0, 2*circleradius); y = mapa (y, 1-circleradius, circleradius, 0, 2*circleradius);
horServo.write (x); // zapis na horizontální servo vertServo.write (y); // zápis na horizontální servo
zpoždění (10); }}
void loop () {randomhor = random (HLEFTLIMIT, HRIGHTLIMIT); // nastavení limitů randomvert = random (VTOPLIMIT, VBOTLIMIT); // nastavit limity randomdelay = random (1000, 4000); // pohybuje se každých 1 až 4 sekundy
horServo.write (randomhor); // zápis na horizontální servo vertServo.write (randomvert); // zápis na svislé zpoždění serva (náhodné zpoždění); // zpoždění náhodného množství času (v rámci hodnot nastavených výše)}