Ännu en annan Exploration Rover web-kontrollerade (med Raspberry Pi och Arduino. Android, Iphone, PC, MAC compatible) (4 / 5 steg)
Steg 4: Ladda upp filen till din Arduino
Ladda upp denna skiss till din arduino, eller hämta år-sketch.ino
#include
Servo Hservo;
Servo Vservo;
int Hstate = 90.
int Vstate = 90.
int in1 = A2;
int in2 = A3;
int in3 = A4;
int in4 = A5;
int camup = 6;
int camdown = 7.
int camleft = 8;
int camright = 9;
int p2;
int p3;
int p4;
int p5;
int p6;
int p7;
int p8;
int p9;
void setup() {
Hservo.attach(10);
Vservo.attach(11);
pinMode (A2, indata);
pinMode (A3, indata);
pinMode (A4, indata);
pinMode (A5, indata);
pinMode (6, ingång);
pinMode (7, ingång);
pinMode (8, ingående);
pinMode (9, ingång);
pinMode (2, utgång);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
}
void loop() {
P2 = analogRead(A0);
P3 = analogRead(A1);
P4 = analogRead(A2);
P5 = analogRead(A3);
P6 = digitalRead(camup);
P7 = digitalRead(camdown);
P8 = digitalRead(camleft);
P9 = digitalRead(camright);
om (p6 == låg || p7 == låg)
Stop();
om (p6 == hög || p7 == hög)
Horizontal();
om (p8 == hög || p9 == hög)
Vertical();
om (p2 > 512)
Forward();
om (p3 > 512)
Backward();
om (p4 > 512)
Left();
om (p5 > 512)
Right();
}
void horizontal()
{
om (p6 == hög & & p7 == låg)
{Hstate = Hstate + 2;}
om (p6 == låg & & p7 == hög)
{Hstate = Hstate - 2;}
om (p6 == hög & & p7 == hög)
{Hstate = 90.}
om (Hstate > = 180) Hstate = 180;
om (Hstate < = 0) Hstate = 0;
Hservo.write(Hstate);
Delay(150);
}
void vertical()
{
om (p8 == hög & & p9 == låg)
{Vstate = Vstate + 2;}
om (p8 == låg & & p9 == hög)
{Vstate = Vstate - 2;}
om (p8 == hög & & p9 == hög)
{Vstate = 90.}
om (Vstate > = 180) Vstate = 180;
om (Vstate < = 0) Vstate = 0;
Vservo.write(Vstate);
Delay(150);
}
void forward()
{
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
void backward()
{
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
void left()
{
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
void right()
{
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
void stop()
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
Servo biblioteket bör vara installerad