¿Cómo hacer un sistema de alimentación automático para tus mascotas? Las mascotas necesitan ser alimentadas oportunamente para que puedan mantener una buena salud. Los dueños de las mascotas no están disponibles en la casa las 24 horas del día, los 7 días de la semana, a veces van por reuniones de negocios a otra ciudad o a casa de otra persona, por lo que las mascotas sufren en su ausencia por falta de alimento. Hay comederos por gravedad disponibles en el mercado que pueden alimentar a las mascotas automáticamente, pero son un poco caros y requieren un área grande para su colocación. Hoy diseñaré un sistema de alimentación automático para mascotas domésticas que minimizará en gran medida los esfuerzos humanos para alimentar a las mascotas. Uno colocaría la comida en el recipiente y se rellenará automáticamente tan pronto como caiga por debajo de cierto nivel. Por lo tanto, siga este tutorial y prepárese para implementar esta idea innovadora en sus hogares. Comedero automático para mascotas¿Cómo configurar el aparato y automatizarlo usando Arduino?El objetivo de esta técnica es crear un sistema más eficaz que los sistemas disponibles en el mercado como los alimentadores por gravedad, con un coste comparativamente bajo. Nuestro sistema se encargará de mantener el suministro constante de comida y agua tanto a las mascotas. En primer lugar diseñaremos el sistema automático de alimentación de agua y en segundo lugar diseñaremos un comedero automático de comida para nuestras mascotas.Paso 1: Componentes necesarios (hardware)Paso 2: Componentes necesarios (software)Antes de ensamblar el circuito en el hardware se debe simular. Después de la simulación, llegamos a saber si nuestro circuito funcionará con precisión o no. Por lo tanto, he incluido las simulaciones de software a continuación y, para ello, el software necesario es Proteus Professional.Proteus 8 Professional (Se puede descargar desde Aquí)Paso 3: Principio de funcionamiento del sistema de bombeo de agua autónomoLeer másIngrese a la expansión Gungeon que Advanced Gungeons & Draguns ha lanzadoEntre todos los componentes, los componentes más importantes son los transistores BC 547. Hay un total de 7 transistores y detectarán el nivel del agua. Los LED monitorearán el nivel del agua en el contenedor. A medida que el agua asciende, los sensores comienzan a ponerse en contacto con el agua y los transistores se activan y hay una progresión de corriente en los transistores que hace que los LED se enciendan. Hay una resistencia limitadora de corriente involucrada entre el transistor y el LED y evita que ingrese un voltaje más alto al LED. El tubo de goma se conectará al tanque superior y será responsable de llenar el contenedor a medida que el nivel descienda por debajo de un cierto umbral. Cuando el agua cae por debajo del umbral, la bomba de agua se pone en marcha y el recipiente comienza a llenarse. De esta manera, no es necesario rellenar el recipiente manualmente y las mascotas reciben un suministro constante de agua. Para su comodidad, explicaré más detalladamente la funcionalidad de los LED. Los LED instalados en el circuito son de cuatro tipos de colores. Rojo, Amarillo, Verde y Azul. El rojo indica que no hay agua en el recipiente y ninguno de los sensores está en contacto con el agua y es necesario rellenar el recipiente. El LED amarillo indica 1/4 de agua en el recipiente. El LED verde indica que el recipiente está medio lleno de agua y el LED azul indica que el recipiente está lleno de agua.Paso 4: Simular el circuitoDespués de descargar e instalar el software Proteus, ábralo. Abra un nuevo esquema haciendo clic en Estado Islámico icono en el menú.Nuevo esquemaCuando aparezca el nuevo esquema, haga clic en el PAG icono en el menú lateral. Esto abrirá un cuadro en el que podrá seleccionar todos los componentes que se utilizarán.Ahora escriba el nombre de los componentes que se utilizarán para realizar el circuito. El componente aparecerá en una lista en el lado derecho.Seleccionar componentesDe la misma manera que antes, busque todos los componentes como se indica arriba. Aparecerán en el Dispositivos Lista.Paso 5: hacer un diseño de PCBComo vamos a crear el circuito de hardware en una PCB, primero debemos hacer un diseño de PCB para este circuito.Para realizar el diseño de PCB en Proteus, primero debemos asignar los paquetes de PCB a cada componente del esquema. para asignar paquetes, haga clic derecho en el componente al que desea asignar el paquete y seleccione Herramienta de embalaje.Asignar paquetesHaga clic en la opción ARIES en el menú superior para abrir un esquema de PCB.Diseño ARIESDesde la Lista de componentes, coloque todos los componentes en la pantalla en el diseño que desee que se vea su circuito.Haga clic en el modo de seguimiento y conecte todos los pines que el software le indica que conecte apuntando con una flecha.Paso 6: Diagrama del circuitoDespués de ensamblar los componentes y cablearlos, el diagrama del circuito debería verse así:Diagrama de circuitoPaso 7: Principio de funcionamiento del sistema autónomo de suministro de alimentosLeer másCómo desinstalar completamente Steam JuegosEl principio de funcionamiento del sistema de suministro de alimentos es muy simple y el componente más vital en este circuito es el Módulo de reloj en tiempo real (DS3231) a través del cual podremos fijar la fecha y hora en la que se servirá la comida a nuestras mascotas. El módulo LCD mostrará la fecha y la hora y el servomotor hará girar los tazones que contendrán comida. He incluido el teclado 4×4 para configurar manualmente la hora de alimentación de las mascotas. He utilizado el servomotor para que el recipiente que contiene la comida pueda girarse y dejarse caer en el recipiente inferior desde donde las mascotas podrán comerlo. La comida se colocará en el recipiente inferior en los intervalos específicos establecidos por usted en el código. Puedes configurar tú mismo la cantidad de comida teniendo en cuenta los hábitos de alimentación del perro, gato, loro, etc.Paso 8: Simular el circuitoSimule el circuito siguiendo los pasos anteriores para comprobar si funciona o no. El resto del procedimiento es igual excepto los componentes y su colocación. Los componentes que se utilizarán en el circuito se muestran a continuación: Los componentes aparecerán en el Dispositivos Lista.Componentes utilizadosAhora, como hemos comprobado que el circuito funciona bien, continuaremos y escribiremos el código para Arduino.Paso 9: Diagrama del circuitoEl diagrama del circuito de Proteus debería verse así:Diagrama de circuitoPaso 10: Comenzando con ArduinoSi no está familiarizado con Arduino IDE antes, no se preocupe porque a continuación puede ver pasos claros para grabar código en la placa del microcontrolador usando Arduino IDE. Puede descargar la última versión de Arduino IDE desde aquí y siga los pasos a continuación:Cuando la placa Arduino esté conectada a su PC, abra el “Panel de control” y haga clic en “Hardware y sonido”. Luego haga clic en “Dispositivos e impresoras”. Busque el nombre del puerto al que está conectada su placa Arduino. en mi caso es “COM14” pero puede ser diferente en tu PC.Encontrar puertoAhora abra el IDE de Arduino. Desde Herramientas, configure la placa Arduino en Arduino / Genuino UNO.Tablero de configuraciónDesde el mismo menú Herramientas, configure el número de puerto que vio en el panel de control.Puerto de configuraciónDescargue el código adjunto a continuación y cópielo en su IDE. Para cargar el código, haga clic en el botón cargar.Sube el códigoPuedes descargar el código desde Aquí.Paso 11: comprender el códigoEl código utilizado en este proyecto es muy simple y está bien comentado. Aunque se explica por sí mismo, se describe brevemente a continuación para que, si está utilizando una placa Arduino diferente, como nano, mega, etc., pueda modificar el código correctamente y luego grabarlo en su placa.En la parte superior, se incluyen diferentes bibliotecas para que el microcontrolador pueda operar el teclado, la pantalla LCD, el RTC IC y el servomotor.#include <DS3231.h> #include <Servo.h> #include <LiquidCrystal.h> #include <Keypad.h>2. Luego, las filas y columnas del teclado han inicializado los pines de Arduino a los que se conectarán y luego se crea todo el teclado.const byte ROWS = 4; // Four rows const byte COLS = 4; // Three columns // Define the Keymap char keys(ROWS)(COLS) = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins(ROWS) = { 2, 3, 4, 5 }; // Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins. byte colPins(COLS) = { 6, 7, 8, 9 }; // Connect keypad COL0, COL1 and COL2 to these Arduino pins. Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Create the Keypad3. Luego se inicializan el RTC IC, el servomotor y la pantalla LCD de Liquid y se declaran algunas variables que se utilizarán para los cálculos de tiempo de ejecución.DS3231 rtc(A4, A5); Servo servo_test; //initialize a servo object for the connected servo LiquidCrystal lcd(A0, A1, A2, 11, 12, 13); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) //int angle = 0; // int potentio = A0; // initialize the A0analog pin for potentiometer int t1, t2, t3, t4, t5, t6; boolean feed = true; // condition for alarm char key; int r(6); 4. configuración nula() es una función que se ejecuta solo una vez en el código cuando se enciende el microcontrolador o se presiona el botón de habilitar. En esta función se establece la velocidad en baudios que es básicamente la velocidad en bits por segundo a la que el microcontrolador se comunica con los dispositivos periféricos. En esta función, RTC y el servo también se inician y los pines se inicializan para usarse como Entrada o Salida.void setup() { servo_test.attach(10); // attach the signal pin of servo to pin9 of arduino rtc.begin(); lcd.begin(16,2); servo_test.write(55); Serial.begin(9600); pinMode(A0, OUTPUT); pinMode(A1, OUTPUT); pinMode(A2, OUTPUT); }5. bucle vacío() es una función que se ejecuta una y otra vez en un bucle. Aquí, en esta función, el código se escribe para realizar un seguimiento del tiempo e imprimirlo en la pantalla LCD. luego se da una orden para girar el servo en un ángulo específico.void loop() { lcd.setCursor(0,0); int buttonPress; buttonPress = digitalRead(A3); if (buttonPress==1) setFeedingTime(); //Serial.println(buttonPress); lcd.print("Time: "); String t = ""; t = rtc.getTimeStr(); t1 = t.charAt(0)-48; t2 = t.charAt(1)-48; t3 = t.charAt(3)-48; t4 = t.charAt(4)-48; t5 = t.charAt(6)-48; t6 = t.charAt(7)-48; lcd.print(rtc.getTimeStr()); lcd.setCursor(0,1); lcd.print("Date: "); lcd.print(rtc.getDateStr()); if (t1==r(0) && t2==r(1) && t3==r(2) && t4==r(3)&& t5<1 && t6<3 && feed==true) { servo_test.write(100); //command to rotate the servo to the specified angle delay(400); servo_test.write(55); feed=false; } }6. conjunto vacíoFeedingTime() es una función que toma información del teclado y asigna la entrada para configurar el tiempo de alimentación en el microcontrolador. Este tiempo se utiliza posteriormente para hacer girar el motor y alimentar a las mascotas.void setFeedingTime() { feed = true; int i=0; lcd.clear(); lcd.setCursor(0,0); lcd.print("Set feeding Time"); lcd.clear(); lcd.print("HH:MM"); lcd.setCursor(0,1); while(1){ key = kpd.getKey(); char j; if(key!=NO_KEY){ lcd.setCursor(j,1); lcd.print(key); r(i) = key-48; i++; j++; if (j==2) { lcd.print(":"); j++; } delay(500); } if (key == 'D') {key=0; break; } } }Paso 12: Diseño de hardware del sistema de bombeo de aguaUna vez que hemos realizado todas las tareas de software, procedamos ahora al diseño del hardware del proyecto. En primer lugar, ensamblaremos los componentes del sistema de bombeo de agua y luego diseñaremos el hardware del sistema automático de suministro de alimentos. Después de realizar un diseño de PCB del circuito, suelde los componentes en la placa PCB de acuerdo con el diagrama de circuito que se muestra arriba. Coloque el circuito en una caja pequeña y haga los agujeros adecuados para que los LED puedan salir de la caja fácilmente. Tome una placa PCB y suelde los LED de acuerdo con los niveles definidos anteriormente. Después de analizar el circuito, llegamos a saber que es necesario sacar cinco líneas de suministro desde la placa de circuito principal hasta el sensor. Cuatro líneas son de los sensores y una es para Pin positivo común.LEDPosiblemente necesitemos hacer dos canales para que cuando entren en contacto con el agua actúen como un interruptor, ya que el agua es buena conductora de la electricidad. Podemos utilizar un tubo de PVC y hacerle agujeros. Primero, mida la altura del contenedor y luego, a intervalos iguales, marque 4 puntos en él. Haga agujeros en esos puntos y luego haga un bucle de cable que transportará la corriente. Fije ese bucle de cable con tuercas y tornillos en ese tubo de PVC y luego agregue un cable común a la carcasa. El orificio del cable desnudo y el perno debe mantenerse al mínimo y, en caso de que lo necesite, puede soldar un poco de cable a la línea común justo al lado de la tuerca y el tornillo, ya que la detección estaría más en el punto donde el agua interactúa con el cable normal y el perno, habrá una transferencia de corriente desde el cable pelado al perno y, por lo tanto, la parte de detección estará completa. Tan pronto como el agua desciende por debajo de cierto nivel, el motor hidráulico se pone en marcha. EN y el tanque comienza a llenarse. A medida que el tanque comienza a llenarse, el contenedor también comienza a llenarse debido a la tubería de agua a medida que el agua se transfiere del tanque al contenedor a través de la tubería. Por lo tanto, ya no es necesario llenar el contenedor manualmente.Paso 13: Diseño de hardware del sistema automático de suministro de alimentosAhora ensamblaremos el hardware del sistema de suministro de alimentos. Podemos establecer los intervalos de tiempo de nuestra elección utilizando el DS3231 Reloj en tiempo real módulo y por lo tanto manteniendo a la vista el horario de alimentación de nuestras mascotas ajustaremos el horario. Cuando el cronómetro llegue a la fecha y hora establecidas, el servomotor se moverá y la comida caerá en el recipiente colocado debajo. Ensamble el circuito como se muestra arriba en el tablero. Tome un palo de madera y fije con él el servomotor. Fíjelo verticalmente contra la pared y con la ayuda de tornillos fije el cuenco de comida al palo. El cuenco puede ser como un tubo hueco con forma de bambú abierto por ambos extremos y en el fondo se colocará una pieza redonda de madera. El servomotor se fijará a la pieza de madera y tan pronto como el motor se mueva en algún ángulo, la comida se dejará caer en el recipiente colocado debajo.Pipa de bambúEso es todo por hoy. No olvide compartir su experiencia después de completar este proyecto y si tiene algún problema al hacerlo, no dude en preguntar en la sección de comentarios. Tecnología
Tecnología Solución: falló la clonación de la migración de datos de Samsung noviembre 26, 2023Es posible que la herramienta Samsung Data Migration no pueda clonar un disco duro debido… Read More
Tecnología ¿Qué significa TFTI? noviembre 15, 2023TFTI significa “gracias por la información”. La gente lo usa en Internet todo el tiempo… Read More
Tecnología Significado WYM noviembre 5, 2023“WYM” significa “¿Qué quieres decir?”. Es una abreviatura utilizada popularmente en Internet por muchos adolescentes… Read More