Controlado por Arduino Bluetooth-bot (4 / 4 paso)

Paso 4: código

Este código puede descargarse de la página web del libro:
https://sites.Google.com/site/arduinorobotics/Arduino-Robotics/free_project

Bluetooth-bot v1
Robótica de Arduino no oficial capítulo 14
utilizar adaptador serial Bluetooth Mate para recibir comandos desde el PC
Arduino descodifica comandos en movimientos motores
Crea enlace serie inalámbrica alta velocidad para control de robots con teclado
Utiliza las teclas "i" =, "j" = izquierda, "k" = retroceso y "l" = a la derecha
control de velocidad también es implementado usando ","= velocidad hacia abajo,"" = la velocidad, y "/" = velocidad máxima.

Variables de control del motor L298
int M1_A = 12;    Si utiliza Ardumoto, cambiar al pin 13
int M1_PWM = 11;
int M1_B = 10; Si utiliza Ardumoto, retire esta variable

int M2_A = 4;   Si utiliza Ardumoto, cambiar al pin 12
int M2_PWM = 3;
int M2_B = 2;    Si utiliza Ardumoto, retire esta variable

Pin del LED conectado a Arduino D13
int LED = 13;

variable para almacenar los datos en serie
int incomingByte = 0;

variable para almacenar el valor de la velocidad
int speed_val = 255;

//////////////////////////////

void setup() {}

TCCR2B = TCCR2B & 0b11111000 | 0 x 01; cambiar frecuencia PWM para los pines 3 y 11 a 32kHz, así que no habrá ningún motor lloriquear

Inicio monitor serie a 115.200 bps
Serial.Begin(115200);

declarar salidas
pinMode (LED, salida);

pinMode (M1_A, salida);
pinMode (M1_PWM, salida);
pinMode (M1_B, salida);

pinMode (M2_A, salida);
pinMode (M2_PWM, salida);
pinMode (M2_B, salida);

Apague los motores por defecto
M1_stop();
M2_stop();

Delay(500);

}

////////////////////////////////////

void loop() {}

verificación de datos en serie
Si (Serial.available() > 0) {}
leer el byte entrante:
incomingByte = Serial.read();
Si está disponible, parpadea LED e imprimir datos serie recibidos.
digitalWrite (LED, alta);
decir lo que tienes:
Serial.Print ("recibido:");
Serial.println(incomingByte);
retardo de 10 milisegundos para permitir actualización serial
Delay(10);

Ver byte entrante para la dirección
Si el byte es igual a "46" o "," - aumentar velocidad
Si (incomingByte == 46) {}
speed_val = speed_val + 5;
test_speed();
Serial.println(speed_val);
}
Si el byte es igual a "44" o "."-reducir velocidad
else if (incomingByte == 44) {}
speed_val = speed_val - 5;
test_speed();
Serial.println(speed_val);
}
Si el byte es igual a "47" o "/" - velocidad máxima
else if (incomingByte == 47) {}
speed_val = 255;
test_speed();
}

Si el byte es igual a "105" o "yo", salir adelante
else if (incomingByte == 105) {}
M1_forward(speed_val);
M2_forward(speed_val);
Delay(25);
}
Si el byte es igual a "106" o "j", a la izquierda
else if (incomingByte == 106) {}
M1_reverse(speed_val);
M2_forward(speed_val);
Delay(25);
}
Si el byte es igual a "108" o "l", a la derecha
else if (incomingByte == 108) {}
M1_forward(speed_val);
M2_reverse(speed_val);
Delay(25);
}
Si el byte es igual a "107" o "k", ir atrás
else if (incomingByte == 107) {}
M1_reverse(speed_val);
M2_reverse(speed_val);
Delay(25);
}
de lo contrario, dejar ambos motores
Else {}
M1_stop();
M2_stop();
}

}

Else {}
M1_stop();
M2_stop();
digitalWrite (LED, baja);
}
}

void test_speed() {}
restringir el valor de la velocidad a entre 0 y 255
Si {} (speed_val > 250)
speed_val = 255;
Serial.println ("MAX");
}
Si (speed_val < 0) {}
speed_val = 0;
Serial.println ("MIN");
}

}

motricidad / / /

void M1_reverse(int x) {}
digitalWrite (M1_B, bajo);
digitalWrite (M1_A, alto);
analogWrite (M1_PWM, x);
}

void M1_forward(int x) {}
digitalWrite (M1_A, LOW);
digitalWrite (M1_B, alto);
analogWrite (M1_PWM, x);
}

void M1_stop() {}
digitalWrite (M1_B, bajo);
digitalWrite (M1_A, LOW);
digitalWrite (M1_PWM, bajo);
}

void M2_forward(int y) {}
digitalWrite (M2_B, bajo);
digitalWrite (M2_A, alto);
analogWrite (M2_PWM, y);
}

void M2_reverse(int y) {}
digitalWrite (M2_A, bajo);
digitalWrite (M2_B, alto);
analogWrite (M2_PWM, y);
}

void M2_stop() {}
digitalWrite (M2_B, bajo);
digitalWrite (M2_A, bajo);
digitalWrite (M2_PWM, bajo);
}

Artículos Relacionados

Lámpara de sobremesa - con caja de relé controlado por Arduino Bluetooth

