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 -
   31   32   33   34   35   36   37   38   39   40   41