Stap 8: Stap 8: programmeren van de Arduino
1. download de Amarino library voor de Arduino (dekoppeling).
2. pak het zip-bestand naar de map: arduino_install_dir/libraries/extract_meetandroid.zip_here 3.
4. u kunt doorgaan met installeren met de Arduino Uno programmeren.
Hier ziet u de broncode voor de Arduino. Kopieer de onderstaande code en het laden op de 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;
zweven gegevens [3] = {0};
int intdata [3] = {0};
int i = 1;
MeetAndroid meetAndroid(error);
VOID fout (uint8_t vlag, uint8_t waarden)
{
Serial.Print ("fout:");
Serial.Print(Flag);
}
VOID Setup {}
Serial.begin(9600);
Serial.println("\t\t\t.---.");
Serial.println ("\t\t\t| Opstarten... |");
Serial.println("\t\t\t'---'");
pinMode (EnablePin1, uitvoer);
pinMode (EnablePin2, uitvoer);
pinMode (Motor_1_A, uitvoer);
pinMode (Motor_1_B, uitvoer);
pinMode (Motor_2_A, uitvoer);
pinMode (Motor_2_B, uitvoer);
delay(1000);
meetAndroid.registerFunction (floatValues, 'A');
}
void loop
{
meetAndroid.receive();
}
VOID floatValues (byte vlag, numOfValues bytes)
{
meetAndroid.getFloatValues(data);
for (int i = 0; ik < 3; i ++)
{
meetAndroid.send(data[i]);
}
Als (-10 < = data [0] < = 10) / / Dit is voor vooruit-/ achteruitspoelen
{
intdata [0] = int(data[0]);
intdata [0] = intdata [0] * 24;
Als (gegevens [0] < = -2)
{
intdata [0] = abs(intdata[0]);
digitalWrite (Motor_1_A, hoge);
digitalWrite (Motor_2_A, hoge);
digitalWrite (Motor_1_B, laag);
digitalWrite (Motor_2_B, laag);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
anders als (gegevens [0] > = 2)
{
digitalWrite (Motor_1_A, laag);
digitalWrite (Motor_2_A, laag);
digitalWrite (Motor_1_B, hoge);
digitalWrite (Motor_2_B, hoge);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
anders als (-1 < = data [0] < = 1)
{
digitalWrite (Motor_1_A, laag);
digitalWrite (Motor_2_A, laag);
digitalWrite (Motor_1_B, laag);
digitalWrite (Motor_2_B, laag);
digitalWrite (EnablePin1, laag);
digitalWrite (EnablePin2, laag);
}
}
Als (-10 < = data [1] < = 10) / / Dit is voor draai links/draai rechts
{
Als (gegevens [1] < = -2)
{
digitalWrite (Motor_1_A, hoge);
digitalWrite (Motor_2_B, hoge);
digitalWrite (Motor_1_B, laag);
digitalWrite (Motor_2_A, laag);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
anders als (gegevens [1] > = 2).
{
digitalWrite (Motor_1_A, laag);
digitalWrite (Motor_2_B, laag);
digitalWrite (Motor_1_B, hoge);
digitalWrite (Motor_2_A, hoge);
analogWrite (EnablePin1, intdata[0]);
analogWrite (EnablePin2, intdata[0]);
}
anders als (-1 < = data [1] < = 1)
{
digitalWrite (Motor_1_A, laag);
digitalWrite (Motor_2_A, laag);
digitalWrite (Motor_1_B, laag);
digitalWrite (Motor_2_B, laag);
digitalWrite (EnablePin1, laag);
digitalWrite (EnablePin2, laag);
}
}
}