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;