내장형 하드웨어/MindStorm

BricxCC를 이용한 마인드 스톰 구동 3 (Light 센서를 이용한 로봇 동작)

동화다아아 2011. 4. 7. 15:39

-Light 센서를 이용한 로봇 동작

 

  

테스트.

#define THRESHOLD 40 //THRESHOLD의 값을 40으로 고정


task main()

{

   SetSensorLight (IN_3); // 3번 포트로 light 센서 입력

   OnFwd(OUT_AC, 75);  // 75%의 속력으로 A,C모터 정방향 구동

   while (1)

   {

     if (Sensor(IN_3) > THRESHOLD) // light 센서의 입력 값이 40보다 크면 아래 구문이 동작한다.

     {

       OnRev(OUT_C,75); // C모터가 75%속도로 역방향 구동

       Wait(100);

       until(Sensor(IN_3) <= THRESHOLD); // light 센서의 입력 값이 40보다 작거나 같을 때

       OnFwd(OUT_AC,75); //A와 C모터가 전진한다.

     }

   }

}



[과제]

Line tracer

터치센서의 감지로, 왼쪽으로 검은 라인을 따라 트랙을 도는 로봇 구동


- 프로그램 작성.

#define THRESHOLD 50 //THRESHOLD의 값을 50으로 고정

task main()

{

   SetSensorLight (IN_3); // 3번 포트로 light 센서 입력

   OnFwd(OUT_AC, 75);  // 75%의 속력으로 A,C모터 정방향 구동

   while (true)

   {

     if (Sensor(IN_3) > THRESHOLD) // light 센서의 입력 값이 50보다 크면 아래 구문이 동작한다.

     {

       repeat(Sensor(IN_3) > THRESHOLD)

       OnRev(OUT_C,15); // 검은선을 벗어나게 되면 C모터가 역으로 15%의 속도로 움직인다.(왼쪽으로 방향이동)

       Wait(200);

       OnRev(OUT_A,15);

       OnFwd(OUT_C,15); // 오른쪽으로 서서히 이동한다.

       Wait(100);


       until(Sensor(IN_3) <= THRESHOLD); // 검은선이 감지되면 반복을 멈춘다.


       OnFwd(OUT_AC,75); // 다시 A,C가 75%의 속도로 정방향으로 움직인다.

     }

   }

}


동작 영상