lunes, 14 de noviembre de 2016

INTRODUCCIÓN

Por medio de éste informe se presenta el trabajo realizado durante el desarrollo del prototipo de un robot sembrador, destinado a facilitar la labor de cultivar la tierra, se hará una descripción del proyecto y se expondrán los parámetros utilizados y los sistemas que se usaron para el montaje y la puesta en marcha de éste prototipo.




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.




ARDUINO:

Arduino / Genuino Uno es una placa electrónica basada en el ATmega328P. Cuenta con 14 pines digitales de entrada / salida (de los cuales 6 se podrán utilizar como salidas PWM), 6 entradas analógicas, un cristal de cuarzo de 16 MHz, una conexión USB, un conector de alimentación, una cabecera ICSP y un botón de reinicio. Contiene todo lo necesario para apoyar el micro controlador; basta con conectarlo a un ordenador con un cable USB o la corriente con un adaptador de CA a CC o una batería.







MODULO PUENTE H L298N:

El módulo puente H L298N es una tarjeta para el control de motores de corriente directa, motores a pasos, solenoides y en general cualquier otra carga inductiva. La tarjeta está construida en torno al circuito integrado L298N, el cual dispone en su interior de 2 puentes H independientes con capacidad de conducir 2 amperios constantes o 4 amperios en picos no repetitivos.

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.