[AVR]전자레인지 동작 동영상
2021. 11. 9. 22:20ㆍ코딩/AVR
Atmega128a사용
LCD , FND , BUZZER , BUTTON , MOTOR 사용
전자레인지 동작 동영상
main
while (1)
{
switch(modeState)
{
case mainmenu:
setFndData(myTime.min*60 + myTime.sec);
sprintf(buff," 1.cooking ");
I2C_LCD_write_string_XY(0, 0,buff);
sprintf(buff," 2.defrosting ");
I2C_LCD_write_string_XY(1, 0,buff);
if(getButton1State())
{
modeState = cook;
}
if(getButton2State())
{
modeState = defrost;
}
break;
case cook:
OCR3C = 100;
setFndData(myTime.min*60 + myTime.sec );
sprintf(buff, "1.1m 2.10s 3.can ");
I2C_LCD_write_string_XY(0, 0, buff);
sprintf(buff, "cel 4.start ");
I2C_LCD_write_string_XY(1, 0, buff);
if(getButton1State())
{
myTime.min++;
}
if(getButton2State())
{
myTime.sec = myTime.sec+10;
if(myTime.sec >=60)
{
myTime.sec = myTime.sec%60;
myTime.min++;
}
}
if(getButton3State())
{ myTime.sec =0;
myTime.min =0;
modeState = mainmenu;
}
if(getButton4State())
{
modeState = GO;
}
break;
case defrost:
OCR3C = 82;
setFndData(myTime.min*60 + myTime.sec );
sprintf(buff, "1.1m 2.10s 3.can ");
I2C_LCD_write_string_XY(0, 0, buff);
sprintf(buff, "cel 4.start ");
I2C_LCD_write_string_XY(1, 0, buff);
if(getButton1State())
{
myTime.min++;
}
if(getButton2State())
{
myTime.sec = myTime.sec+10;
if(myTime.sec >=60)
{
myTime.sec = myTime.sec%60;
myTime.min++;
}
}
if(getButton3State())
{ myTime.sec =0;
myTime.min =0;
modeState = mainmenu;
}
if(getButton4State())
{
modeState = GO;
}
break;
case GO:
setFndData(myTime.min*60 + myTime.sec);
forward_fan();
if(getButton1State())
{
myTime.min++;
}
if(getButton2State())
{
myTime.sec = myTime.sec+10;
if(myTime.sec >=60)
{
myTime.sec = myTime.sec%60;
myTime.min++;
}
}
if(getButton3State())
{ myTime.sec =0;
myTime.min =0;
modeState = mainmenu;
}
if(myTime.min+myTime.sec == 0)
{
modeState = mainmenu;
stop_fan();
PORTG |= 1 << BUZZER1;
_delay_ms(1000);
PORTG &= ~(1 << BUZZER1);
}
break;
}
}
}
문제점
1. 조리,해동모드 선택시 디스플레이에 현재 모드가 표기되지 않기에 이를 수정해야합니다.
2. 취소버튼은 있으나 이시정지 버튼이 없기 때문에 추가하는것이 좋다고 생각합니다.
3. 부저의 소리가 작아서 잘 들리지 않기때문에 저항을 조정하여야 합니다.
'코딩 > AVR' 카테고리의 다른 글
[AVR]출입 통제 시스템 (3) | 2021.11.09 |
---|---|
[AVR] 계산기 (0) | 2021.11.09 |
[AVR] 모터 속도제어 (선풍기) (0) | 2021.11.09 |
[AVR] UltraSonic 활용 (0) | 2021.11.09 |
[AVR] DP Blink/Stopwatch,Clock 구분 LED표시 시간 표시 기능 (0) | 2021.11.09 |