Robot Sanduino controlado via Bluetooth con Android

Robot Sanduino A01 con Bluetooth

En esta entrada mostramos como conectar un robot Sanduino A01 (basado en Arduino UNO) con módulo bluetooth a un teléfono Android, utilizando una aplicación creada por nosotros mismos.

Para esto necesitaremos el programa MIT App Inventor 2

DescargaAplicación en Linea

Y la libreria SoftwareSerial para Arduino

SoftwareSerialLibrary

Conexión del módulo Bluetooth a la placa Arduino


#include <SoftwareSerial.h>

int estado=0;
int multi=0;
#define RxD 10
#define TxD 11
SoftwareSerial BTSerial(RxD, TxD);
  

void setup(){
  Serial.begin(9600);
  BTSerial.flush();
  delay(500);
  BTSerial.begin(9600);
  //Insertar aquí
}

void loop(){
  if(BTSerial.available()>0){
    estado = BTSerial.read();
    Serial.write(estado);
    Serial.print("\r\n");
    //Insertar aquí
  }
}

Para controlar el robot Sanduino


#include <SoftwareSerial.h>

int tRetrocede = 500;
int tAvanza = 50;
int tAlto = 40;
int tGiro = 70;

int estado=0;
int multi=0;
#define RxD 10
#define TxD 11
SoftwareSerial BTSerial(RxD, TxD);
  
void setup(){
  Serial.begin(9600);
     BTSerial.flush();
  delay(500);
  BTSerial.begin(9600);

  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  
}

void loop(){
  if(BTSerial.available()>0){
    estado = BTSerial.read();
    Serial.write(estado);
    Serial.print("\r\n");
    digitalWrite(9,HIGH);
  }
  if (estado == '1') {
    avanza(100);
    Serial.print("Avanza");
  }
  if (estado == '2') {
    derecha(100);
    Serial.print("Derecha");
  }
  if(estado == '3') {
    retrocede(100);
    Serial.print("Retrocede");
  }
  if(estado == '4') {
    izquierda(100);
    Serial.print("Izquierda");
  }
  if(estado == '5') {
    alto(0);
    Serial.print("Alto");
  }
}

void alto(int ms) {
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  delay(ms);
}

void derecha (int ms) {
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(8,LOW);
  digitalWrite(9,HIGH);
  delay(ms);
}
void izquierda (int ms) {
  digitalWrite (6, LOW);
  digitalWrite (7, HIGH);
  digitalWrite (8, HIGH);
  digitalWrite (9, LOW);
  delay (ms);
}
void avanza (int ms) {
  digitalWrite (6, HIGH);
  digitalWrite (7, LOW);
  digitalWrite (8, HIGH);
  digitalWrite (9, LOW);
  delay (ms);
}

void retrocede (int ms) {
  digitalWrite(6,LOW);
  digitalWrite(7,HIGH);
  digitalWrite(8,LOW);
  digitalWrite(9,HIGH);
  delay(ms);
}

Las funciones para mover el robot son las mismas funciones básicas describas en la entrada Robot Sanduino Control con funciones.

Cursos

En el Instituto de Robótica de Xalapa se imparten cursos y talleres de robótica en verano y permanentes para niños, jóvenes y adultos, tales como:

  • Cursos de Robótica para Niños y Jóvenes
  • Cursos de Arduino
  • Cursos de robótica con Arduino
  • Cursos de robótica con Lego Mindstorms NXT y EV3
  • Cursos de Raspberry Pi

El iRoX cuenta con amplia experiencia en la formación de niños y jóvenes, así como en la participación en eventos y concursos de robótica.

Cursos y talleres 2017

Más información en el sitio web del iRoX: www.iRoX.mx.