Page 584 - 2
P. 584

나. ATmega128   에서 데이터 처리를 위한 프로그램 소스


                1) RC 카 <-----------------------------------------------


            #include <mega128.h>
            #include <delay.h>


            //  로봇청소기
            #define cleaner_on PORTB.4 = 0, PORTB.5 = 1;
            #define cleaner_off PORTB.4 = 0, PORTB.5 = 0;
            #define led_output PORTB.6


            //  먹이 ON/OFF
            #define servo PORTB.7




            //  바퀴
            #define stop PORTC.0 = 0, PORTC.1 = 0 , PORTC.2 = 0, PORTC.3 = 0;
            #define go PORTC.0 = 0, PORTC.1 = 1 , PORTC.2 = 0, PORTC.3 = 1;
            #define back PORTC.0 = 1, PORTC.1 = 0, PORTC.2 = 1, PORTC.3 = 0;
            #define left PORTC.0 = 1, PORTC.1 = 0, PORTC.2 = 0, PORTC.3 = 1;
            #define right PORTC.0 = 0, PORTC.1 = 1, PORTC.2 = 1, PORTC.3 = 0;


            //  초음파 센서
            #define ECHO PORTD.0
            #define TRIG PORTD.1


            unsigned int sense = 0; //  청소기 작동 중 장애물이 있을 때 sense            에 1  을 넣어서 청소기 관리
            unsigned int sonic_timer, dist = 16, flag; //  초음파 센서
            unsigned char word; // RC 카 작동
            unsigned int time;


            void servo_motor(void) // 먹이통 열림 닫힘 제어,
            {
                for(time=0;time<=10;time++) // 열린 상태
                {
                    servo = 1;  delay_us(1000);
                    servo = 0;  delay_ms(20);
                }
                for(time=0;time<=10;time++) // 닫은 상태
                {
                    servo = 1; delay_us(625);
                    servo = 0; delay_ms(20);
                }
            }


                                                         - 584 -
   579   580   581   582   583   584   585   586   587   588   589