lunes, 6 de noviembre de 2023

Steam Farmer (programa en Arduino)

 


Estamos creando nuestro primer brazo robótico, para ello hemos empleado los siguientes materiales:
  • Palitos de helado pequeños y grandes
  • Pistola de silicona
  • Amarras plásticas de 15cm
  • Servomotores SG90, inicialmente se construyó con tres de ellos, pero en la práctica nos dimos cuenta que es mejor utlizar los MG90, entonces se usaron un SG90 y dos MG90
  • Cables hembra macho, macho macho para las conexiones
  • Un arduino uno
  • Dos joystick, uno para girar y alzar el brazo y otro para abrir y cerrar el gancho.
  • Una mini protoboard
  • Una fuente de 5V, aunque en este caso utilizamos un módulo que nos ayuda regular el voltaje de un adaptador que entrega 12V, pero sirve también un adaptador de 5V/2A (mejor de 2A)
  • El conector hembra que recibe el plug del adaptador
  • Unas tablitas para la base y otras pequeñas para pegar el servo de la base al que nos regula la altura.
Procedimiento

Esto ha sido de paciencia, por ejemplo, es importante inicialmente usar un programa para leer la posición actual de los servomotores, creo que por eso fue que se quemamos dos SG90, debido a que en el gancho hacían mucha fuerza para cerrarse luego de que ya estaba cerrado al iniciar el programa, tener claro en qué ángulo está al iniciar.

Programa


#include <Servo.h>

Servo baseServo;   // Servo para el giro horizontal
Servo alturaServo; // Servo para subir y bajar el brazo
Servo ganchoServo; // Servo para abrir o cerrar el gancho

int baseAngle = 90;    // Ángulo inicial del servo horizontal
int alturaAngle = 90;  // Ángulo inicial del servo de altura
int ganchoAngle = 90;  // Ángulo inicial del servo de gancho


const int joyXPin = A0;   // Pin analógico para la posición X del joystick
const int joyYPin = A1;   // Pin analógico para la posición Y del joystick
const int joyYGPin = A2;   // Pin analógico para la posición X del joystick2 gancho

int baseIncremento = 1; // Incremento de ángulo para el servo de la base
int alturaIncremento = 1; // Incremento de ángulo para el servo de la altura
int ganchoIncremento = 1; // Incremento de ángulo para el servo del gancho

void setup() {
  Serial.begin(9600);  // Inicializa la comunicación serial
  baseServo.attach(8);    // Conecta el servo horizontal al pin 8
  alturaServo.attach(9);  // Conecta el servo de altura al pin 9
  ganchoServo.attach(7);  // Conecta el servo de gancho al pin 10

  baseAngle = baseServo.read();
  alturaAngle = alturaServo.read();
  ganchoAngle = ganchoServo.read();

}

void loop() {
   
  int joyX = analogRead(joyXPin);
  int joyY = analogRead(joyYPin);
  int joyYG = analogRead(joyYGPin);

  // Control de la base (eje X)
  baseAngle += map(joyX, 0, 1023, baseIncremento, -baseIncremento);
  baseAngle = constrain(baseAngle, 0, 180);

  // Control de la altura (eje Y)
  alturaAngle += map(joyY, 0, 1023, -alturaIncremento, alturaIncremento);
  alturaAngle = constrain(alturaAngle, 0, 126);

  // Control de apertura gancho (eje X)
  ganchoAngle += map(joyYG, 0, 1023, ganchoIncremento, -ganchoIncremento);
  ganchoAngle = constrain(ganchoAngle, 86, 180);

 // Envía las señales a los servos
  baseServo.write(baseAngle);
  alturaServo.write(alturaAngle);
  ganchoServo.write(ganchoAngle);

  // Muestra información en el Monitor Serie
  Serial.print("Base: ");
  Serial.print(baseAngle);
  Serial.print(" Altura: ");
  Serial.print(alturaAngle);
  Serial.print(" Gancho: ");
  Serial.println(ganchoAngle);
  delay(50);  // Pequeña pausa para estabilidad
}

miércoles, 4 de octubre de 2023

Proyecto AgroIN primer prototipo

 

Esta es nuestro primer intento este año 2023 de hacer un cultivo interior, para esta ocasión rescatamos unas tiras led que nos habían regalado por si nos servían, al igual que una pequeña estructura en madera con la que se hacen los desayunos sorpresa, así mismo utilizamos una botella pet de 5 litros en forma de maceta con autoriego por capilaridad, aún no tiene nada de control la iluminación, pero ese será nuestro siguiente paso poder controlar el color de acuerdo a la etapa de crecimiento de la lechuga. Hay mucho por experimentar, por aprender.

martes, 3 de octubre de 2023

Caterpilla Laboratorio de Innovación + Control

 


Este proyecto es muy entretenido para los estudiantes, pero al programa original se le debieron hacer algunas modificaciones para que funcionará, aquí el pdf sobre el proyecto,

Proyecto con Micro:Rover Kit

 Los archivos para desarrollar este proyecto se encuentran en https://freenove.com/fnk0037 tener en cuenta que este kit se puede adquirir en Amazon hace un buen tiempo lo adquirí para jugar con mis hijos pero aún son muy pequeños para trabajarlo, por eso lo estoy usando con mis estudiantes.

Utilicé una pila 18650 que conseguí al desarmar la batería de una laptop. La versión que tengo de la microbit es la V1 pero funciona también con la V2, en esta ocasión estamos usando el proyecto 03.3_Obstacle-Avoidance-2 
El archivo lo puede descargar aquí




Microbit Carro a Control Remoto con Microbit y Tarjeta de Expansión

Programa receptor RX https://makecode.microbit.org/_0JyXaq... 

Programa tarjeta transmisora TX https://makecode.microbit.org/_b7j4K4... 









domingo, 1 de octubre de 2023

Comipec Versión 1 de 2023. Dispensador de alimentos granulados para peces o mascotas

 

Este año hemos retomado un proyecto que iniciamos hace una decada y por cuestiones de tiempo y de traslado del coordinador del semillero tecnonarnajal, se había dejado en el olvido.
Esta es la versión 1 de este año 2023, la cual consta de un servomotor SG90 que hace apertura y cierre de la salida de la botella pet de 2.5l que estamos usando, al servo se le ha unido dos tapas, la primera de su misma botella, pero al ver que no alcanzaba a tapar la boca de esta se le montó una tapa de una garrafa de 5 litros, la programación es muy sencilla realizada con la microbit, recuerde instalar primero la extensión SERVO


Las conexiones son tres, PIN0 al amarillo del servomotor, GND al negro o café del servo, y 3V al rojo del servo, cuando lo probamos con el pc no funcionó, sonaba el servo pero no se movía, pensabamos que tenía algún problema el servo, lo cambiamos por otro pero seguía igual, decidimos más bien conectar el cable micro USB a un cargador de teléfono y wuala, funcionó. Luego compartiremos el video, este es el primer prototipo, la idea es que sea programable de acuerdo a la biomasa del estanque y que pueda ayudar a monitorear la temperatura del estanque para saber el momento ideal para proporcionar el alimento.