|
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2015
الدولة: turky
المشاركات: 115
|
|
نشاط [ abo hosen ]
قوة السمعة:
|
|
24-05-2016, 11:04 PM
المشاركة 13
|
|
السلام عليكم اخواني الاعزاء
انا اعاني من نفس المشكلة وقست خرج السنسور بالافو دجتل ولم يعطني اي قراءة وجربت سنسور اخر نفس الشئ
ولكن عند وصله بالمكرو يعطي ان قراءة الحرارةفي الغرفة هي 3.4 وتتغير نزلا الى 2.6 يعني حرارة البراد تقريبا هههههههه
مع العلم ان السنسورات تم شرائهم من مكان واحد
وطبعا لاتأكد من صحة السنسور قمت باشعال نار ولاعة بالقرب منه وقست بالاوفو ولم يعطي اي خرج ابدا
والله حاولت بكل السبل لاعرف اين العطل ولم استطع
ومن احدى المحاولات قمت بفصل البور للسنسور وقمت بوضع منظم جهد لتغذيته لوحدة ولم تعطي اي نتيجة فهل تنصحوني بأن اشتري حساس جديد من مكان اخر ام العطل بالكود مع اني استبعد ذلك كوني جربته على البروتس
وهل هناك حساس افضل من lm35
وهذا الكود المستخدم طبعا هذا المشروع مشروع فقاسة بيض دجاج الية
ule connections
sbit LCD_RS at RD2_bit;
sbit LCD_EN at RD3_bit;
sbit LCD_D4 at RD4_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D7 at RD7_bit;
sbit LCD_RS_Direction at TRISD2_bit;
sbit LCD_EN_Direction at TRISD3_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
// End LCD module connections
int x ;
float y;
float temp;
char temp_txt[15];
int counter=0;
void main()
{
trisa=0b11111111;
trisc.f3=0; portc.f3=0;
trisc.f2=0; portc.f2=0;
trisc.f1=0; portc.f1=0;
trisc.f0=0; portc.f0=0;
ADC_Init(); Lcd_Init();
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1,1,"Hatchery eggs");
delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"designd by");
delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"abo hosen");
delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"Temp=");
while(1)
{
x=adc_read(0); // digital value
y=(x*5.0/1023); //analog value
temp=y*100;
floattostr(temp,temp_txt);
temp_txt[5]='\0'; // terminate for array
lcd_out(1,1,"temp= ");
lcd_out_cp(temp_txt);
lcd_chr_cp(223);
lcd_chr_cp('c');
counter++;
if(counter > 14400){counter=0;portc.b2=1;}
delay_ms(1000);
if(counter > 120)portc.b2=0;
if(counter > 7200)portc.b3=1;
if(counter > 7320)portc.b3=0;
if(temp>38)
{
portc.f0=0;
Lcd_out (2,1,"Overheat");
}
else
{
PORTC.f0=1;
Lcd_out (2,1,"Normal " );
delaY_ms(500);
}
if(temp<36)
{
portc.f1=0;
Lcd_out (2,10,"fan off");
}
else
{
PORTC.f1=1;
Lcd_out (2,10,"fan on " );
}
}
}
|