Paso 3: Software
Hay dos trozos de código: uno para el Teensy y otro para el equipo
Teensy
El código Teensy es compatible con Arduino. Gestionamos el módulo de Bluetooth con la biblioteca de HardwareSerial
#include
#define MOTOR_PIN 4
HardwareSerial bt = HardwareSerial();
Servo myservo;
char c;
int pos = 0;
char intBuffer [12];
Cadena intData = "";
delimitador de int = (int) '\n';
void setup()
{
Serial.Begin(9600);
myservo.Attach(MOTOR_PIN); se fija el servo en el pin 9 al objeto servo
BT.Begin(9600);
BT.println ("Start!");
myservo.Write(130); Posición de 'Libre' en el inicio de la fuerza
}
void loop()
{
mientras (bt.available()) {}
Delay(3);
ch int = bt.read();
Si (ch == -1) {}
Controlar error
Serial.println ("sin datos");
}
else if (ch == delimitador) {}
Serial.println ("delimitador -> rotura");
rotura;
}
Else {}
intData += (char) ch;
}
}
Si (intData.length() > 0) {}
Copiar datos leídos en una matriz de char para uso atoi
Incluyen sala para el terminador nulo
int intLength = intData.length() + 1;
intData.toCharArray (intBuffer, intLength);
Reinicializar intData para uso próxima vez alrededor del lazo
intData = "";
Convertir a ASCII codificado entero a un int
int pos = atoi(intBuffer);
Si ((pos > 0) & & (pos < = 200)) {}
Serial.Print ("ir a la posición:");
Serial.println(int(POS));
myservo.Write(POS);
pos = 200;
}
}
}
Escritorio
He construido una pequeña aplicación en Python / Gtk, usando el bluetooth librairy. La rn bajo Linux box.
Envía la posición del servo manualmente desde el código python. Mina fue 130 para la posición de 'Libre', 70 'Trabajo' y '25' para 'Phone'. Puede calibrar usando una serial de la aplicación (como cutecom).
Debe insertar el módulo de Bluetooth MAC adress. Usted puede obtener con el comando hcitool
usuario > hcitool scan
Análisis...
00:XX:XX:XX:12:80 HC-05
usuario >
Como usar RFCOMM, debemos configurar el cuadro de linux
usuario > cat /etc/bluetooth/rfcomm.conf
#
# Archivo de configuración RFCOMM.
#
{} rfcomm0
enlazar sí;
dispositivo 00:13:03:19:12:80;
canal 1;
comentario "BT-001";
}
usuario >
usuario > cat/var/lib/bluetooth/< your_BT_adapter_addr > / adecuada
00:13:03:19:12:80 1234
usuario >