Page 147 - 최강 아두이노 스마트 자동차 로봇 키트
P. 147

OBJECT AVOIDANCE DRIVING(장애물 감지 운행)


               예제  코드  4wd_ex_8  과  4wd_ex_2  코드를  변형  및  재구성하여  장애물  감지  운행코
               드를  작성합니다.
               ex_8  예제는  초음파  센서를  이용한  방향  구하는  코드입니다.
               ex_2  예제는  DC 모터  방향  전환  코드입니다.

               아두이노  우노  R3  부팅,  정지  상태입니다.
               1 초후에  정방향  운행  시작합니다.  또는  1  초  딜레이  없어도  무방합니다.
               정방향  운전  시작과  동시에  초음파  거리  센서  측정  계속  진행됩니다.
               방향은  정방향  운행으로  시작합니다.  운행  중  거리값이  최소  거리일  경우에는  후진을
               합니다.  후진  후  잠시  정시  시켜  방향을  살펴보고  적절한  방향으로  운행을  시작합니
               다.
               간단히  위의  행동을  반복하게  됩니다.

               후진하게  되는  조건을  위한  변수가  추가되며  해당  변수를  사용하기  위한  간단한  로직
               이  추가  구현되게  됩니다.
               운행  로직이  추가  구현  되면서  기존의  함수도  약간  변경될  수  있습니다.



                        편의 기능 구현

               손으로  초음파  센서  근접  작동하여  운행  시작/정지  기능을  구현해  보도록  합니다.
               초음파  장애물  감지  운행시  시작과  끝을  리모컨이나  스위치를  사용하지  않고  손으로
               초음파  센서의  3  방향을  근접위치로  막아주면  운행  시작,  정지  기능을  구현해  봅니다.
               로직은  간단히  3 방향의  거리값  평균이  일정  수치보다  작으면  버튼  역할을  하게  해봅
               니다.

               아래는  수도(Pseudo,의사코드)  코드입니다.

               int averageDistance = (LEFT + CENTER + RIGHT) / 3;    // 3  방향의
               평균을 구합니다.

               if(averageDistance <  지정된 값  )
               {
                       현재 모드 운행 모드 체크 후 처리해줍니다.
               }







                                                   146
   142   143   144   145   146   147   148   149   150   151   152