Page 604 - 2
P. 604
int kor2[]={
0x01,0x15,0x1D,0x15,0x1D,0x01,0x01,0x00 // 비가 안 내립니다.
,0x02,0x1E,0x06,0x0B,0x12,0x02,0x02,0x00
,0x02,0x0A,0x17,0x0A,0x02,0x08,0x0E,0x00
,0x00,0x05,0x15,0x15,0x1F,0x05,0x05,0x00
,0x19,0x09,0x10,0x1D,0x07,0x05,0x07,0x00
,0x01,0x11,0x11,0x11,0x1D,0x01,0x00,0x00
,0x00,0x02,0x1A,0x12,0x1B,0x02,0x02,0x00
};
void RC_MOTOR(int angle) // 서보모터를 돌리기 위한 함수
{
int i;
if(angle<-90) angle=-90;// 모터의 각도가 90 도보다 떨어지는 걸 방지
if(angle>90) angle=90; // 모터의 각도가 90 도보다 커지는 걸 방지
i=(angle+90)*20+1500;
OCR1A=i; //PORTB.5
}
void dust_util(void)
{
if(dust_value<300) dust_flag=1; // 먼지가 감지될 때 동작되게 플래그에 1 을 넣는다.
}
void rain_util(void)
{
lcd_init(16);
if(rain_value<500) rain_flag=1;
else rain_flag=0;
if(rain_flag==1)
{
for(j=0;j<64;j++)
lcd_write_byte(0x40+j,kor1[j]); // 비가 내립니다. cgram 저장
for(j=0;j<8;j++)
lcd_write_byte(0x80+j,j); // 출력
RC_MOTOR(90); delay_ms(10);
}
if(rain_flag==0)
- 604 -