Page 218 - MDP2022-3
P. 218
if(ser[f]>ser[d]){
sen = ser[f]; //측정값 10개 다 비교해서 가장 큰 값 찾기
turn = f;
}
}
}
if(turn>=0 && turn<5){
rx=2;
digitalWrite(send1 , 1);
digitalWrite(send2 , 0);
}
if(turn>=5 && turn <10){
rx=3;
digitalWrite(send1 , 0);
digitalWrite(send2 , 1);
}
}
else {
rx = 4;
digitalWrite(send1 , 1);
digitalWrite(send2 , 1);
stp=0;
}
}
//RTOS TaskDcMoter 함수 사용
void TaskDcMoter( void *pvParameters ) {
while(1) {
switch(rx) {
case 1: //dc모터 직진
servo.write(75);
digitalWrite(in1,1);
digitalWrite(in2,0);
digitalWrite(in3,1);
digitalWrite(in4,0);
analogWrite(ena, 90);
vTaskDelay(1);
analogWrite(enb, 100);
vTaskDelay(1);
break;
case 2: //dc모터 우회전