Controlador Automatico De Persianas.
by Venancio in Circuits > Arduino
223 Views, 0 Favorites, 0 Comments
Controlador Automatico De Persianas.
controlador automatico de persianas
Supplies
Usamos como materiales para crear la base o caja MDF, y PLA para la impresion del engranaje. El cual nos permite ser prácticos y volver a hacer este proyecto en cualquier momento. Se uso Goma, Silicon, estaño para soldar y Cautín.
Componentes en el armado del circuito fueron: 2 finales de carrera, 1 botón, 1 switch, un Arduino, un motor DC, Jumpers, lagartos, una fuente de poder externa de 12 volts, controlador de motor puente h, una resistencia de 250 omh y una protoboard.
Prototipado
Paso 1.
Como primer paso es el diseño de caja que contendra el motor y sus componentes. Es indispensable dimensionar primero los componentes antes de diseñar el prototipo de la caja, para ahorranos tiempo y problemas a futuro.
Creación Del Engranaje.
Paso 2.
este proyecto es indispensable un engranaje el cual nos permita que genere la fuerza para mover la persiana, por eso se tiene que diseñar uno de acuerdo a la persiana puesta a automatizar. Con un Vernier puedes medir la bolitas que trae la persiana y dependiendo del tamaño y espacio de separación de cada una se diseñara el engranaje, es muy recomendable que se le haga paredes a los ejes del engranaje para que cace por completo como la imagen puesta de ejemplo.
Armado De Circuito
Siempre en un circuito que se trate de Arduino es recomendable empezar con el armado del circuito; no necesariamente tiene que ser en físico, se debería de empezar en programas como Tinkercad, después seguir con la programación dependiendo de donde están conectados los pines. Se les dejara una imagen del circuito para que se guíen. Con el diagrama esquemático del mismo.
Downloads
Programacion
A continuacion se les dejara la programacion usada en el circuito, con su diagrama de flujo, no es necesario que usen esta misma, pueden usar un puente h disitnto y agregarles nuevas funciones.
const int mot_1a = 2;
const int mot_2a = 3;
const int enable_1 = 11;
int estado = 0;
int modo = 0;
int boton;
int final1 = 4;
int final2 = 6;
void setup () {
pinMode(7, INPUT_PULLUP);
pinMode(2, OUTPUT);
pinMode(3, INPUT);
pinMode(enable_1, OUTPUT);
pinMode(final1, INPUT);
pinMode(final2, INPUT);
}
void loop() {
boton = digitalRead(7);
if(boton == 0){
modo =! modo;
}
if(modo == 0){
if(estado == 0){
estado = 1;
Serial.println(estado);
}
if (digitalRead(final1) == LOW && boton == HIGH ){
analogWrite(enable_1, HIGH);
digitalWrite(mot_1a, LOW);
digitalWrite(mot_2a, HIGH);
}
else if (digitalRead(final1) == HIGH){
analogWrite(enable_1, HIGH);
digitalWrite(mot_1a, LOW);
digitalWrite(mot_2a, LOW);
}
}
else if(modo == 1){
if(estado == 1){
estado = 0;
}
if (digitalRead(final2) == LOW && boton == HIGH ){
analogWrite(enable_1, HIGH);
digitalWrite(mot_1a, HIGH);
digitalWrite(mot_2a, LOW);
}
else if (digitalRead(final2) == HIGH){
analogWrite(enable_1, HIGH);
digitalWrite(mot_1a, LOW);
digitalWrite(mot_2a, LOW);
}
}
}
Circuito Fisico
Diagrama De Flujo
diagrama de flujo.