Page 36 - 2
P. 36
8. 소프트웨어 작성하기
가 아두이노를 이용한 데이터 처리.
#include <Servo.h>
Servo myservo[2];
int xStable = 90;
int yStable = 90;
int xPosition1 = 0;
int yPosition1 = 0;
float xVelocity = 0;
float yVelocity = 0;
int xPosition = 512;
int yPosition = 512;
void setup()
{
Serial.begin(9600);
myservo[0].attach(6);
myservo[1].attach(7);
myservo[0].write(xStable);
myservo[1].write(yStable);
}
void loop()
{
xPosition = 512;
yPosition = 512;
pinMode(A1, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A0, INPUT);
pinMode(A2, INPUT);
digitalWrite(A1, LOW);
digitalWrite(A3, HIGH);
int xPosition0 = xPosition1;
xPosition1 = (analogRead(A0) + analogRead(A2)) / 2;
int xAdj = 0;
if (xPosition0 < 1023 && xPosition1 < 1023)
{
xVelocity = xPosition1 - xPosition0;
xAdj = round((xPosition1 - xPosition) / 8.0 + xVelocity * 1.25);
- 36 -