Paso 8: Paso 8: programación Arduino
1. descargar la biblioteca Amarino para el Arduino (enlace).
2. extraer el archivo zip a la carpeta: arduino_install_dir/libraries/extract_meetandroid.zip_here 3.
4. usted puede proceder con la programación de Arduino Uno.
El siguiente es el código para el Arduino. Copie el código abajo y cargue sobre la Arduino:-
#include < MeetAndroid.h >
const int EnablePin1 = 3;
const int EnablePin2 = 6;
const int Motor_1_A = 2;
const int Motor_1_B = 4;
const int Motor_2_A = 5;
const int Motor_2_B = 7;
flotador de datos [3] = {0};
intdata int [3] = {0};
int i = 1;
MeetAndroid(error) de MeetAndroid;
void errores (uint8_t bandera, uint8_t valores)
{
Serial.Print ("ERROR:");
Serial.Print(flag);
}
void setup() {}
Serial.Begin(9600);
Serial.println("\t\t\t.---.");
Serial.println ("\t\t\t| Puesta en marcha... |");
Serial.println("\t\t\t'---'");
pinMode (EnablePin1, salida);
pinMode (EnablePin2, salida);
pinMode (Motor_1_A, salida);
pinMode (Motor_1_B, salida);
pinMode (Motor_2_A, salida);
pinMode (Motor_2_B, salida);
Delay(1000);
meetAndroid.registerFunction (floatValues, 'A');
}
void loop()
{
meetAndroid.receive();
}
void floatValues (bandera de bytes, numOfValues bytes)
{
meetAndroid.getFloatValues(data);
para (int i = 0; i < 3; i ++)
{
meetAndroid.send(data[i]);
}
Si (-10 < = datos [0] < = 10) / / esto es para avance/retroceso
{
intdata [0] = int(data[0]);
intdata [0] = intdata [0] * 24;
Si (datos [0] < = -2)
{
intdata [0] = abs(intdata[0]);
digitalWrite (Motor_1_A, alto);
digitalWrite (Motor_2_A, alto);
digitalWrite (Motor_1_B, bajo);
digitalWrite (Motor_2_B, bajo);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
else if (datos [0] > = 2)
{
digitalWrite (Motor_1_A, bajo);
digitalWrite (Motor_2_A, bajo);
digitalWrite (Motor_1_B, alto);
digitalWrite (Motor_2_B, alto);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
else if (-1 < = datos [0] < = 1)
{
digitalWrite (Motor_1_A, bajo);
digitalWrite (Motor_2_A, bajo);
digitalWrite (Motor_1_B, bajo);
digitalWrite (Motor_2_B, bajo);
digitalWrite (EnablePin1, bajo);
digitalWrite (EnablePin2, bajo);
}
}
Si (-10 < = datos [1] < = 10) / / esto es para girar a la izquierda/girar a la derecha
{
Si (datos [1] < = -2)
{
digitalWrite (Motor_1_A, alto);
digitalWrite (Motor_2_B, alto);
digitalWrite (Motor_1_B, bajo);
digitalWrite (Motor_2_A, bajo);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
else if (datos [1] > = 2).
{
digitalWrite (Motor_1_A, bajo);
digitalWrite (Motor_2_B, bajo);
digitalWrite (Motor_1_B, alto);
digitalWrite (Motor_2_A, alto);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
else if (-1 < = datos [1] < = 1)
{
digitalWrite (Motor_1_A, bajo);
digitalWrite (Motor_2_A, bajo);
digitalWrite (Motor_1_B, bajo);
digitalWrite (Motor_2_B, bajo);
digitalWrite (EnablePin1, bajo);
digitalWrite (EnablePin2, bajo);
}
}
}