PDA

Orijinalini görmek için tıklayınız : 44. 2 eksen XY Joystick Modül ile servo kontrolü



bolubeyi
13.Eylül.2015, 02:24
Bu dersimizde 2 eksen XY Joystick Modül ile 2 adet servo motoru kontrol edeceğiz.

V8qpAuchFkg

https://temrinlerim.org/images/joy2.jpg

Fritzing çizimi:
Fritzing çizimini orjinal konu ekinden indirebilirsiniz.
https://temrinlerim.org/images/joy.png

Arduino kodlarımız:
Arduino dosyasını orjinal konu ekinden indirebilirsiniz.

#include <Servo.h>

const int servo1 = 3; // first servo
const int servo2 = 10; // second servo
const int joyH = 3; // L/R Parallax Thumbstick
const int joyV = 4; // U/D Parallax Thumbstick

int servoVal; // variable to read the value from the analog pin

Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo



void setup() {

// Servo
myservo1.attach(servo1); // attaches the servo
myservo2.attach(servo2); // attaches the servo

// Inizialize Serial
Serial.begin(9600);
}


void loop(){

// Display Joystick values using the serial monitor
outputJoystick();

// Read the horizontal joystick value (value between 0 and 1023)
servoVal = analogRead(joyH);
servoVal = map(servoVal, 0, 1023, 0, 180); // scale it to use it with the servo (result between 0 and 180)
myservo2.write(servoVal); // sets the servo position according to the scaled value

// Read the horizontal joystick value (value between 0 and 1023)
servoVal = analogRead(joyV);
servoVal = map(servoVal, 0, 1023, 180, 0); // scale it to use it with the servo (result between 70 and 180)

myservo1.write(servoVal); // sets the servo position according to the scaled value

delay(30); // waits for the servo to get there

}


/**
* Display joystick values
*/
void outputJoystick(){

Serial.print(analogRead(joyH));
Serial.print ("---");
Serial.print(analogRead(joyV));
Serial.println ("----------------");
}

Kaynak: https://temrinlerim.org/index.php?topic=229.0