سلام من با سنسور دما و رطوبت sht 10 یه دونه مدار بستم واسه جوجه کشی ک سنسور از فروشگاه همین سایت خریدم حالا مشکلم اینجاس ک سنسور اول کار خوب کار میکنه و دما و رطوبتو نشون میده اما بعد از مدتی ک ممکنه از چند دقیقه تا چند ساعت باشه یهو قاطی میکنه و هر لحظه یه عددی خونده میشه و دستگاه ارور میگیره...نمیدونم واقعا چرا اینطوریه...اگه مشگل از برنامه نویسی باشه ک نباید از اول درست کار کنه یا بعد از مدت کوتاهی دچار اشتباه بشه...از اون چیزاییه ک واقعا اذیت کنه...اگه کسی چیزی مدنظرش هست بگه ایشالا ک مشکل حل بشه...در ضمن من قبلا با یه سنسور دیگه برنامه رو تست کردم مشکلی نداشته
اطلاعیه
Collapse
No announcement yet.
قاطی کردن سنسور sht10
Collapse
X
-
پاسخ : قاطی کردن سنسور sht10
نوشته اصلی توسط reza kazemi68 نمایش پست هاسلام من با سنسور دما و رطوبت sht 10 یه دونه مدار بستم واسه جوجه کشی ک سنسور از فروشگاه همین سایت خریدم حالا مشکلم اینجاس ک سنسور اول کار خوب کار میکنه و دما و رطوبتو نشون میده اما بعد از مدتی ک ممکنه از چند دقیقه تا چند ساعت باشه یهو قاطی میکنه و هر لحظه یه عددی خونده میشه و دستگاه ارور میگیره...نمیدونم واقعا چرا اینطوریه...اگه مشگل از برنامه نویسی باشه ک نباید از اول درست کار کنه یا بعد از مدت کوتاهی دچار اشتباه بشه...از اون چیزاییه ک واقعا اذیت کنه...اگه کسی چیزی مدنظرش هست بگه ایشالا ک مشکل حل بشه...در ضمن من قبلا با یه سنسور دیگه برنامه رو تست کردم مشکلی نداشته
Sent from my Lenovo S5000-H using Tapatalk
-
پاسخ : قاطی کردن سنسور sht10
سلام دوستان من با کمک برنامه جوجه کشی داخل سایت با همین سنسور یه برنامه برداشتم که فقط دما و روطوبت رو رو ال سی دی نشون بده
سنسورم sht10 هست ا حدوت 60 سانتی متر سیم توی سایت نوین کیت زده بود که اگر روی سنسور مثبت و منفی رو با یه خازن 100 نانو بهم وصل کنی میتونی تا یه متر اضافه کنی سیمو
من این کار رو کردم . طبق مدار جوجه کشی که سنسور رو با یه مگا 8 خونده و بعد به صورت سریال فرستاده به میکرو من هم برای کلاک و هم دیتای سنسور مقاومت 10 کیلو پول اپ زدم البته من سریال نمیفرستم فقط
مقاومت ها رو عین اون مدار وصل کردم من فقط میخوام رو ال سی دی نشون بدم حالا مشکلی که دارم تو یهوای اتاق که حدود 20 درجه است دما رو 68 و رطوبت رو 121 درصد نشون میده
اینم بگم که با خازن و بدون خازنم تست کردم مقاومت پول اپ کلاک هم برداشتم بازم همین شد چندا برنامه دیگه هم از اینترنت و سایت بسکام و همین سایت خودمون گرفتم ولی بار نتونستم جواب بگیرم همین برنامه ی
اقای جودی رو هم تست کردم نتونستم جواب بگیرم
من به پورت c0 , C1 ,توی مگا 32 وصل کردم یعنی SCL وSDA ولی بقیه با پین های دیگه برنامه نوشتن البته من تو برنامه همه رو تعقیر دادم یعنی میشه مشکل از اون باشه
اینم برنامه من میشه کمکم کنید اشکالم کجاست
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Rs = Pina.0 , E = Pina.1 , Db4 = Pina.2 , Db5 = Pina.3 , Db6 = Pina.4 , Db7 = Pina.5
Config Lcd = 16 * 2
Cursor Off
Cls
Sck Alias Portc.0
Dataout Alias Portc.1
Datain Alias Pinc.1
Config Portc.0 = Output
Config Portc.1 = Output
Cls
Gosub Signal_reset : Waitms 10
Do
Command = &B00000101 : Gosub Get_sht10
Gosub Calcula_rh_liner_12bit
Command = &B00000011 : Gosub Get_sht10
Gosub Calcula_temp_14bit
Waitms 100
Locate 1 , 1 : Lcd "T=" ; Temp
Locate 2 , 1 : Lcd "h=" ; Humidity
Waitms 100
'**********************************************
Status_register_write:
Gosub Signal_start
Command = &B00000110 : Shiftout Dataout , Sck , Command , 1
Gosub Signal_ack
Command = &B00000000 : Shiftout Dataout , Sck , Command , 1
Gosub Signal_ack
Return
'*******************************************
Status_register_read:
Gosub Signal_start
Command = &B00000111
Shiftout Dataout , Sck , Command , 1
Gosub Signal_ack
Gosub Read_byte : Data_msb = Data_byte
Gosub Signal_ack
Gosub Read_byte : Crc = Data_byte
Return
'*******************************************
Setting_default:
Gosub Signal_start
Command = &B00011110 : Shiftout Dataout , Sck , Command , 1
Gosub Signal_ack
Waitms 100
Return
'*******************************************
Get_sht10:
Gosub Signal_start
Gosub Send_command
Gosub Signal_ack
Gosub Wait_for_data_ready
Gosub Read_byte : Data_msb = Data_byte
Gosub Signal_ack
Gosub Read_byte : Data_lsb = Data_byte
Gosub Signal_ack
Gosub Read_byte : Crc = Data_byte
Gosub Signal_end
Data_msb = Data_msb And &B00111111
Data_word = Makeint(data_lsb , Data_msb)
Return
'*******************************************
Signal_reset:
Config Portc.0 = Output
Config Portc.1 = Output
Reset Sck : Set Dataout : Waitus 1
For I = 1 To 9
Set Sck : : Waitus 1 :
Reset Dataout : Waitus 1
Next I
Return
'*******************************************
Signal_start:
Config Portc.0 = Output
Config Portc.1 = Output
Reset Sck : Set Dataout : Waitus 1
Set Sck : : Waitus 1 :
Reset Dataout : Waitus 1
Reset Sck : Waitus 1
Set Sck : Waitus 1
Set Dataout : : Waitus 1
Reset Sck : Waitus 1
Crc = 0
Return
'*******************************************
Send_command:
Config Portc.0 = Output : Portc.0 = 0
Config Portc.1 = Output : Portc.1 = 0
Shiftout Dataout , Sck , Command , 1
Return
'*******************************************
Wait_for_data_ready:
Config Portc.0 = Output
Config Portc.1 = Input
Set Dataout
For I = 1 To 255
If Dataout = 0 Then Exit For
Waitms 1
Next
Return
'*******************************************
Read_byte:
Config Portc.0 = Output : Portc.0 = 0
Config Portc.1 = Input : Portc.1 = 1
Shiftin Datain , Sck , Data_byte , 1
Return
'*******************************************
Signal_ack:
Config Portc.0 = Output
Config Portc.1 = Output
Reset Dataout : Reset Sck
Set Sck : Waitus 1
Reset Sck
Return
'*******************************************
Signal_end:
Config Portc.0 = Output
Config Portc.1 = Output
Set Dataout : Waitus 1
Set Sck : Waitus 1
Reset Sck : Waitus 1
Return
'*******************************************
Calcula_rh_liner_12bit:
Rh_liner = Data_word * Data_word
Rh_liner = Rh_liner * -0.0000015955
Z = 0.0367 * Data_word
Rh_liner = Rh_liner + Z
Rh_liner = Rh_liner - 2.0468
Humidity = ""
Humidity = Fusing(rh_liner , "#.#")
Return
'*******************************************
Calcula_temp_14bit:
Temp_single = 0.01 * Data_word
Temp_single = Temp_single - 40.1
Temp = ""
Temp = Fusing(temp_single , "#.#")
Return
'/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*
End
'/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*
دیدگاه
دیدگاه