El
prototipo de robot sembrador se realizó teniendo como base la automatización de
procesos y poniendo en práctica la temática de robótica industrial, con el fin
de reducir el tiempo y el esfuerzo en el proceso de cultivar la tierra y así
aumentar la productividad del sector agrícola, utilizando la tecnología y cada
elemento con el que contemos para hacer más fácil para las personas la
realización de ésta labor.
Éste
prototipo se realizó en parte por piezas recicladas, lo cual redujo su costo de
fabricación, sin embargo el prototipo en sí, se diseñó para ser asequible no
solo para las industrias ya constituidas sino también para agricultores que no
tengan una industria o una empresa grande ya constituida como tal.
para la realización de éste proyecto se utilizaron algunos elementos que nos fueron de gran utilidad, entre éstos se encuentra la placa de ARDUINO en su versión UNO, el modulo puente H L298N y el modulo bluetooth HC-05 los cuales se describen brevemente a continuación.
MODULO PUENTE H L298N:
La tarjeta expone las conexiones hacia el motor a través de bloques de terminales, mientras que las entradas de control y habilitación del puente H se exponen a través de headers macho estándar para facilitar todas las conexiones.
Esta tarjeta es ideal para controlar motores en pequeños robots como seguidores de líneas, zumos, robots de laberinto, etc. El L298N también es una excelente opción para manejar motores a pasos bipolares.
MODULO BLUETOOTH HC-05:
El módulo
bluetooth HC-05 viene configurado de fábrica para trabajar como maestro o
esclavo. En el modo maestro puede conectarse con otros módulos bluetooth,
mientras que en el modo esclavo queda a la escucha peticiones de conexión.
Agregando este módulo a tu proyecto podrás controlar a distancia desde un
celular o una laptop todas las funcionalidades que desees.
El
modulo Bluetooth HC-05 utiliza el protocolo UART RS 232 serial. Es ideal para
aplicaciones inalámbricas, fácil de implementar con PC, micro controlador o
módulos Arduinos.
La
tarjeta incluye un adaptador con 6 pines de fácil acceso para uso en
protoboard.
Los pines
de la board correspondientes son:
·
EN
·
VCC
·
GND
·
TX
·
RX
·
STATE
Además posee un regulador interno que permite su
alimentación de 3.6 a 6V.
Características
·
Compatible
con el protocolo Bluetooth V2.0.
·
Voltaje
de alimentación: 3.3VDC – 6VDC.
·
Voltaje
de operación: 3.3VDC.
·
Baud rate
ajustable: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.
·
Baud rate por defecto: 9600
·
Tamaño:
1.73 in x 0.63 in x 0.28 in (4.4 cm x 1.6 cm x 0.7 cm)
·
Corriente
de operación: < 40 mA
·
Corriente
modo sleep: < 1mA
DISEÑO
El diseño que se
utilizó para el prototipo del robot fue bastante sencillo, con el fin de
reducir los costos y también por la relación con respecto al peso, para que
fuera más veloz y liviano, el diseño del brazo tiene una complejidad un poco
más alta, puesto que se buscó aumentar su eficiencia lo mejor posible.
(modelo para el chasis)
En
las imágenes anteriores se puede observar la simplicidad del diseño del chasis,
sin embargo es bastante funcional y se diseñó de la manera más adecuada para
soportar la carga y como prototipo inicial.
(brazo)
El
brazo tiene un diseño más complejo, pensado en optimizar su fuerza y el balance
del peso, al tener los servomotores en su base y por tanto su mayor peso en
ésta, es mucho más eficiente y le permite tener un desempeño mayor, al diseño
se le incorporó posteriormente un resorte como amortiguador sostenido por una
lámina, de ésta manera se incremente aún más su eficiencia y movilidad, suaviza
el movimiento y tiene un mejor desempeño al momento de realizar la perforación
en la tierra, para depositar la semilla.
Además
el brazo cuenta con un taladro para realizar la perforación en la tierra, el
mecanismo donde se encuentra ubicado el taladro permite realizar el cambio de
éste elemento de una manera muy sencilla y fácil de realizar, también cuenta
con un ducto por el cual bajan las semillas y con un sistema realizado con un
mecanismo eficiente que permite el paso de las semillas, lo convierte en un
elemento multitareas.
El modelo ya terminado en su totalidad
PROGRAMACION
Se
realizó una programación para controlar el robot de manera automática, se
procedió a programar la tarea que se quiso realizar, se realizó la debida
configuración y se cargó el programa, también se realizó una programación
adyacente para tener un control manual de todo el sistema, el robot se programó
con un módulo bluetooth HC-05 y se controló desde una aplicación para Smartphone
con sistema operativo Android.
La
programación en Arduino se realiza en lenguaje C, la plataforma de Arduino
cuenta con múltiples librerías que facilitan la programación de éstas placas,
es importante saber qué tipo de librería utilizar para hacer la programación de
la tarea que se quiera realizar, y tener los conocimientos básicos de
programación en lenguaje C para entender cada línea de código y hacer los
arreglos necesarios para adecuarla al sistema que se va a programar.
El
código de programación utilizado para el funcionamiento del robot es el
siguiente:
#include
<Servo.h>
Servo
servo1;
Servo
servo2;
int
pos1 = 180;
int
pos2 = 0;
int
PinIN1 = 4;
int
PinIN2 = 5;
int
PinIN3 = 2;
int
PinIN4 = 3;
int
ledPin = 13; // usamos un pin de salida al LED
int
ledPin2=12; // usamos un pin
int
ledPin3=11;
int
ledPin4=10;
int
state = 0; // Variable lectrura dato serial
int
bandera=0;
void
setup() {
// inicializar la comunicación serial a 9600
bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(PinIN1, OUTPUT);
pinMode(PinIN2, OUTPUT);
pinMode(PinIN3, OUTPUT);
pinMode(PinIN4, OUTPUT);
servo1.attach(6);
servo2.attach(9);
pinMode(ledPin, OUTPUT); //Declara pin de Salida
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT); //Declara pin de Salida
pinMode(ledPin4, OUTPUT);
digitalWrite(ledPin, LOW); //Normalmente
Apagado
digitalWrite(ledPin2, LOW); //Normalmente
Apagado
digitalWrite(ledPin3, LOW); //Normalmente
Apagado
digitalWrite(ledPin4, LOW); //Normalmente
Apagado
Serial.begin(9800);
}
void
loop() {
MotorHorario();
Serial.println("Giro del Motor en
sentido horario");
delay(1000);
MotorHorario1();
Serial.println("Giro del Motor en
sentido horario");
delay(1000);
servo1.write(pos1);
servo2.write(pos2);
delay(1000);
servo1.write(130);
servo2.write(pos2);
delay(1000);
}
void
MotorHorario()
{
digitalWrite (PinIN1, HIGH);
digitalWrite (PinIN2, LOW);
delay(10000);
}
void
MotorHorario1()
{
digitalWrite (PinIN3, HIGH);
digitalWrite (PinIN4, LOW);
delay(10000);
if(Serial.available() > 0){
state = Serial.read();
}
if (state == 'A' && bandera==0)
{
digitalWrite(ledPin, HIGH);
bandera = 1;
state = 0;
}
if (state == 'A' && bandera==1){
digitalWrite(ledPin, LOW);
bandera = 0;
state = 0;
}
if (state == 'B' && bandera==0) {
digitalWrite(ledPin2, HIGH);
bandera = 1;
state = 0;
}
if (state == 'B' && bandera==1){
digitalWrite(ledPin2, LOW);
bandera = 0;
state = 0;
}
if (state == 'C' && bandera==0)
{
digitalWrite(ledPin3, HIGH);
bandera = 1;
state = 0;
}
if (state == 'C' && bandera==1){
digitalWrite(ledPin3, LOW);
bandera = 0;
state = 0;
}
if (state == 'D' && bandera==0)
{
digitalWrite(ledPin4, HIGH);
bandera = 1;
state = 0;
}
if (state == 'D' && bandera==1){
digitalWrite(ledPin4, LOW);
bandera = 0;
state = 0;
}
}
éste proyecto es una alternativa para el progreso del sector agrícola y esperamos sirva de inspiración para generar una mayor inversión en éste sector y se pueda avanzar en torno a la producción agrícola teniendo respeto por el medio ambiente, puesto que éste prototipo de robot sembrador es totalmente eléctrico y su impacto ambiental trata de reducirse al mínimo.
Y el circuito?
ResponderEliminar