اطلاعیه

Collapse
No announcement yet.

درخواست برنامه رطوبت سنج

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درخواست برنامه رطوبت سنج

    سلام دوستان
    رشتم ict یه هیچ زمینه ای هم در مورد برنامه نویسی الکترونیک ندارم
    استادم بهم پروژه داده که یک برنامه دما - رطوبت سنج با sht11 بنویس روی mega 16 منم سرج زدم چیزی پیدا نکردم!
    دوستان میتونید راهنماییم کنید چه کنم؟

    #2
    پاسخ : درخواست برنامه رطوبت سنج

    تو نت با دقت بگرد هست. با چه زبانی برنامشو میخوای؟
    در جهان هرگز مشو مدیون احساس کسی - تا نباشد رایگان مهرت گروگان کسی
    گوهر خود را نزن بر سنگ هر ناقابلی - صبر کن پیدا شود گوهر شناس قابلی

    دیدگاه


      #3
      پاسخ : درخواست برنامه رطوبت سنج

      cکد ویژن

      دیدگاه


        #4
        پاسخ : درخواست برنامه رطوبت سنج

        می خوای روی LCD نمایش بدی؟
        یا روی UART؟
        اصلا قرار پیاده سازی بشه یا شبیه سازی؟
        http://massoud68.persiangig.com/pict...1406891613.gif

        مشکلتون حل شده ؟؟؟
        پس روی "موضوع به نتیجه رسید" کلیک کنید !! :job:

        دیدگاه


          #5
          پاسخ : درخواست برنامه رطوبت سنج

          سخت شد!
          از اونجا که نمیدونم uart چیه پس روی lcd خوبه؟
          هر چی باشه قبوله فقط دوستان یه کوچولو عجله دارم

          دیدگاه


            #6
            پاسخ : درخواست برنامه رطوبت سنج

            همچنان اپدیت

            دیدگاه


              #7
              پاسخ : درخواست برنامه رطوبت سنج

              سلام، تو سایت زیر یه پروژه عالی دماسنج و رطوبت سنج با سنسور SHT11 هست، کار میکنه.
              http://projects.m32.ir/2218/

              دیدگاه


                #8
                پاسخ : درخواست برنامه رطوبت سنج

                فک کنم این با sht10 باشه و مهم تر این که با بسکام نوشته شده من کد ویژن میخوام

                دیدگاه


                  #9
                  پاسخ : درخواست برنامه رطوبت سنج

                  کد بیسکام را برای تبدیل به C قرار دهید ....
                  تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                  علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                  دیدگاه


                    #10
                    پاسخ : درخواست برنامه رطوبت سنج

                    کد:
                    '************************************************************************
                    '*  Title        : Humidity and Temperature with SMT10    *
                    '*  Last Updated     : 2013/08/06                 *
                    '*  Micro Contoroler   : ATMEGA32                  *
                    '*  Clock frequency   : 1.000000 MHz                *
                    '*  Compiler       : Bascom AVR v1.11.9.0            *
                    '************************************************************************
                    
                    $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 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
                    
                    
                    '*******************************************
                    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
                    لینک سورس کد
                    http://projects.m32.ir/up/2013/08/index.htm

                    دیدگاه


                      #11
                      پاسخ : درخواست برنامه رطوبت سنج

                      نوشته اصلی توسط حـسام
                      فک کنم این با sht10 باشه و مهم تر این که با بسکام نوشته شده من کد ویژن میخوام
                      SHT10 , SHT11 , SHT15 یکی هستن فقط هرچی شماره میره بالاتر دقتش بیشتر میشه.
                      آره متاسفانه این کد با بیسیک نوشته شده.. :cry2:

                      دیدگاه


                        #12
                        پاسخ : درخواست برنامه رطوبت سنج

                        نوشته اصلی توسط حـسام
                        کد:
                        '************************************************************************
                        '*  Title        : Humidity and Temperature with SMT10    *
                        '*  Last Updated     : 2013/08/06                 *
                        '*  Micro Contoroler   : ATMEGA32                  *
                        '*  Clock frequency   : 1.000000 MHz                *
                        '*  Compiler       : Bascom AVR v1.11.9.0            *
                        '************************************************************************
                        
                        $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 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
                        
                        
                        '*******************************************
                        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
                        لینک سورس کد
                        http://projects.m32.ir/up/2013/08/index.htm
                        این دوست عزیز مون گفتن کد و بزار فک کنم میخواستن ترجمه کنن

                        دیدگاه


                          #13
                          پاسخ : درخواست برنامه رطوبت سنج

                          همچنان اپدیت

                          دیدگاه


                            #14
                            پاسخ : درخواست برنامه رطوبت سنج

                            اپدیت

                            دیدگاه

                            لطفا صبر کنید...
                            X