Paso 4: Modificar el programa de lineFollowing.ino
Ahora tenemos que modificar nuestro programa de lineFollow.ino como el juego de radio de RF tiene requerimientos ligeramente distintos que nuestro puerto serie duro codificada hace.
Estos son los cambios que necesitamos hacer:
#include "SoftwareSerial.h"
#include "MakeItRobotics.h"
#define rxPin 4
#define txPin 5
Line_following de MakeItRobotics;
MySerial SoftwareSerial = SoftwareSerial (rxPin, txPin);
int contador;
En nuestra sección de definición tenemos que agregar una variable de contador que se utilizará para probar el puerto serie inalámbrico. Este contador tendrá un tipo de dato de int.
void setup()
{
Serial.Begin(10420);
Dile el Arduino para comunicarse con Make: se
PCBdelay(500); retardo de 500 ms
line_following.line_following_setup();
inicializar el estado de la línea que sigue el robot
line_following.all_stop(); todos los motores se paran
pinMode (rxPin, entrada);
pinMode (txPin, salida);
establecer la tarifa de datos para el puerto SoftwareSerial
mySerial.begin(9600);
mySerial.begin(1200);
Contador = 0;
}
En nuestra función setup() tenemos que hacer los siguientes cambios: tenemos que comentar la mySerial.begin(9600); comando y agregue el siguiente comando:
mySerial.begin(1200);
1200 es la velocidad en baudios (velocidad de transferencia de datos) que las radios RF pueden comunicarse entre sí. Este valor puede ser diferente para sus radios.
Consulte su documentación. En mi situación la radio vino con ninguna documentación, así que primero probé 2400 baudios, que no funcionó, por lo que baja la velocidad a 1200 baudios, que hizo el trabajo.
También inicializamos la variable contador a un valor de 0. En la función Loop() debemos agregar lo siguiente:
mySerial.println (sensor_in, hexagonal);
mySerial.println (contador, DEC);
contador ++;
Primero nos comente el mySerial.printLn (sensor_in, hexagonal); línea y agregue la siguiente línea:
mySerial.printLn (counterm DEC);
Para probar que hemos configurado correctamente nuestras radios RF sólo queremos enviar algunos números a nuestra plataforma. Más adelante cuando nos aseguramos de que nuestras conexiones RF están trabajando vamos a cambiar el mySerial.printLn() a lo que era antes.
Estos son todos los cambios que necesitamos hacer.
Simplemente conecte el cable USB al conector USB de Arduino en su robot. Primero vamos a compilar y cargar el programa en el Arduino.
Recuerde que necesitamos comprobar para asegurarse de que estamos usando el número de puerto serial correcto, Compruebe la entrada de blog anterior "hacer: es robótica Starter Kit-2 de la parte de Software para obtener más información sobre cómo realizar esta tarea.
Recuerde que no es necesario activar los interruptores de la caja de la batería para que el robot se comunican a través del puerto serial.
Una vez que su programa lineFollow.ino ha subido a la Arduino, enchufe el cable USB FTDI en el ordenador. Cargar el IDE de Arduino, seleccione el puerto serial correcto y abrir el programa Monitor Serial. Seleccione la velocidad correcta, en mi caso seleccioné 1200 baudios.
Si usted realiza todas las tareas correctamente debería ver lo siguiente en su programa monitor serial. El programa debería ser un poco diferente como esta pantalla se toma desde el IDE de Studio de ATMEL:
Si su monitor serial está recibiendo, lo que parece ser un montón de personajes basura o un montón de signos de interrogación.
Entonces su velocidad en baudios en el monitor serial no coincide con la velocidad en baudios que se establece en el programa de lineFollow.ino o necesita cambiar la velocidad en baudios que usa el programa como las radios RF pueden no apoya esta velocidad:
También es fácil de corromper el puerto serie, por lo que en muchas situaciones, es mejor desconectar todos los puertos USB y vuelva a intentarlo, tal vez incluso reinicien su máquina si usted no puede conseguir que funcione.
En el siguiente blog, tutorial configuramos el programa lineFollow.ino para enviar los datos del sensor a nuestro equipo mientras el robot está corriendo alrededor del círculo negro envío datos en tiempo real a nuestro ordenador de forma inalámbrica.