Table des matières:
- Étape 1: Ingrédients
- Étape 2: Construction d'Arduino
- Étape 3: Codage Arduino
- Étape 4: Facultatif: Écran LCD
- Étape 5: Pièces imprimées
- Étape 6: Emplacement
Vidéo: Moteur pas à pas à lumière contrôlée + support mural/support : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Ce support est utilisé pour abriter un moteur pas à pas contrôlé par Arduino, conçu pour contrôler automatiquement un rideau en fonction du niveau de lumière dans la pièce. Vous pouvez également ajouter un écran LCD pour imprimer le niveau de luminosité. L'équipement 3D est uniquement pour la démonstration, un véritable équipement peut être nécessaire pour une application pratique comme le rideau mais aussi toute autre application à laquelle vous pouvez penser.
Étape 1: Ingrédients
Pour démarrer ce projet, vous aurez besoin de;
- 2 chipsets Arduino- Un blindage de moteur Arduino- Un écran LCD Arduino- 1 Breadboard- 1 Moteur pas à pas bipolaire- 1 batterie D- 1 Résistance dépendante de la lumière - 1 Résistance 10k Ω- 10 fils mâle-mâle- 6 mâle- fils femelles - Accès à une imprimante 3D
Étape 2: Construction d'Arduino
Alignez d'abord le blindage du moteur avec les broches Arduino et une fois qu'elles sont alignées, placez-le fermement. Ensuite, attachez les fils du moteur pas à pas dans les broches 8, 9, 10 et 11 du blindage du moteur. Après cela, connectez la batterie D dans les fentes comme indiqué sur le schéma. Ensuite, vous voudrez obtenir les 6 fils (mâle à femelle) pour l'écran LCD et branchez-les dans l'autre unité Arduino comme indiqué dans le schéma de circuit. Ensuite, configurez le LDR comme indiqué ci-dessus, avec la résistance connectée à la ligne négative. Lors de l'ajout du LDR, du côté de la résistance, ajoutez les connexions A0 et du côté opposé, ajoutez 1 entrée 5V pour chaque carte que vous utilisez, donc si vous utilisez 2 cartes, vous voudrez que chacune d'elles ait une broche 5V et A0 allant au LDR.
Connectez tous les fils de manière à ce que ce soit le même que sur le schéma - 2 entrées vers le LDR - 2 sorties du LDR et une résistance se connectant à la terre - 8 fils vers l'écran LCD, 1 5V, 1 masse et 6 entrées - 4 fils se connectant au stepper- 2 connexions à la batterie- La terre de la planche à pain doit être connectée
Étape 3: Codage Arduino
Voici un exemple de code pour modifier l'état de l'équipement en fonction du LDR
C'est le code qui permettrait au projet de contrôler automatiquement un rideau. La photo ci-dessus explique les différents chemins à travers les instructions IF imbriquées en termes de rideau qui monte, descend ou reste où il se trouve. (cliquez sur l'image pour la voir en entier car il y a des problèmes de formatage)
#defineLDRA0//Définit la variable "LDR" sur la broche A0#include
constintstepsPerRevolution=200;//Lorsque le moteur pas à pas est activé, sa rotation complète est égale à 200 pas
SteppermyStepper(stepsPerRevolution, 8, 9, 10, 11); // Définit l'entrée du stepper comme les broches 8, 9, 10, 11
voidsetup(){myStepper.setSpeed(60);//Définit la vitesse à laquelle le moteur effectue une rotationpinMode(LDR, INPUT);//Définit la variable "LDR" comme entrée Serial.begin(9600);//Démarre une lecture en série }
voidloop(){intlightlevel=analogRead(LDR);//Définit la variable "lightlevel" comme une action qui lit la valeur de "LDR"Serial.print("Light Level: ");Serial.println(lightlevel);// Imprime la valeur de "lightlevel" avec la légende ci-dessus
/* Il y a maintenant une boucle qui détecte le niveau de lumière à chaque point du chemin * 3 options sont disponibles, monter, descendre, rester dans la même position* Elle est conçue pour que si le niveau de lumière reste le même, il reste le même, sinon ça va changer* c'est-à-dire si c'est 950, alors ça passe à 952, rien ne se passera, cependant si ça passait de 950 à 600 cela tirerait le rideau et vice versa * Chaque étape est signifiée par une lettre devant la marche pour savoir où elle se trouve dans la boucle via le moniteur série */
if(lightlevel>=900){Serial.println("A");// Quelle étape se trouve dans le loopmyStepper.step(3*stepsPerRevolution);//Le stepper fait 3 tours vers l'avant. S'il est négatif, il reculedelay(30000);// Le laisse là pendant 5 minutes intlightlevel=analogRead(LDR);// Définit la variable "lightlevel" comme la dernière lecture du LDRSerial.print("Light Level: ");//Imprime le texte devant la variable Serial.println(lightlevel)// Imprime la valeur du niveau de luminosité
if(lightlevel>=900){Serial.println("B");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println (niveau de luminosité);
if(lightlevel>=900){Serial.println("C");myStepper.step(3*-stepsPerRevolution);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: "); Serial.println(lightlevel);}
else{Serial.println("D");myStepper.step(3*-stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);}}
else{Serial.println("E");myStepper.step(3*-stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
if(lightlevel>=900){Serial.println("F");myStepper.step(0);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println (niveau de luminosité);}
else{Serial.println("G");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);}}
}
else{Serial.println("H");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
if(lightlevel>=900){Serial.println("I");myStepper.step(3*stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Série.println(niveau d'éclairage);
if(lightlevel>=900){Serial.println("J");myStepper.step(3*-stepsPerRevolution);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: "); Serial.println(lightlevel);}
else{Serial.println("K");myStepper.step(3*-stepsPerRevolution);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
}}
else{Serial.println("L");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
if(lightlevel>=900){Serial.println("M");myStepper.step(0);delay(500);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println (niveau de luminosité);}
else{Serial.println("N");myStepper.step(0);delay(10000);intlightlevel=analogRead(LDR);Serial.print("Light Level: ");Serial.println(lightlevel);
}}
}
}
Étape 4: Facultatif: Écran LCD
Cela imprimerait le niveau de lumière détecté par le LDR sur l'écran LCD.
#comprendre
-
//Ajoute la bibliothèque de cristaux liquides avec un code supplémentaire#define ldr A0 //Définit la variable "ldr" à la broche A0
LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // initialise la bibliothèque avec les numéros des broches de l'interface
voidsetup() { //code qui s'exécute une fois au startlcd.begin (16, 2); // configure le nombre de colonnes et de lignes de l'écran LCD respectivementpinMode(ldr, INPUT); // Définit le ldr comme entrée pinSerial.begin(9600); // Démarre la communication avec le moniteur série
}
voidloop() { //code qui sera répété en continuSerial.println(analogRead(ldr)); // Imprime la lecture que ldr prend (un nombre entre 0-1023) sur le moniteur sérielcd.setCursor(6, 0); // place le curseur sur la colonne 6, ligne 0lcd.print(analogRead(ldr)); // Imprime cette lecture sur l'écran LCDdelay(1000); // Retarde la commande suivante d'une seconde
}
Étape 5: Pièces imprimées
Utilisez les fichiers suivants pour imprimer le support et l'équipement. Vous pouvez personnaliser l'équipement à vos propres fins et vous pouvez utiliser le support pour le monter sur un mur ou comme écran. Comme l'engrenage 3D est faible, un vrai engrenage peut être utilisé comme substitut tant qu'il correspond au rideau qu'il contrôlerait.
Si l'engrenage imprimé en 3D doit être utilisé, l'une des dents de l'engrenage a été retirée afin qu'une vis de réglage puisse le fixer au moteur.
Les 2 pieds avant du support mural peuvent également être retirés s'il devait être monté sur un mur. Ils n'ont été ajoutés que pour qu'il se lève pendant que nous testions avec.
Étape 6: Emplacement
Maintenant que toutes les pièces sont prêtes, il est temps de commencer le placement final.
Tout d'abord, placez le moteur pas à pas dans la boîte fournie sur le support et placez l'engrenage sur l'axe Ensuite, déplacez les fils pour qu'ils passent derrière le support Enfin, placez l'arduino et la batterie derrière le support
Votre tableau devrait maintenant ressembler à celui illustré ci-dessus.
Toutes nos félicitations!
L'équipement peut être utilisé pour des rideaux automatisés ou toute autre chose que vous souhaitez contrôler par le LDR.
Vous avez terminé. Profitez de votre nouvelle création.
Conseillé:
Support mural pour IPad en tant que panneau de commande domotique, utilisant un aimant servocommandé pour activer l'écran : 4 étapes (avec photos)
Support mural pour IPad en tant que panneau de commande domotique, utilisation d'un aimant servocommandé pour activer l'écran : dernièrement, j'ai passé pas mal de temps à automatiser des choses dans et autour de ma maison. J'utilise Domoticz comme application domotique, voir www.domoticz.com pour plus de détails. Dans ma recherche d'une application de tableau de bord qui affiche toutes les informations Domoticz ensemble
Lumière de bouteille de support de nuit : 5 étapes
Night Stand Bottle Light: Ce projet est basé sur la veilleuse Cool LED de Scooter76. En plus de percer la bouteille pendant un bon moment depuis que j'essayais de faire attention à ne pas la briser, la partie circuit de ce projet n'a pris qu'environ 20 minutes. Lorsque vous percez un g
Support de chargeur mural : 8 étapes
Support de chargeur mural : un moyen sympa de réutiliser un calendrier et de créer un support pour charger votre téléphone portable. Prend 15 min. devant la télévision:)
Support mural/Dock de chargement pour iPhone : 4 étapes
Support mural/dock de chargement pour iPhone : créez un support mural de chargement de bricolage pour votre iPhone/iPod à l'aide du chargeur mural, du câble USB et d'une bouteille de shampoing coupée. Ce Instructable a été présenté comme un projet de 5 minutes dans la section DIY de Popular Science. Vous aurez besoin de : Une bouteille de shampoing (ceci o
Refroidisseur / support pour ordinateur portable à coût zéro (pas de colle, pas de perçage, pas d'écrous et de boulons, pas de vis): 3 étapes
Refroidisseur / support pour ordinateur portable à coût zéro (pas de colle, pas de perçage, pas d'écrous et de boulons, pas de vis) : MISE À JOUR : VEUILLEZ VOTEZ POUR MON INSTRUCTIBLE, MERCI ^_^ VOUS POUVEZ AUSSI AIMER VOTER POUR MON AUTRE CONCOURS ENTRÉE SUR www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ OU PEUT-ÊTRE VOTER POUR MON MEILLEUR AMI