Tabla de contenido:
- Paso 1: ingredientes
- Paso 2: Construcción de Arduino
- Paso 3: codificación de Arduino
- Paso 4: Opcional: pantalla LCD
- Paso 5: Piezas impresas
- Paso 6: Colocación
Video: Motor paso a paso con control de luz + soporte de pared / soporte: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este soporte se utiliza para albergar un motor paso a paso controlado por Arduino, diseñado para controlar automáticamente una cortina de acuerdo con el nivel de luz en la habitación. También puede agregar una pantalla LCD para imprimir el nivel de luz. El equipo 3D es solo para demostración, es posible que se necesite un equipo real para una aplicación práctica, como la cortina, pero también cualquier otra aplicación que se le ocurra.
Paso 1: ingredientes
Para comenzar este proyecto necesitará;
- 2 conjuntos de chips Arduino- Un protector de motor Arduino- Una pantalla LCD Arduino- 1 Placa de pruebas- 1 Motor paso a paso bipolar- 1 batería D- 1 Resistencia dependiente de la luz - 1 Resistencia de 10k Ω- 10 cables macho-macho- 6 macho- cables hembra - Acceso a una impresora 3D
Paso 2: Construcción de Arduino
Primero alinee el escudo del motor con los pines Arduino y una vez que estén alineados, colóquelo firmemente. A continuación, conecte los cables del motor paso a paso en los pines 8, 9, 10 y 11 del blindaje del motor. Luego, conecte la batería D en las ranuras como se muestra en el diagrama. A continuación, querrá obtener los 6 cables (macho a hembra) para la pantalla LCD y conéctelos a la otra unidad Arduino como se muestra en el diagrama del circuito. Luego configure el LDR como se muestra arriba, con la resistencia conectada a la fila negativa. Cuando agregue el LDR, en el lado con la resistencia, agregue las conexiones A0 y en el lado opuesto, agregue 1 entrada de 5V para cada placa que esté usando, por lo que si está usando 2 placas, querrá que cada una de ellas tenga un pin de 5V y A0 que vaya al LDR.
Conecte todos los cables para que sean iguales al diagrama- 2 entradas al LDR- 2 salidas del LDR y una resistencia que se conecta a tierra- 8 cables al LCD, 1 5V, 1 tierra y 6 entradas- 4 cables que se conectan al paso a paso- 2 conexiones a la batería- La tierra de la placa de pruebas debe estar conectada
Paso 3: codificación de Arduino
Aquí hay un código de muestra para cambiar el estado del equipo según el LDR
Este es el código que permitiría al proyecto controlar automáticamente una cortina. La foto de arriba explica los diferentes caminos a través de las declaraciones IF anidadas en términos de que la cortina sube, baja o se queda donde está. (haga clic en la imagen para verla en su totalidad ya que hay problemas de formato)
# defineLDRA0 // Define la variable "LDR" en el pin A0 # include
constintstepsPerRevolution = 200; // Cuando se activa el motor paso a paso, su rotación completa es igual a 200 pasos
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Define la entrada al paso a paso como pines 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Establece la rapidez con la que el motor realiza una rotaciónpinMode (LDR, INPUT); // Define la variable "LDR" como entrada Serial.begin (9600); // Inicia una lectura en serie }
voidloop () {intlightlevel = analogRead (LDR); // Define la variable "lightlevel" como una acción que lee el valor de "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Imprime el valor de "nivel de luz" con el título de arriba
/ * Ahora hay un bucle que detecta el nivel de luz en cada punto del camino * Hay 3 opciones disponibles, subir, bajar, permanecer en la misma posición * Está diseñado para que si el nivel de luz permanece igual, permanece igual, si no cambiará * es decir, si es 950, luego pasa a 952, no pasará nada, sin embargo si pasara de 950 a 600 se levantaría la cortina y viceversa * Cada paso se indica con una letra delante del escalón para rastrear dónde se encuentra en el bucle a través del monitor en serie * /
if (lightlevel> = 900) {Serial.println ("A"); // Qué paso está en el loopmyStepper.step (3 * stepsPerRevolution); // El stepper da 3 vueltas hacia adelante. Si es negativo, retrocede retardo (30000); // Lo deja ahí por 5 minutos intlightlevel = analogRead (LDR); // Define la variable "lightlevel" como la última lectura de LDRSerial.print ("Light Level:"); // Imprime el texto delante de la variable Serial.println (lightlevel) // Imprime el valor del nivel de luz
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nivel de luz);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Nivel de luz:"); Serial.println (nivel de luz);}
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 (nivel de luz);}
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:"); Serial.println (nivel de luz);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Nivel de luz:"); Serial.println (nivel de luz);}
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 (nivel de luz);}
else {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
Paso 4: Opcional: pantalla LCD
Esto imprimiría el nivel de luz detectado por el LDR en la pantalla LCD.
#incluir
-
// Agrega la biblioteca de cristal líquido con código adicional # define ldr A0 // Define la variable "ldr" en el pin A0
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // inicializa la biblioteca con los números de los pines de la interfaz
voidsetup () {// código que se ejecuta una vez en startlcd.begin (16, 2); // configura el número de columnas y líneas de la pantalla LCD respectivamente pinMode (ldr, INPUT); // Define el ldr como una entrada pinSerial.begin (9600); // Inicia la comunicación con el monitor serial
}
voidloop () {// código que se repetirá continuamenteSerial.println (analogRead (ldr)); // Imprime la lectura que recoge el ldr (un número entre 0-1023) en el monitor serie lcd.setCursor (6, 0); // coloca el cursor en la columna 6, línea 0lcd.print (analogRead (ldr)); // Imprime esta lectura en la pantalla LCD demora (1000); // Retrasa el siguiente comando por un segundo
}
Paso 5: Piezas impresas
Utilice los siguientes archivos para imprimir el soporte y el equipo. Puede personalizar el equipo para sus propios fines y puede usar el soporte para montarlo en una pared o como una pantalla. Como el equipo 3D es débil, se puede usar un equipo real como sustituto, siempre que coincida con la cortina que controlaría.
Si se va a utilizar el engranaje impreso en 3D, se ha quitado uno de los dientes del engranaje para que un tornillo de fijación pueda fijarlo al motor.
Las 2 patas delanteras del soporte de pared también se pueden quitar si se va a montar en una pared. Solo se agregaron para que se mantuviera en pie mientras estábamos probando con él.
Paso 6: Colocación
Ahora que todas las piezas están listas, es hora de comenzar con la colocación final.
En primer lugar, coloque el motor paso a paso en la caja provista en el soporte y coloque el engranaje en el eje Luego, mueva los cables para que vayan detrás del soporte Finalmente, coloque el arduino y la batería detrás del soporte
Su tablero ahora debería verse como el que se muestra arriba.
¡Felicidades!
El equipo se puede utilizar para cortinas automáticas o cualquier otra cosa que desee que controle el LDR.
Estás listo. Disfrute de su nueva creación.
Recomendado:
Soporte para iPad para soporte de micrófono de PVC: 4 pasos
Soporte para iPad para soporte de micrófono De PVC: muchos músicos ahora usan iPads como hojas de letras / tablas de acordes. Los titulares comerciales, como el iKlip, pueden costar $ 30 o más. Hice este por $ 5. Quiero dar crédito a replayerreb, cuyo soporte para iPad para usar en tiendas de campaña fue la inspiración
Soporte para portátil con soporte en ángulo: 7 pasos
Soporte para computadora portátil con soporte en ángulo: Nunca me sentí tan feliz con usar una computadora portátil sobre el escritorio: es realmente malo para tu postura. Miré los soportes para portátiles y hay algunos buenos, pero caros y tienen características como inclinación y giro que no me sirven para nada. He probado bo
Soporte de cargador de pared: 8 pasos
Soporte para cargador de pared: una forma genial de reutilizar un calendario y hacer un soporte para que su teléfono celular se cargue. Tarda 15 min. en frente de la TV:)
Otro soporte para portátil (otro Soporte Para Notebook): 4 pasos (con imágenes)
Another Laptop Stand (otro Soporte Para Notebook): Por favor, vea una mejora en https://www.instructables.com/id/Mejoras-al-Soporte-para-laptop-laptop-stand-enhan/ Mi notebook tiene un problemita : la pantalla parpadea a ratos (arreglado a multas de setiembre 2010, era un contacto flojo). Pero me h
Soporte de pared / base de carga para iPhone: 4 pasos
Soporte de pared / base de carga para iPhone: cree un soporte de pared de carga para su iPhone / iPod usando el cargador de pared, el cable USB y una botella de champú cortada. Este Instructable se presentó como un proyecto de 5 minutos en la sección de bricolaje de Popular Science. Necesitarás: Una botella de champú (este o