Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Je travaille comme opérateur CNC et je pense que j'ai un travail très sympa mais je voulais me prouver que je suis capable de mener mes propres projets. J'ai étudié la technologie de contrôle à l'université, mais je n'ai pas l'opportunité de pratiquer cela au travail, alors j'ai décidé de continuer d'une manière ou d'une autre. C'était très excitant de découvrir que la technologie est si accessible aujourd'hui. Je veux construire des robots dans le futur et je pensais que l'œil était un bon début.
Étape 1: C'est ce dont vous avez besoin
Matériaux:
- 2 balles de ping-pong blanches
- Tuyau de refroidissement par eau à tête ronde
Outils:
- Pistolet à colle chaude
- moulin rond
- vu
- Marteau
Étape 2: les yeux
Coupez les boules mais pas en deux. Soit une partie beaucoup plus grosse que l'autre, nous coupons les boules pour pouvoir mettre quelque chose à l'intérieur et nous avons besoin des bords pour percer les trous qui aident à contrôler les yeux.
Peignez et percez les trous.
Étape 3: Rotation du vendredi
Je ne voulais pas d'un œil qui ne bouge que d'un côté à l'autre. J'ai vu beaucoup d'instructables mais je n'ai pas pu comprendre comment rendre cela possible. Finalement j'ai trouvé une vidéo sur You-Tube mais je ne voulais pas l'acheter. J'ai fait un premier essai en utilisant du bois et du métal à partir de clips. J'ai sécurisé les broches avec le pistolet à colle mais je n'étais pas satisfait du résultat. En tant qu'ouvrier industriel, j'ai accès à beaucoup de choses. J'ai observé que le tuyau de refroidissement par eau à tête ronde ressemblait exactement à ce dont j'avais besoin, mais il était trop serré pour tourner librement. J'ai fraisé à l'intérieur de la section, puis ma pièce était prête à tourner librement.
Étape 4: La base
Vous pouvez utiliser un marteau pour plier la base, un étau d'établi aide à obtenir le 90° parfait. Assurez-vous de percer le trou avant de plier, c'est beaucoup plus facile.
Étape 5: Contrôler les yeux
Étape 6: Le programme
Je suis très nouveau donc j'avais besoin d'aide avec le programme, vous pouvez voir le projet ici. Ma source
Copiez et collez le programme dans votre environnement Arduino.
#comprendre
#define pi 3.14159265358979323846 #define twopi (2*pi) float circleradius = 50; //50 de chaque côté - ne faites plus aucune de vos valeurs limites maximales float stepnumber = 360; flotteur stepangle;
#include //inclut la bibliothèque d'asservissement pour le contrôle d'asservissement
Servo-horServo; //servo pour mouvement gauche/droit Servo vertServo; //servo pour le mouvement haut/bas
octet au hasard; //définir la position horizontale aléatoire variable byte randomvert; //définir la variable de position verticale aléatoire int randomdelay; //définir une variable de délai aléatoire
#define HLEFTLIMIT 40 //définir la limite gauche sur le servo horizontal (gauche/droite) #define HRIGHTLIMIT 80 //définir la limite droite sur le servo horizontal (gauche/droit)
#define VTOPLIMIT 70//définir la limite supérieure sur le servo vertical (haut/bas) #define VBOTLIMIT 110 //définir la limite inférieure sur le servo horizontal (haut/bas)
void setup() { horServo.attach(8); //servo horizontal sur la broche 8 vertServo.attach(9); //servo vertical sur la broche 9 randomSeed(analogRead(0)); //Créer des valeurs aléatoires à l'aide d'une broche analogique non connectée
stepangle = twopi/stepnumber; for(int i = 0; i
x = map(x, 1-circleradius, circleradius, 0, 2*circleradius); y = map(y, 1-circleradius, circleradius, 0, 2*circleradius);
horServo.write(x); //écrire sur le servo horizontal vertServo.write(y); //écrire sur le servo horizontal
retard(10); } }
boucle vide() { randomhor = random(HLEFTLIMIT, HRIGHTLIMIT); //définir les limites randomvert = random(VTOPLIMIT, VBOTLIMIT); //définir les limites randomdelay = random(1000, 4000); // se déplace toutes les 1 à 4 secondes
horServo.write(randomhor); //écrire sur le servo horizontal vertServo.write(randomvert); //écrire dans le délai d'asservissement vertical (randomdelay); //retarder un laps de temps aléatoire (dans les valeurs définies ci-dessus) }