SELF-BALANCING ROBOT

 

Es un robot que mantiene el equilibrio en dos ruedas y se controla con una placa uno,un controlador de motores, de sensor un acelerómetro y por último, de actuadores dos motores.

Aquí, les dejamos los esquemas :

 

 

 

image

 

image

Por: Aida Galán Velilla y Emma Blanco Tapia.

Anuncios
Publicado en arduino | Deja un comentario

CAMBIAR EL NOMBRE AL BLUETOOTH PARA NO VOLVERNOS LOCOS EN CLASE

A continuación tenemos un programa que al subirse a arduino, nos permite cambiar nombre, velocidad y/o contraseña:

 

————————————————————–

#include <SoftwareSerial.h>

/* Programa el modulo bluetooth HC-06 con un nuevo:
  NOMBRE  (Nombre de 20 caracteres)
  PIN     (Clave de cuatro numeros)
  BPS     (Velocidad de conexion en baudios)
 

 
  CONEXIONES:
  ARDUINO   BLUETOOTH
  5V        VCC
  GND       GND
  PIN 2     TX
  PIN 3     RX
 
*/

SoftwareSerial BT(7, 8);   //Crea conexion al bluetooth – PIN 2 a TX y PIN 3 a RX

char NOMBRE[21]  = “HAWK”; // Nombre de 20 caracteres maximo
char BPS         = ‘4’;     // 1=1200 , 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200
char PASS[5]    = “1234”;   // PIN O CLAVE de 4 caracteres numericos    
 
void setup()
{
    BT.begin(38400); // inicialmente la comunicacion serial a 9600 Baudios (velocidad de fabrica)
   
    pinMode(13,OUTPUT);
    digitalWrite(13,HIGH); // Enciende el LED 13 durante 4s antes de configurar el Bluetooth
    delay(4000);
   
    digitalWrite(13,LOW); // Apaga el LED 13 para iniciar la programacion
   
    BT.print(“AT”);  // Inicializa comando AT
    delay(1000);
 
    BT.print(“AT+NAME”); // Configura el nuevo nombre
    BT.print(NOMBRE);
    delay(1000);                  // espera 1 segundo
 
    BT.print(“AT+BAUD”);  // Configura la nueva velocidad
    BT.print(BPS);
    delay(1000);
 
    BT.print(“AT+PIN”);   // Configura el nuevo PIN
    BT.print(PASS);
    delay(1000);   
}
 
void loop()
{
    digitalWrite(13, !digitalRead(13)); // cuando termina de configurar el Bluetooth queda el LED 13 parpadeando
    delay(300);
}

Publicado en arduino, bluetooth | Deja un comentario

BLUETOOTH CON ARDUINO SELECCIONANDO PINES RX TX

Para trabajar con las placas arduino conectadas al ordenador y a la vez poder utilizar el módulo bluetooth, es necesario no conectar el módulo bluetooth a los pines 0 y 1.

En primer lugar probaremos el siguiente programa para estar seguros de que la comunicación funciona y la velocidad es la correcta:

——————————————

#include <SoftwareSerial.h>

SoftwareSerial BT(7, 8); // RX | TX

char val;

void setup()
   { pinMode(13, OUTPUT);       

     pinMode(12, OUTPUT);      

   
     BT.begin(38400);
     Serial.begin(38400);
     Serial.write (“hola”);
     BT.write (“Hola”);
   }

void loop() { 
if(BT.available())    // Si llega un dato por el puerto BT se envía al monitor serial
  {
    Serial.write(BT.read());
  }
 
  if(Serial.available())  // Si llega un dato por el monitor serial se envía al puerto BT
  {
     BT.write(Serial.read());
  }
 
   }

——————————————————————-

Una vez funcione la comunicación, podemos probar el siguiente programa, el cual sirve para controlar dos led colocados en los pines 12 y 13:

   ———————————————————————-

#include <SoftwareSerial.h>

SoftwareSerial BT(7, 8); // RX | TX

char val;

