Table des matières:
- Étape 1: le plan
- Étape 2: Liste des composants
- Étape 3: Conception du PCB
- Étape 4: Mettre les choses ensemble
- Étape 5: Travailler
- Étape 6: futures mises à niveau
- Étape 7: Profitez
Vidéo: Timelapse contrôlé par le mouvement : 7 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Les timelapses sont super ! Ils nous aident à jeter un coup d'œil dans le monde lent dont nous pourrions oublier pour en apprécier la beauté. Mais parfois, une vidéo timelapse stable peut être ennuyeuse ou il se passe tellement de choses autour qu'un seul angle n'est pas suffisant. Pimentons-le !
Dans ce Instructable, je vais vous montrer comment j'ai fait un appareil qui ajoutera du mouvement à votre timelapse. Commençons!
Étape 1: le plan
Je voulais que la caméra se déplace dans deux directions, c'est-à-dire dans l'axe horizontal (X) et vertical (Y). Pour cela, j'aurai besoin de deux moteurs.
Nous devrions pouvoir choisir la position de départ et d'arrêt pour les deux axes.
Le mouvement des moteurs serait tel qu'après chaque photo les axes devraient tourner de 1 degré.
Pour obtenir un contrôle aussi précis, j'utiliserai des servomoteurs.
En outre, nous devrions être en mesure de définir l'intervalle de temps.
Je voulais qu'il soit portable, j'ai donc décidé de le faire fonctionner sur une batterie LiPo, ce qui signifie qu'un circuit de charge et de suralimentation sera nécessaire.
Et enfin, le cerveau pour contrôler tout cela sera Arduino. L'ATMega328p sera utilisé comme microcontrôleur autonome.
Je suis allé avec une caméra GoPro car elle est petite et il est facile de faire des timelapses. Vous pouvez aller avec n'importe quel autre petit appareil photo ou votre téléphone portable.
Étape 2: Liste des composants
1x ATmega328p (avec chargeur de démarrage Arduino)
2x MG995 Servomoteur
1x MT3608 Boost Convertisseur
1x module de charge de batterie LiPo TP4056
1x commutateur SPDT
1x cristal 16 MHz
Condensateur 2x 22pF
2x 10k Résistance
1x potentiomètre (n'importe quelle valeur)
1x bouton poussoir (normalement ouvert)
Optionnel:
Imprimante 3D
Étape 3: Conception du PCB
Pour rendre le circuit aussi petit que possible, j'ai opté pour une carte de circuit imprimé. Vous pouvez graver le tableau vous-même à la maison ou laisser les professionnels faire le travail pour vous et c'est ce que j'ai fait.
Lorsque tout fonctionne correctement sur la maquette, nous pouvons commencer par le processus de conception de PCB. J'ai choisi EasyEDA pour la conception car cela facilite les choses pour les débutants comme moi.
Vérifiez, vérifiez et vérifiez! Assurez-vous de ne rien manquer. Une fois que vous êtes complètement sûr, cliquez sur Générer un fichier de fabrication pour télécharger les fichiers Gerber ou vous pouvez le commander directement auprès de JLCPCB pour seulement 2 $ en utilisant l'option ci-dessous.
Une fois que vous avez reçu/fabriqué votre PCB, il est temps de le remplir. Gardez votre schéma de circuit prêt et commencez à souder les composants selon le marquage sérigraphié.
Nettoyez le PCB après avoir soudé avec de l'alcool propylique iso pour éliminer les résidus de flux.
Étape 4: Mettre les choses ensemble
Vous n'aurez pas besoin d'une imprimante 3D sophistiquée. Les pièces peuvent être construites très facilement avec des outils appropriés. J'ai récemment acheté une imprimante 3D et j'avais hâte de l'utiliser dans mon projet. J'ai trouvé certaines des parties de Thingiverse.
Support GoPro:
Corne servo:
Soudez les fils à l'interrupteur d'alimentation, au potentiomètre et au bouton-poussoir avec des embases femelles et connectez-les aux embases mâles sur le PCB.
Téléchargez et ouvrez le fichier joint dans Arduino IDE et téléchargez le code sur votre Arduino. Après avoir téléchargé le code, retirez le CI de la carte Arduino et insérez-le sur votre PCB.
/*Auteur: IndoorGeek YouTube: www.youtube.com/IndoorGeek Merci pour le téléchargement. J'espère que le projet vous plaira. */
#comprendre
Servo xServo;
Servo yServo;
int potPin = A0;
valeur int, xStart, xStop, yStart, yStop; bouton int = 2; long timeInterval non signé;
void setup() {
pinMode(bouton, INPUT); xServo.attach(3); yServo.attach(4); }
boucle vide() {
xAxe(); retard(1000); xDébut = val; Axe y(); retard(1000); yDébut = val; xAxe(); retard(1000); xStop = val; Axe y(); retard(1000); yStop = val; setTimeInterval(); retard(1000); timelapseStart(); }
void Axex(){
while(digitalRead(button) != HIGH){ val = analogRead(A0); val = carte(val, 0, 1023, 0, 180); xServo.write(val); } }
void axe y(){
while(digitalRead(button) != HIGH){ val = analogRead(A0); val = carte(val, 0, 1023, 0, 180); yServo.write(val); } }
void setTimeInterval(){ //Modifier les intervalles de temps en fonction des paramètres de timelapse de votre appareil photo
while(digitalRead(button) != HIGH){ val = analogRead(A0); if(val>=0 && val=171 && val=342 && val=513 && val=684 && val=855 && val<1023){ timeInterval = 60000L; } } }
void timelapseStart(){
long lastMillis non signé = 0; xServo.write(xStart); yServo.write(yStart); while(xStart != xStop || yStart != yStop){ if(millis() - lastMillis > timeInterval){ if(xStart xStop){ xServo.write(xStart); lastMillis = millis(); xDémarrer--; } if(yStart xStop){ yServo.write(yStart); lastMillis = millis(); yDébut--; } } } }
Étape 5: Travailler
Allumez l'interrupteur principal.
L'axe X sera actif. Tournez le pot jusqu'à la position à partir de laquelle vous souhaitez démarrer le timelapse. Appuyez sur le bouton poussoir Select pour confirmer la position de départ. Après cela, l'axe Y sera actif. Faites de même pour sélectionner la position de départ de l'axe Y.
Répétez la procédure ci-dessus pour la position d'arrêt des axes X et Y.
Maintenant, à l'aide du pot, sélectionnez l'intervalle de temps entre chaque tir. La rotation du pot est divisée en 6 parties pour des intervalles de 1 s, 2 s, 5 s, 10 s, 30 s et 60 s. Vous pouvez modifier les intervalles dans la fonction setTimeInterval() comme indiqué dans l'image. Appuyez sur le bouton poussoir Sélectionner pour le confirmer.
Les servos arriveront à leur position de départ et se déplaceront de 1 degré après l'intervalle de temps.
Séquence:
- Définir la position de départ de l'axe X
- Définir la position de départ de l'axe Y
- Définir la position d'arrêt de l'axe X
- Définir la position d'arrêt de l'axe Y
- Définir l'intervalle de temps
Étape 6: futures mises à niveau
1) Actuellement, en raison de 1 prise de vue/degré, le plus grand nombre de photos que nous pouvons obtenir est de 180 car les servos peuvent pivoter de 0 à 180 degrés. L'ajout d'engrenages augmentera la résolution. Ainsi, nous aurons plus de prises de vue et donc des timelapses fluides. Je suis assez à l'aise avec l'électronique mais pas tellement avec les trucs mécaniques. Dans l'attente de l'améliorer.
2) Le potentiomètre peut être remplacé par un encodeur rotatif.
3) Contrôle sans fil, peut-être ?!
Il y a beaucoup à apprendre
Étape 7: Profitez
Merci d'être resté jusqu'au bout. J'espère que vous aimez tous ce projet et que vous avez appris quelque chose de nouveau aujourd'hui. Faites-moi savoir si vous en faites un pour vous-même. Abonnez-vous à ma chaîne YouTube pour plus de projets à venir. Merci une fois de plus!
Conseillé:
Contrôle gestuel simple - Contrôlez vos jouets RC avec le mouvement de votre bras : 4 étapes (avec photos)
Contrôle gestuel simple - Contrôlez vos jouets télécommandés avec le mouvement de votre bras : Bienvenue dans mon « ible » #45. Il y a quelque temps, j'ai créé une version RC entièrement fonctionnelle de BB8 à l'aide de pièces Lego Star Wars… https://www.instructables.com/id/Whats-Inside-My-R… Quand j'ai vu à quel point c'était cool le Force Band made by Sphero, je me suis dit : "Ok, je c
Un bras robotique simple contrôlé par le mouvement réel de la main : 7 étapes (avec photos)
Un bras robotique simple contrôlé par le mouvement réel de la main : il s'agit d'un bras robotique DOF très simple pour les débutants. Le bras est contrôlé par Arduino. Il est connecté à un capteur qui est fixé sur la main de l'opérateur. Par conséquent, l'opérateur peut contrôler le coude du bras en pliant son propre mouvement de coude
Bande LED activée par capteur de mouvement avec minuterie : 6 étapes (avec photos)
Bande LED activée par capteur de mouvement avec minuterie : Salut à tous ! Je suis vraiment heureux d'écrire un autre instructable en ce moment. Ce projet a vu le jour lorsque j'ai été contacté par un collègue instructable-er (?!) (David @dducic) il y a plusieurs mois, me demandant de l'aide à la conception. Voici donc la spécification d'origine : &q
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : 6 étapes (avec photos)
Fauteuil roulant contrôlé par vision par ordinateur avec mannequin : projet de AJ Sapala, Fanyun Peng, Kuldeep Gohel, Ray LC.Instructable par AJ Sapala, Fanyun Peng, Ray LC.Nous avons créé un fauteuil roulant avec des roues contrôlées par une carte Arduino, qui est à son tour contrôlée par un raspberry pi exécutant openCV via Processing
Sortie à contrôle de mouvement - À partir d'une lumière à détection de mouvement : 6 étapes
Sortie à contrôle de mouvement - À partir d'une lampe à détection de mouvement : Imaginez que vous êtes un trick-or-treater allant à la maison la plus effrayante du bloc. Après avoir dépassé toutes les goules, fantômes et cimetières, vous arrivez enfin au dernier chemin. Vous pouvez voir les bonbons dans un bol devant vous ! Mais soudain, un gho