Page 215 - MDP2022-3
P. 215

• 소프트웨어 설계 (곽재원, 장선)




            1. 개요
             아두이노를 사용하여 발려 로봇이 DC모터를 통해 전진, 정지, 좌/우회전을 할 수 있다.
             초음파 센서의 값을 받아 거리를 비교하여 반려 로봇이 움직이는 방향을 판단한다.
             초음파 센서로 받은 값을 아두이노를 통해 DC모터에 보내어 앞으로 전진하도록 하였다.

             반려 로봇이의 다리가 움직이는 모습은 초음파 센서의 값에 맞게 서보모터 동작을 코딩 하여
             구현했다.
             또한  라즈베리파이에서  Python을  사용하여  pi  camera를  제어해  거북이로봇에  시선을  화면에
             보여준다.



            2. 소프트웨어
            //DC모터,  초음파 센서 ---------------------------------------------------------------------------------
            #include <Servo.h>
            #include <Arduino_FreeRTOS.h>



            //RTOS 함수 생성
            void TaskDcMoter( void *pvParameters );
            void TaskSensor( void *pvParameters );



            //핀 번호 설정
            int servoPin = 9;
            int sen = 0;
            int ser[10] = {0,0,0,0,0,0,0,0,0,0};
            int turn = 0;

            int rx = 0;
            int echo = 11;
            int trig = 10;
            float duration = 0;
            int distance = 0;

            int action = 0;
            int ena = 3;
            int in1 = 4; //왼쪽 바퀴
            int in2 = 2;
            int enb = 6;

            int in3 = 5; //오른쪽 바퀴
            int in4 = 7;
            int num = 0;
            int j_state = 30;
            int stp = 0;
   210   211   212   213   214   215   216   217   218   219   220