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모터 우회전
   213   214   215   216   217   218   219   220   221   222   223