Lámpara de sobremesa - con caja de relé controlado por Arduino Bluetooth

Hoy voy a mostrar cómo construir tu propia lámpara de escritorio controlado Bluetooth con arduino uno.Para este proyecto tienes que construir el ralay de caja que se puede encontrar aquí:(Nota: si no desea construir una caja se puede usar un módulo d
Controlado por Arduino lobo cola

Controlado por Arduino lobo cola

saludos, o mejor dicho, "Aaaaaooooooooooooh"! Complace en hacer su entusiasta compañero lobo de acquaintence. Tienes un espíritu lobo interior que es por lo que deseoso de darse a conocer que han venido a aprender a hacer tu cola de lobo animatr
Huevo-Bot controlado por Arduino DIY

Huevo-Bot controlado por Arduino DIY

En este instructables te mostrará cómo hacer tu propio Huevo-Bot controlado con Arduino. Que quería hacer antes pero pensé que es demasiado difícil para mí pero me equivoqué. Es fácil de construir que para que todo el mundo puede hacerlo.Paso 1: part
Bluetooth controlado por Arduino Dual Motor RC plataforma

Bluetooth controlado por Arduino Dual Motor RC plataforma

* De 06/07/15, me todavía falta parte del texto conjunto. Yo se ser acabado el Instructable poco, mientras tanto si tienes alguna pregunta no dude en escribirme o dejar un comentario.Con este Instructable, usted será capaz de construir y programar un
Con Bluetooth Robot controlado por Arduino mediante aplicación Android

Con Bluetooth Robot controlado por Arduino mediante aplicación Android

Después de intentar robot seguimiento remoto por mando a distancia IR. He proceder para controlar la misma plataforma del robot por BluetoothControlador Arduino a través de la aplicación para Android. Este método es más confiable, más distancia, mejo
Cómo hacer fotografía Time-lapse inteligente controlado por Arduino

Cómo hacer fotografía Time-lapse inteligente controlado por Arduino

proyecto: fotografía Time-lapse dinámica sensible a la luz y ajustablePor Holden Leslie-BoleCosto aproximado: $70 sin la cámaraHe estado haciendo alguna fotografía Time-lapse con mi GoPro HERO3 un rato ahora, y he conseguido algunas imágenes grandes.
Arduino Bluetooth-Bot con Android y LED

Arduino Bluetooth-Bot con Android y LED

Hola a todos,vamos a hacer un robot de bluetooth controlado por android.Su un instructivo paso a paso con algunas fotos y obviamente el código de arduino, si usted tiene preguntas por favor Pregúnteme. ¡ Gracias!Paso 1: Componentes del proyecto:1. un
El Hexachord, un instrumento Musical controlado por Arduino

El Hexachord, un instrumento Musical controlado por Arduino

El año pasado, con la fecha límite de la zona de Bahía Maker Faire, he creado un nuevo instrumento llamado el Hexachord. Era un montón de diversión, un gran éxito, y he tenido la oportunidad de hacer una serie de conversaciones sobre ello. El desafío
1Sheeld controlado por Arduino vehículo

1Sheeld controlado por Arduino vehículo

Utilizando 1Sheeld, mando un Arduino powered vehículo con el acelerómetro en tu Smartphone/Tablet.Paso 1: lo esencial Se requieren los siguientes elementos, o equivalente.1) cualquier Arduino powered plataforma del vehículo. En la foto es el Thumper
Lanzador de pelotas de Ping Pong controlado por Arduino

Lanzador de pelotas de Ping Pong controlado por Arduino

Hola todo el mundo!Se trata de un lanzador de pelotas de ping pong diseñado para ser controlado por un arduino.Utiliza un servo para dispensar las bolas y dos motores con las ruedas para dar velocidad y disparar.Todas las piezas pueden imprimirse uti
BlueDuino el Android controlado por Arduino Robot

BlueDuino el Android controlado por Arduino Robot

Para empezar este es mi primer instructivo y mi primer tutorial general. Con esto dijo señala en los comentarios lo que no entiendes en este post.Hace unas semanas tengo curiosidad sobre cómo Bluetooth control de arduino funciona, después de un poco
Bluetooth controlado por Arduino Scrapboat

Bluetooth controlado por Arduino Scrapboat

he sido planea hacer una lancha RC a vagar por los cursos de agua que están presentes en mi apartamento complejo durante mucho tiempo. Pero uno hickup u otro mantuvo frenando me. La mayor parte del tiempo, fue falta de tiempo o materiales requeridos.
Pequeño Smartphone controlado por Arduino tanque

Pequeño Smartphone controlado por Arduino tanque

en este Instructable te voy a mostrar cómo hacer un tanque de arduino controlado muy pequeño smartphone.He intentado hacer la TinyTank tan pequeños como sea posible, también quería controlarlo con un smartphone.Por lo menos que quería hacer fácil de
Micro Robot controlado por Bugbot Bluetooth

Micro Robot controlado por Bugbot Bluetooth

Bugbot es pequeño bluetooth conrolled robot. Es muy rápidoPaso 1: breve historia de tiempo construir¿Por qué construir largo?Porque al principio quería construir un quadcopter pequeña, en la imagen superior puedes ver mi marco impreso para él. Cuando