Dataintrång min RC bil använder Arduino och Android Smart Phone (5 / 6 steg)
Steg 5: Arduino skiss
1 - nu ansluta Arduino till datorn med USB-kabel.
2 - Hämta Arduino IDE på datorn.
3-Hämta 1Sheeld bibliotek.
4-sätt 1Sheeld bibliotek i Arduino-1.0.5-r2\libraries.
5 - kopiera Arduino koden nedan och klistra in den i din skiss.
Om du vill styra med komplett hastighet, utan att använda PWM kontroll finns koden nedan.
ha roligt med smart-bil
kontroll med hjälp av gravitation sensor
Författare: Ahmed mahmoud
Datum: 18 Augst, 2014
inkludera < OneSheeld.h >
float x, y; definiera xand y för att lagra värden
int framåt = 9. definiera riktning framåt
int bacward = 10; definiera bakåt riktning
int höger = 11. definiera rätt riktning
int vänster = 6. definiera vänster riktning
void setup()
{
definiera output portar
OneSheeld.begin();
pinMode (framåt, OUTPUT);
pinMode (bacward, produktionen);
pinMode (höger, OUTPUT);
pinMode (vänster, utdata).
}
void loop()
{
får sensorn värde
x=GravitySensor.getX();
y=GravitySensor.getY();
styra vänster och höger med y sensor riktning
om (y > = 1)
{
digitalWrite (höger, hög);
digitalWrite (vänster, låg).
}
annars om (y < = -1)
{
digitalWrite (höger, låg);
digitalWrite (vänster, hög).
}
annat
{
digitalWrite (höger, låg);
digitalWrite (vänster, låg).
} //forward och bakåt
om (x > = 2)
{
digitalWrite (framåt, hög);
digitalWrite (bacward, låg);
}
annars om (x < = -2)
{
digitalWrite (framåt, låg);
digitalWrite (bacward, hög);
} annat
{
digitalWrite (framåt, låg);
digitalWrite (bacward, låg);
}
}
Om du vill styra med variabelamplitud hastighet med PWM kontroll, är här koden nedan.
ha roligt med smart-bil
kontroll med hjälp av gravitation sensor
Författare: Ahmed mahmoud
Datum: 18 Augst, 2014
#include < OneSheeld.h >
float x, y, xval, yval; definiera xand y för att lagra värden, och abslute värde också
int framåt = 9. definiera riktning framåt
int bacward = 10; definiera bakåt riktning
int höger = 11. definiera rätt riktning
int vänster = 6. definiera vänster riktning
void setup()
{
definiera output portar
OneSheeld.begin();
pinMode (framåt, OUTPUT);
pinMode (bacward, produktionen);
pinMode (höger, OUTPUT);
pinMode (vänster, utdata).
}
void loop()
{
får sensorn värde
x=GravitySensor.getX();
y=GravitySensor.getY();
xval = abs (x) * 20; Spara abslute värde för x och multbli det i 20 (hur få multibli nummer "1023/sensor range")
yval = abs (y) * 30; Spara abslute värde för x och multbli det i 30
styra vänster och höger med y sensor riktning
om (y > = 1)
{
analogWrite (rätt, yval);
digitalWrite (vänster, låg).
}
annars om (y < = -1)
{
digitalWrite (höger, låg);
analogWrite (vänster, yval);
}
annat
{
digitalWrite (höger, låg);
digitalWrite (vänster, låg).
} //forward och bakåt
om (x > = 2)
{
analogWrite (forward, xval);
digitalWrite (bacward, låg);
}
annars om (x < = -2)
{
digitalWrite (framåt, låg);
analogWrite (bacward, xval);
} annat
{
digitalWrite (framåt, låg);
digitalWrite (bacward, låg);
}
}
7-ladda ner 1Sheeld från AppStore till din smarta telefon.