Stap 5: codering
Code: - voor zender
int sen0 = A0; x-as van de versnellingsmeter
int sen1 = a1 worden verkregen; y-as van de versnellingsmeter
int sen2 = A2; Flex sensor
VOID Setup
{
Serial.begin(9600);
}
void loop
{
int val0 = map(analogRead(sen0), 260 450, 100, 210); kaart die inkomende waarden in requried bereik Serial.print(val0); verzenden van gegevens via Xbee
int val1 = map(analogRead(sen1), 260 450, 100, 210);
Serial.Print(val1);
int val2 = map(analogRead(sen2), 450, 620, 100, 210);
Serial.Print(val2);
delay(50); vertraging van 50 ms
}
.
.
.
.
Code - voor ontvanger
#include < Servo.h >
int servo0Pin = 6;
int servo1Pin = 7;
int servo2Pin = 8;
Servo myservo0;
Servo myservo1;
Servo myservo2;
int val0 = 2;
int val1 = 3;
int val2 = 4;
int val3 = 5;
int buttonState0 = 0;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int out0 = 9;
int out1 = 10;
int out2 = 11;
int out3 = 12;
int d, i, n;
int u, v, w;
int dlast, nlast, ilast;
VOID Setup
{
Serial.begin(9600);
pinMode (out0, OUTPUT);
pinMode (out1, OUTPUT);
pinMode (out2, OUTPUT);
pinMode (out3, OUTPUT);
pinMode (val0, INPUT);
pinMode (val1, INPUT);
pinMode (val2, INPUT);
pinMode (val3, INPUT);
myservo0.attach(servo0Pin);
myservo1.attach(servo1Pin);
myservo2.attach(servo2Pin);
}
void loop
{
while(Serial.available() == 0);
int gegevens = Serial.read() - '0';
byte een = Serial.read();
byte b = Serial.read();
byte c = Serial.read();
byte f = Serial.read();
byte g = Serial.read();
byte h = Serial.read();
byte k = Serial.read();
byte l = Serial.read();
byte m = Serial.read();
d = (c-48) + (b-48) * 10 + (a-48) * 100;
d = kaart (d, 100, 130, 210, 20);
d = beperken (d, 20, 130);
Ik = (h-48) + (g-48) * 10 + (f-48) * 100;
Ik kaart = (ik, 100, 130, 210, 20);
Ik = beperken (i, 20, 130);
n = (m-48) + (l-48) * 10 + (k-48) * 100;
n = kaart (n, 100, 130, 210, 20);
n = beperken (n, 20, 130);
Als (d < 130 & & d > 20)
{
Als (dlast-d < = 20)
{
Als (u
{
u = u + 2;
}
Als (u == d)
{
u = u;
}
Als (u > d)
{
u = u-2;
}
myservo0.write(u);
Serial.Print(u);
Serial.Print ("\t");
}
}
Als (ik < 130 & & ik > 20)
{
Als (ilast-i < = 20)
{
Als (v
{
v = v + 2;
}
Als (v == ik)
{
v = v;
}
Als (v > ik)
{
v = v-2;
}
myservo1.write(v);
Serial.Print(v);
Serial.Print ("\t");
}
}
Als (n < 130 & & n > 20)
{
Als (nlast-n < = 20)
{
Als (w
{
w = w + 2;
}
if(w==n)
{
w = w;
}
Als (w > n)
{
w = w-2;
}
myservo2.write(w);
Serial.Print(w);
Serial.Print ("\t");
}
}
Serial.println();
Serial.Flush();
int d = (int);
int e = (int) b;
int f = c (int);
DLast = d;
ilast = i;
nlast = n;
buttonState0 = digitalRead(val0);
buttonState1 = digitalRead(val1);
buttonState2 = digitalRead(val2);
buttonState3 = digitalRead(val3);
Als (buttonState3 == LOW & & buttonState2 == LOW & & buttonState1 == HIGH & & buttonState0 == LOW) {}
digitalWrite (out0, hoge);
digitalWrite (out1, laag);
digitalWrite (out2, laag);
digitalWrite (out3, hoge);
}
Als (buttonState3 == LOW & & buttonState2 == HIGH & & buttonState1 == LOW & & buttonState0 == LOW) {}
digitalWrite (out0, hoge);
digitalWrite (out1, laag);
digitalWrite (out2, laag);
digitalWrite (out3, laag);
}
Als (buttonState3 == LOW & & buttonState2 == HIGH & & buttonState1 == HIGH & & buttonState0 == LOW) {}
digitalWrite (out0, laag);
digitalWrite (out1, laag);
digitalWrite (out2, laag);
digitalWrite (out3, hoge);
}
Als (buttonState3 == HIGH & & buttonState2 == LOW & & buttonState1 == LOW & & buttonState0 == LOW) {}
digitalWrite (out0, laag);
digitalWrite (out1, hoge);
digitalWrite (out2, hoge);
digitalWrite (out3, laag);
}
Als (buttonState3 == LOW & & buttonState2 == HIGH & & buttonState1 == LOW & & buttonState0 == HIGH) {}
digitalWrite (out0, laag);
digitalWrite (out1, laag);
digitalWrite (out2, laag);
digitalWrite (out3, laag);
}
delay(50);
}