۱۵-آبان-۱۳۹۲, ۱۵:۲۳:۰۶
۱۵-آبان-۱۳۹۲, ۱۶:۰۶:۲۹
۱۶-آبان-۱۳۹۲, ۰۰:۱۶:۵۷
داش دمت گرم تا حدودی متوجه شده می خواستم ببینم امکانش هست ی آلگوریتم از اجرای این پروژه برام بگذارید... آخه این برنامه ها اکثرا PIC یا 8051 من زیاد سر در نیاوردم...
تا جایی که من متوجه شدم به یه پایه باید یک دیتا مربوط به حرارت یا رطوبت بدیم و بعد منتظر دریافت دیتا بشیم ولی نمی دونم پالس کلاک ش چطور باید بدیم یا چه فرکانسی باید داشته باشه!!!
تا جایی که من متوجه شدم به یه پایه باید یک دیتا مربوط به حرارت یا رطوبت بدیم و بعد منتظر دریافت دیتا بشیم ولی نمی دونم پالس کلاک ش چطور باید بدیم یا چه فرکانسی باید داشته باشه!!!
۱۶-آبان-۱۳۹۲, ۱۵:۲۸:۴۷
(۱۶-آبان-۱۳۹۲, ۰۰:۱۶:۵۷)blackstar368 نوشته است: [ -> ]داش دمت گرم تا حدودی متوجه شده می خواستم ببینم امکانش هست ی آلگوریتم از اجرای این پروژه برام بگذارید... آخه این برنامه ها اکثرا PIC یا 8051 من زیاد سر در نیاوردم...
تا جایی که من متوجه شدم به یه پایه باید یک دیتا مربوط به حرارت یا رطوبت بدیم و بعد منتظر دریافت دیتا بشیم ولی نمی دونم پالس کلاک ش چطور باید بدیم یا چه فرکانسی باید داشته باشه!!!
من نمیدونم شرمنده
۱۸-آبان-۱۳۹۲, ۱۰:۲۳:۲۸
یعنی اینجا یک نفر هم نیست کمک کنه!!!! خیلی مهمه یک نفر ی کمکی بده!!! یعنی انقدر سخته!!!؟ بابا قبلا اینجا بیشتر کمک می کردین به آدم!!!!
۱۸-آبان-۱۳۹۲, ۱۶:۳۰:۰۱
عزیزم اینجا باید خودت شروع کنی تا بقیه کمکت کنن
[attachment=10585]
عکس پایه ها هم برات پایین پیوست کردم
کد php:
$regfile = "m32def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Rs = Pina.0 , E = Pina.2 , Db4 = Pina.4 , Db5 = Pina.5 , Db6 = Pina.6 , Db7 = Pina.7
Config Lcd = 16 * 2
Cursor Off
Cls
Dim I As Byte
Dim Z As Single
Dim Data_byte As Byte
Dim Data_msb As Byte
Dim Data_lsb As Byte
Dim Data_word As Word
Dim Crc As Byte
Dim Temp As Single
Dim Rh_liner As Single
Dim Command As Byte
Sck Alias Portc.1
Dataout Alias Portc.0
Datain Alias Pinc.0
Config Portc.1 = Output
Config Portc.0 = Output
Gosub Display_lcd_start_text
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
Gosub Display_lcd
Wait 1
Loop
End
'**********************************************
Display_lcd_start_text:
Cls :
Locate 1 , 1 : Lcd " www.RoboPardaz.com"
Locate 2 , 1 : Lcd "AVR PIC 8051"
Wait 2 : Cls : Waitms 200
Return
'*******************************************
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
Print "Status Register=" ; Data_msb
Print "Checksum=" ; Crc
Print
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.1 = Output ': Portc.1 = 1
Config Portc.0 = Output ': Portc.0 = 1
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.1 = Output ': Portc.1 = 1
Config Portc.0 = Output ': Portc.0 = 1
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.1 = Output : Portc.1 = 0
Config Portc.0 = Output : Portc.0 = 0
Shiftout Dataout , Sck , Command , 1
Return
'*******************************************
Wait_for_data_ready:
Config Portc.1 = Output ': Portc.1 = 0
Config Portc.0 = Input ': Portc.0 = 0
Set Dataout
For I = 1 To 255
If Dataout = 0 Then Exit For
Waitms 1
Next
Return
'*******************************************
Read_byte:
Config Portc.1 = Output : Portc.1 = 0
Config Portc.0 = Input : Portc.0 = 1
Shiftin Datain , Sck , Data_byte , 1
Return
'*******************************************
Signal_ack:
Config Portc.1 = Output ': Portc.1 = 0
Config Portc.0 = Output ': Portc.0 = 0
Reset Dataout : Reset Sck
Set Sck : Waitus 1
Reset Sck
Return
'*******************************************
Signal_end:
Config Portc.1 = Output ': Portc.1 = 1
Config Portc.0 = Output ': Portc.0 = 1
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
Return
'*******************************************
Calcula_temp_14bit:
Temp = 0.01 * Data_word
Temp = Temp - 40.1
Return
'*******************************************
Display_lcd:
Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32
Locate 1 , 1 : Lcd "RH: " ; Fusing(rh_liner , "#.#") ; "% "
Locate 2 , 1 : Lcd "Temp: " ; Fusing(temp , "#.#") ; Chr(0) ; "C "
Return
[attachment=10585]
عکس پایه ها هم برات پایین پیوست کردم
۱۸-آبان-۱۳۹۲, ۲۰:۰۸:۵۸
(۱۸-آبان-۱۳۹۲, ۱۶:۳۰:۰۱)kimiafars نوشته است: [ -> ]عزیزم اینجا باید خودت شروع کنی تا بقیه کمکت کننمرسی عزیز خیلی لطف کردی! خودت این پروژه رو اجرا کردی!!! ببخشید بد حرف زدم...
کد php:$regfile = "m32def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Rs = Pina.0 , E = Pina.2 , Db4 = Pina.4 , Db5 = Pina.5 , Db6 = Pina.6 , Db7 = Pina.7
Config Lcd = 16 * 2
Cursor Off
Cls
Dim I As Byte
Dim Z As Single
Dim Data_byte As Byte
Dim Data_msb As Byte
Dim Data_lsb As Byte
Dim Data_word As Word
Dim Crc As Byte
Dim Temp As Single
Dim Rh_liner As Single
Dim Command As Byte
Sck Alias Portc.1
Dataout Alias Portc.0
Datain Alias Pinc.0
Config Portc.1 = Output
Config Portc.0 = Output
Gosub Display_lcd_start_text
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
Gosub Display_lcd
Wait 1
Loop
End
'**********************************************
Display_lcd_start_text:
Cls :
Locate 1 , 1 : Lcd " www.RoboPardaz.com"
Locate 2 , 1 : Lcd "AVR PIC 8051"
Wait 2 : Cls : Waitms 200
Return
'*******************************************
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
Print "Status Register=" ; Data_msb
Print "Checksum=" ; Crc
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.1 = Output ': Portc.1 = 1
Config Portc.0 = Output ': Portc.0 = 1
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.1 = Output ': Portc.1 = 1
Config Portc.0 = Output ': Portc.0 = 1
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.1 = Output : Portc.1 = 0
Config Portc.0 = Output : Portc.0 = 0
Shiftout Dataout , Sck , Command , 1
Return
'*******************************************
Wait_for_data_ready:
Config Portc.1 = Output ': Portc.1 = 0
Config Portc.0 = Input ': Portc.0 = 0
Set Dataout
For I = 1 To 255
If Dataout = 0 Then Exit For
Waitms 1
Next
Return
'*******************************************
Read_byte:
Config Portc.1 = Output : Portc.1 = 0
Config Portc.0 = Input : Portc.0 = 1
Shiftin Datain , Sck , Data_byte , 1
Return
'*******************************************
Signal_ack:
Config Portc.1 = Output ': Portc.1 = 0
Config Portc.0 = Output ': Portc.0 = 0
Reset Dataout : Reset Sck
Set Sck : Waitus 1
Reset Sck
Return
'*******************************************
Signal_end:
Config Portc.1 = Output ': Portc.1 = 1
Config Portc.0 = Output ': Portc.0 = 1
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
Return
'*******************************************
Calcula_temp_14bit:
Temp = 0.01 * Data_word
Temp = Temp - 40.1
Return
'*******************************************
Display_lcd:
Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32
Locate 1 , 1 : Lcd "RH: " ; Fusing(rh_liner , "#.#") ; "% "
Locate 2 , 1 : Lcd "Temp: " ; Fusing(temp , "#.#") ; Chr(0) ; "C "
Return
عکس پایه ها هم برات پایین پیوست کردم
۱۹-آبان-۱۳۹۲, ۲۰:۵۸:۲۶
من sht1101 رو کار کردم اینو نه
۲۱-آبان-۱۳۹۲, ۱۵:۳۵:۴۸
(۱۹-آبان-۱۳۹۲, ۲۰:۵۸:۲۶)kimiafars نوشته است: [ -> ]من sht1101 رو کار کردم اینو نه
sht1101!!!!! سنسور دما و رطوبت!؟ من بیشتر ی الگوریتم می خواستم از چگونگی دیتا دادن بهش برنامه آماده به کارم نمیاد آخه برنامه ام خیلی سنگین میشه اینجوری اگه بخوام از برنامه های آماده استفاده کنم!! این چند روز هم وقت نشد روش خیلی کار کنم آخه گرم محرم بودم. اگر بتونید یه الگوریتم بهم بدین خیلی بهم کمک کردین...
۲۶-دى-۱۳۹۵, ۱۲:۱۷:۲۵
(۱۸-آبان-۱۳۹۲, ۱۰:۲۳:۲۸)blackstar368 نوشته است: [ -> ]یعنی اینجا یک نفر هم نیست کمک کنه!!!! خیلی مهمه یک نفر ی کمکی بده!!! یعنی انقدر سخته!!!؟ بابا قبلا اینجا بیشتر کمک می کردین به آدم!!!!
۲۶-دى-۱۳۹۵, ۱۲:۲۲:۴۷
سلام برهمه دوستان
اینم مدار شبیه سازی شده و برنامه بسکام راه اندازی سنسور SHT1X[attachment=13869][attachment=13869][attachment=13869][attachment=13869][attachment=13869]
اینم مدار شبیه سازی شده و برنامه بسکام راه اندازی سنسور SHT1X[attachment=13869][attachment=13869][attachment=13869][attachment=13869][attachment=13869]