void setup()
   { pinMode(13, OUTPUT);        // Al poner en HIGH forzaremos el modo AT
     pinMode(12, OUTPUT);        // cuando se alimente de aqui
   
     BT.begin(38400);
     Serial.begin(38400);
     Serial.write (“hola”);
     BT.write (“Hola”);
   }

void loop() { 
if(BT.available())    // Si llega un dato por el puerto BT se envía al monitor serial
  {
    val = BT.read ();
    Serial.write (val);  
  }

  if (val == ‘a’){
    digitalWrite (12, HIGH);
  }
 
   if (val == ‘b’){
    digitalWrite (13, HIGH);
  }
 
   if (val == ‘c’){
    digitalWrite (12, LOW);
    digitalWrite (13, LOW);
  }
}

————————————————-

Los comandos los enviaremos desde un teléfono móvil con una app tipo bluetooth controller.

Publicado en arduino, bluetooth, ywrobot | Deja un comentario

BLOG DE PARTICIPACIÓN EN RETO-TECH

Este curso estamos participando en la competición promovida por la Fundación Endesa. Os ponemos un link al blog del proyecto y si nos hacéis un favor entráis y nos votáis. Nosotros en compensación os regalaremos un jamón, es broma.

El proyecto es muy chulo y en el vídeo presentación veréis volar nuestro primer dron hecho en el taller. Seréis capaces de verlo??

http://retotech.fundacionendesa.org/ies-alfonso-moreno/

image

Publicado en proyectos | Deja un comentario

CONFIGURAR ESP8266 CON COMANDOS AT

image

Imagen | Publicado el por | Deja un comentario

Coche controlado por bluetooth con placas arduino uno y fundumoto.

Utilizaremos la aplicación para móvil bluetoothcontroller, la configuración y el interface son:

imageimage

en cada tecla enviamos una variable de tipo char.

El programa para arduino más sencillo será:

image

Declaramos la variable, inicializamos el puerto serie y definimos todos estos pines como de salida. Si vemos la entrada dedicada a la placa fundumoto, veremos que los pines 10 y 12 controlan la rueda derecha, los pines 11 y 13 la rueda izquierda y el pin 4 el claxon.

image

Con estos comandos vemos si ha llegado algo por el puerto serie vía bluetooth, y lo que haya llegado lo almacenamos en la variable val. Importante el delay para que no se atragante.

imageimage

Y ahora la cadena de condicionales, con a suena el claxon, con b se mueve hacia adelante, etc.

Publicado en arduino, bluetooth, Shields | Deja un comentario

APPINVENTOR. Encender un led conectado a arduino desde una aplicación realizada con appinventor.

 

En primer lugar vamos a ver la parte de appinventor y luego veremos el lado de arduino. El diseño de pantalla podría ser algo como ésto:

image

hay que añadir dos componentes no visibles, el bluetooth, y un reloj. El listado de todos los componentes será:

image

Los bloques de programación para conexión y desconexión del bluetooth:

image

vemos como la conexión es muy sencilla, pero no se puede seleccionar el bluetooth, sino que se fija en el programa. Hay formas un poco más complejas para poder seleccionar uno u otro bluetooth.

La programación de los botones para encender o apagar el led consiste en el envío de una letra:

image

y no hace falta más en la parte de appinventor, veamos la parte de programación de arduino con el programa bitbloq de bq (programación por bloques).

Las conexiones serán las siguientes:

image

cuidado con el bluetooth RXD se conecta al 0 y TXD al 1, al contrario que el propio hardware. El conjunto de bloques será:

image

image

Definimos una variable para alojar el carácter enviado por bluetooth y con un par de condicionales encendemos y apagamos. Aunque en la aplicación del móvil pone led 2, se enciende el 13, es indiferente. hay una condicional para mostrar por puerto serie el carácter recibido, es para las primeras pruebas, luego se puede eliminar.

Se pueden añadir todas las acciones que se quieran enviando otros caracteres e implementando más condicionales

Publicado en AppInventor, arduino, bluetooth | Deja un comentario