jueves, 23 de marzo de 2017

COMUNICACIONES INALAMBRICAS (Programaciòn del proyecto) 5.1



Robótica inalámbrica  5.1 (proyecto)



            En el blog (http://roboticared.blogspot.mx/2017/03/robotica-en-desarrollos-comunicaciones.html) se habló respecto a lo que es una comunicación inalámbrica y como funciona resumidamente el bluetooth, ahora veamos un poco de la programación, para hacer funcionar un robot móvil inalámbrico.

Antes de empezar debemos destacar que:
Para que funcione nuestro desarrollo es necesario contar con un módulo bluetooth modelo HC-06 para la comunicación con el dispositivo móvil (teléfono Android).





  CONEXIONES

   
                    Entre el modulo bluetooth hc06 y tarjeta de control Arduino.



(ES IMPORTANTE EL NO TENER CONECTADO LOS PUERTO RX Y TX  A LA HORA DE DESCARGAR EL PROGRAMA, YA QUE GENERARA UN ERROR).

Tarjeta de control Arduino y el driver de los motores L298N.

También en lo referente a la conexión de los motores deben de ser de la siguiente manera en nuestro robot móvil. Este robot móvil  utiliza una tarjeta de control (Arduino) y una tarjeta driver L298N para los moto-reductores de DC (modulo puente H), para que este a su vez pueda darle velocidad y potencia a los motores, e influye mucho la manera de conexión ya que sin esta configuración, nuestros motores no nos responderán correctamente a la hora de la exposición.
A continuación se muestra la programación hecha por los alumnos así como las conexiones de este robot móvil en la tarjeta L298N a los puertos digitales del arduino.


Entre el driver de los motores L298N y los moto-reductores


Los moto-reductores son motores de corriente directa que tienen acoplado en la flecha de salida un engranaje que le permite reducir su velocidad y aumentar su torque, son muy utilizados para controlar la precisión y para trabajar con pesos que sin ese acoplamiento sería imposible mover








PROGRAMACIÓN




Antes de presentar la programación debemos de conocer los comandos que se utilizaron en la elaboración de este proyecto y para que se utilizan:




Int: nos sirve para declarar datos numéricos enteros de 16 bits, estas variables las configuramos al principio de la programación y las vamos llamando según sea el caso necesitado.



Serial.begin: abre su puerto serie y fija una velocidad predeterminada en baudios para la transición de datos en serie. El valor típico de velocidades para comunicarse con un ordenador, o dispositivo móvil es de 9600 aunque se le pueden agregar otras velocidades.




analogWrite: Esta instrucción es utilizada para escribir un valor analógico utilizando la modulaciones por ancho de pulso (PWM), si enviamos un valor de 0 nos mandara una salida de 0 voltios en el pin especificado, el valor HIGH de una salida de este tipo equivale a 5 voltios.

if: es una condición que se utiliza para probar si una determinada condición  se ha alcanzado, como por ejemplo averiguar si un valor analógico está por encima de un cierto numero, si es verdad se  ejecuta una serie de acciones, que se describen dentro de las llaves. Si es falso la condición no se cumple  y salta a otra linea programa.

La declaración de estado llama a las subrutinas de la aplicación Android y ejecuta el programa seleccionado por los comandos en los botones de la pantalla del celular. Es importante que para que este funcione, descargues nuestra app.


int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255;            // Velocidad de los motores (0-255)
int estado = 'g';         // inicia detenido

void setup()  {
  Serial.begin(9600);    // inicia el puerto serial para comunicacion con el Bluetooth
  pinMode(derA, OUTPUT);
  pinMode(derB, OUTPUT);
  pinMode(izqA, OUTPUT);
  pinMode(izqB, OUTPUT);
 }

void loop()  {
 
  if(Serial.available()>0){        // lee el bluetooth y almacena en estado
      estado = Serial.read();
  }
  if(estado=='a'){           // Boton desplazar al Frente
      analogWrite(derB, 0);    
      analogWrite(izqB, 0);
      analogWrite(derA, vel); 
      analogWrite(izqA, vel);      
  }
  if(estado=='b'){          // Boton IZQ
      analogWrite(derB, 0);    
      analogWrite(izqB, 0);
      analogWrite(derA, 0); 
      analogWrite(izqA, vel);     
  }
  if(estado=='c'){         // Boton Parar
      analogWrite(derB, 0);    
      analogWrite(izqB, 0);
      analogWrite(derA, 0);   
      analogWrite(izqA, 0);
  }
  if(estado=='d'){          // Boton DER
       analogWrite(derB, 0);    
       analogWrite(izqB, 0);
       analogWrite(izqA, 0);
       analogWrite(derA, vel); 
  }
 
  if(estado=='e'){          // Boton Reversa
       analogWrite(derA, 0);   
       analogWrite(izqA, 0);
       analogWrite(derB, vel); 
       analogWrite(izqB, vel);     
  }
  if (estado =='f'){          // Boton ON se mueve sensando distancia

  }
  if  (estado=='g'){          // Boton OFF, detiene los motores no hace nada
  }
}






En Robótica Educativa RED Matamoros estamos iniciando  el curso de Robótica en desarrollos en Comunicaciones inalámbricas, donde recibirás el entrenamiento necesario para que tú puedas crear tu propia app y tu sistema inteligente de robot móvil de una manera facil y  entretenida asi como diversas practicas  de la placa arduino, si te interesa adquirir el kit  de comunicaciones inalambricas en robots moviles puedes  llamarnos  a los teléfonos  01 (868) 8134817 o síguenos en Facebook: https://www.facebook.com/roboticaRED/ " TE ESTAMOS ESPERANDO LLAMA YA!!! "




miércoles, 15 de marzo de 2017

ROBÓTICA EN DESARROLLOS " COMUNICACIONES INALAMBRICAS" 5.0

Comunicaciones Inalambricas


Una red Inalámbrica es  un conjunto de  computadoras conectadas entre sí utilizando un medio y un sistema de comunicacion  en común con la finalidad de compartir datos o bien un sistema de comunicación , que no utiliza medio físicos si no, propagación de muchas ondas electromagnéticas, utilizando radiofrecuencia para transmisión de datos. Algunas de las desventajas de esta tecnologia son: que utiliza radiaciones aproximadas a aparatos electrodomésticos como teléfonos inalámbricos, hornos de cocina, los cuales pueden producir interferencia en la  comunicacion  de dispositivos.

Bluetooth implementa Ondas de Radiofrecuencia de corto alcance, ya que es una de los medios de transmisión sencillos, económicos, fáciles de configurar y administrar.

Las transmisiones en esta banda están formadas por ondas con una longitud de cresta a cresta de 12.5cm que vibran a razón de 2.400 millones de veces cada segundo (de ahí los 2.4GHz). La amplitud de estas ondas es variable y depende de la intensidad con la que seamos capaces de transmitir la señal, es decir, de la energía que seamos capaces deutilizar para poder modularla.

En nuestra clase de comunicaciones inalámbricas, nuestros alumnos crearon un robot móvil controlado remotamente con un dispositivo celular mediante el uso del  módulo bluetooth compatible con las tarjetas arduino modelo HC-06 el cual nos permite tener una comunicación con un aparato inteligente  con conexión  bluetooth.
 Cabe destacar que  el módulo HC-06 puede ser utilizado por esta placa, el módulo HC-06 su comunicación es muy sencilla puesto a que este necesita de un aparato bluetooth para poder comunicarse, ya que recibe señales tanto de letras o números, que seria las instrucciones que son prestablecidas por el código de arduino.  Este a su vez funciona como receptor de señales de un teléfono inteligente atreves de la app. El módulo de bluetooth HC-06 opera de modo Esclavo   y recibe las señales de cualquier dispositivo en Comunicación App-Android a Arduino. 


Esta aplicación puede ser descargada en el siguiente link para realizar este proyecto


https://play.google.com/store/apps/details?id=appinventor.ai_clau_fabiolvera.CarBluetoothArduino






Te recordamos que en Robótica Educativa RED Matamoros contamos con el curso de Robótica en desarrollos en Comunicaciones inalámbricas, donde recibirán el entrenamiento necesario para que tú puedas crear tu propia app y tu sistema inteligente de robot móvil de una manera detallada y entretenida para más información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED”