راه اندازی سنسور MQ9 با میکرو سلام
دوستان من این برنامه رو برای راه اندازی سنسور تشخیص گاز نوشتم در سه وضعیت 1-زمانی که در حالت عادی هست میزان گاز رو هیچی نمایش میده و وضعیت نرمال 2- زمانی که نشت گاز کم هست وضعیت خطر رو نشون میده و ال ای دی یا (بازر) روی پینb.7 به صورت چشمک زن عمل میکنه 3-زمانی که نشت گاز زیاد هست وضعیت خطر ناک رو نشون میده و ال ای دی یا (بازر) روی پینb.7 روشن میمونه
#include <mega16a.h>
#include <delay.h>
#include <alcd.h>
while (1)
{
delay_ms(2000);
v3=read_adc(3);
v3=v3*5/1023;
if(v3<0.9)
{
PORTB.7=0;
PORTD=0xc0;
lcd_gotoxy(0,0);
lcd_putsf(" Gas levels:Nothing ");
lcd_gotoxy(0,1);
lcd_putsf(" Normal ");
delay_ms(50);
}
else if(v3>0.9&&v3<2)
{
PORTD=0xf8;
lcd_gotoxy(0,0);
lcd_putsf(" Gas levels:Low ");
lcd_gotoxy(0,1);
lcd_putsf(" Danger ");
PORTB.7=1;
delay_ms(150);
PORTB.7=0;
delay_ms(150);
}
else if(v3>2)
{
PORTB.7=1;
PORTD=0xff;
lcd_gotoxy(0,0);
lcd_putsf(" Gas levels:High ");
lcd_gotoxy(0,1);
lcd_putsf(" Dangerous ");
delay_ms(50);
}
}
}
حال چند تا سوال برام پیش اومده ؟
اول اینکه من این برنامه رو روی ATmega 32a لود کردم و کاملا درست جواب گرفتم ولی روی دوتا Atmega16a که نو هم خریده بودم ریختم جواب نداد حتی برای تست مگا 16 یه برنامه ساده روشون پروگرم کردم و مدارشو روی بردبرد بستم درس کار میکرد
2-چند دقیقه طول میکشه تا ولتاژ سنسور MQ9 به حالت پایدار خودش برسه
3-اگه برای بهتر شدن کار مدار یا برنامه کسی ایده ای داره بگه
دوستان من این برنامه رو برای راه اندازی سنسور تشخیص گاز نوشتم در سه وضعیت 1-زمانی که در حالت عادی هست میزان گاز رو هیچی نمایش میده و وضعیت نرمال 2- زمانی که نشت گاز کم هست وضعیت خطر رو نشون میده و ال ای دی یا (بازر) روی پینb.7 به صورت چشمک زن عمل میکنه 3-زمانی که نشت گاز زیاد هست وضعیت خطر ناک رو نشون میده و ال ای دی یا (بازر) روی پینb.7 روشن میمونه
#include <mega16a.h>
#include <delay.h>
#include <alcd.h>
while (1)
{
delay_ms(2000);
v3=read_adc(3);
v3=v3*5/1023;
if(v3<0.9)
{
PORTB.7=0;
PORTD=0xc0;
lcd_gotoxy(0,0);
lcd_putsf(" Gas levels:Nothing ");
lcd_gotoxy(0,1);
lcd_putsf(" Normal ");
delay_ms(50);
}
else if(v3>0.9&&v3<2)
{
PORTD=0xf8;
lcd_gotoxy(0,0);
lcd_putsf(" Gas levels:Low ");
lcd_gotoxy(0,1);
lcd_putsf(" Danger ");
PORTB.7=1;
delay_ms(150);
PORTB.7=0;
delay_ms(150);
}
else if(v3>2)
{
PORTB.7=1;
PORTD=0xff;
lcd_gotoxy(0,0);
lcd_putsf(" Gas levels:High ");
lcd_gotoxy(0,1);
lcd_putsf(" Dangerous ");
delay_ms(50);
}
}
}
حال چند تا سوال برام پیش اومده ؟
اول اینکه من این برنامه رو روی ATmega 32a لود کردم و کاملا درست جواب گرفتم ولی روی دوتا Atmega16a که نو هم خریده بودم ریختم جواب نداد حتی برای تست مگا 16 یه برنامه ساده روشون پروگرم کردم و مدارشو روی بردبرد بستم درس کار میکرد
2-چند دقیقه طول میکشه تا ولتاژ سنسور MQ9 به حالت پایدار خودش برسه
3-اگه برای بهتر شدن کار مدار یا برنامه کسی ایده ای داره بگه