Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Moving a two motors robot forward with Arduino and a joystick (https://www.sparkfun.com/products/9032)
- // by Luca Tringali
- //
- int dirbpin = 13;
- int dirapin = 12;
- int speedbpin = 11;
- int speedapin = 10;
- int hpin = 2; //joystick horizontal axis
- int vpin = 3; //joystick vertical axis
- int speeda = 0;
- int speedb = 0;
- int dir = 0;
- void setup()
- {
- pinMode(dirbpin, OUTPUT);
- pinMode(dirapin, OUTPUT);
- pinMode(speedbpin, OUTPUT);
- pinMode(speedapin, OUTPUT);
- }
- void loop()
- {
- // forward, backward
- int vval = analogRead(vpin);
- if (vval > 549) {
- dir = 1;
- vval = map(vval, 550, 1023, 0, 250);
- } else if (vval > 470) {
- vval = 0;
- } else {
- dir = 0;
- vval = map(vval, 470, 0, 0, 250);
- }
- // right, left
- int hval = analogRead(hpin);
- if (hval > 600) {
- speeda = vval;
- speedb = 0;
- } else if (hval > 400) {
- speeda = vval;
- speedb = vval;
- } else {
- speeda = 0;
- speedb = vval;
- }
- digitalWrite(dirapin, dir); // set direction
- analogWrite(speedapin, speeda); // set speed
- digitalWrite(dirbpin, dir); // set direction
- analogWrite(speedbpin, speedb); // set speed
- delay(10);
- }
- // if you are looking for RC http://abottravel.blogspot.it/2011/12/how-to-read-rc-radio-signals-with.html
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement