рд░рд╛рд╕реНрдкрдмреЗрд░реА PI рдкрд░ DIY рдерд░реНрдорд▓ рдЗрдореЗрдЬрд░ рдпрд╛ "рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛"

рдЫрд╡рд┐

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!

рд╕рд░реНрджрд┐рдпреЛрдВ рдХрд╛ рдореМрд╕рдо рдЖ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рд░реНрдп рджреЗрд╢ рдХреЗ рдирд┐рд╡рд╛рд╕ рдХреЗ рднрд╡рдиреЛрдВ рдХреА рдЧрд░реНрдореА-рдЗрдиреНрд╕реБрд▓реЗрдЯ рдЧреБрдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкреНрд░рд╕рд┐рджреНрдз рдЪреАрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рдлреА рд╕рд╕реНрддреА рдерд░реНрдорд▓ рдЗрдореЗрдЬрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдХреНрдпрд╛ рдПрдХ рд╡рд┐рджреЗрд╢реА рдФрд░, рд╕рдВрднрд╡рддрдГ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ - рдПрдХ рдШрд░ рдХрд╛ рдмрдирд╛ рдерд░реНрдорд▓ рдЗрдореЗрдЬрд░? рдХреНрдпреЛрдВ рдирд╣реАрдВ, рдЬреИрд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХрд╣реАрдВ рдЭреВрда рдмреЛрд▓ рд░рд╣реА рдереА ... рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ - рдореИрдВ рдЖрдкрдХреЛ рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдмрддрд╛рдКрдВрдЧрд╛ред

MLX90640ред рдпрд╣ рдХреНрдпрд╛ рд╣реИ


рдФрд░ рдпрд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмреЛрд░реНрдб рдкрд░ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдерд░реНрдорд▓ рдЗрдореЗрдЬрд┐рдВрдЧ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред рдкрд╣рд▓реЗ рдЕрдЬреНрдЮрд╛рдд рдХрдВрдкрдиреА Melexis рдХрд╛ рдЙрддреНрдкрд╛рджрдиред рдерд░реНрдорд▓ рдЗрдореЗрдЬрд┐рдВрдЧ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЖрдпрд╛рдо 32 рдЧреБрдгрд╛ 24 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИред рдпрд╣ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЫрд╡рд┐ рдХреЛ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧрддрд╛ рд╣реИред

рдЫрд╡рд┐

рд╕реЗрдВрд╕рд░ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдорд╛рдорд▓реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рджреЗрдЦрдиреЗ рдХреЗ рдХреЛрдг рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВред рдЕрдзрд┐рдХ рд╕реНрдХреНрд╡рд╛рдЯ рд╕рдВрд░рдЪрдирд╛ рдП 75 (рдКрд░реНрдзреНрд╡рд╛рдзрд░) рдбрд┐рдЧреНрд░реА рдкрд░ 110 (рдХреНрд╖реИрддрд┐рдЬ) рдХреЗ рдХреЛрдг рдкрд░ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЛ рджреЗрдЦрддреА рд╣реИред рдмреА - 55 рд╕реЗ рдХрдо 37.5 рдбрд┐рдЧреНрд░реА, рдХреНрд░рдорд╢рдГред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗрд╕ рдореЗрдВ рдХреЗрд╡рд▓ рдЪрд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВ - рдкрд╛рд╡рд░ рдХреЗ рд▓рд┐рдП рджреЛ, I2C рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рджреЛред рдЗрдЪреНрдЫреБрдХ рдбреЗрдЯрд╢реАрдЯ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ ред

рдФрд░ рдлрд┐рд░ GY-MCU90640 рдХреНрдпрд╛ рд╣реИ?


рдЪреАрдиреА рдХреЙрдорд░реЗрдбреЛрдВ рдиреЗ рдмреЛрд░реНрдб рдкрд░ рдПрдХ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (STM32F103) рдХреЗ рд╕рд╛рде MLX90640 рдбрд╛рд▓рд╛ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЖрд╕рд╛рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдПред рдЗрд╕ рдкреВрд░реЗ рдЦреЗрдд рдХреЛ GY-MCU90640 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣ 5 рд╣рдЬрд╛рд░ рд░реВрдмрд▓ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдзрд┐рдЧреНрд░рд╣рдг (рджрд┐рд╕рдВрдмрд░ 2018 рдХреЗ рдЕрдВрдд) рдХреЗ рд╕рдордп рдЦрд░реНрдЪ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмреЛрд░реНрдб рдкрд░ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рдВрдХреАрд░реНрдг рдпрд╛ рдЪреМрдбрд╝реЗ рдХреЛрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреЛрд░реНрдб рд╣реИрдВред

рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ? рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рддрдм рд╣реА рдерд╛ рдЬрдм рдореЙрдбреНрдпреВрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЖрджреЗрд╢ рдХреЗ рд╕рдордп, рдореИрдВрдиреЗ рдЗрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╡реНрдпрд░реНрде рдореЗрдВред

рд╕реНрд╡-рдЪрд╛рд▓рд┐рдд рд░реЛрдмреЛрдЯ рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕рдВрд╕реНрдХрд░рдг рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рджреЗрдЦрдиреЗ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛)ред рдбреЗрдЯрд╛рд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕рдореЗрдВ рдХрдо рд╢реЛрд░ рдФрд░ рдЕрдзрд┐рдХ рдорд╛рдк рд╕рдЯреАрдХрддрд╛ рднреА рд╣реИред

рдЫрд╡рд┐

рд▓реЗрдХрд┐рди рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдмреА рдХреЗ рдЕрдзрд┐рдХ "рд▓рдВрдмреА рджреВрд░реА" рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЬрдм рд╢реВрдЯрд┐рдВрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рддреЛ рдЗрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╛ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдордВрдЪ рдкрд░) рдФрд░ рд╕рдордЧреНрд░ "рдлреЛрдЯреЛ" рд▓реЗрдВ, рдЬрд┐рд╕рд╕реЗ 32 рд╕реЗ рдЕрдзрд┐рдХ 24 рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдПрдХ рдорд╛рдореВрд▓реА рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕реЗ рдЕрдзрд┐рдХ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 96 рдкрд┐рдХреНрд╕рд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рдерд░реНрдорд▓ рдЗрдореЗрдЬ 64 рдХреЛ рд▓реАрдЬрд┐рдП ... рдЦреИрд░, рдареАрдХ рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдлреЛрдЯреЛ рд╡рд╛рдЗрдб-рдПрдВрдЧрд▓ рд╡рд░реНрдЬрди рдП рд╕реЗ рд╣реЛрдВрдЧреЗред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


рдерд░реНрдорд▓ рдЗрдореЗрдЬрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рдмреЛрд░реНрдб рдкрд░ "рд╕реЗрдЯ" рдЬрдореНрдкрд░ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░реЗрдВ рдФрд░ рдЖрдВрддрд░рд┐рдХ MLX90640 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП I2C рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  2. рдЬрдореНрдкрд░ рдХреЛ рдЕрдХреЗрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ RS-232 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ STM32F103 рдмреЛрд░реНрдб рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдПрдХ рд╕рдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдк C ++ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░, рд╢реЙрд░реНрдЯ-рд╕рд░реНрдХрд┐рдЯ рдЬрдореНрдкрд░ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдФрд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдЬреЛ рдпрд╣рд╛рдВ рдирд┐рд╣рд┐рдд рд╣реИ ред

рд╡рд┐рдирдореНрд░ рдЕрдЬрдЧрд░ рднреА рдкрд╣рд▓реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдкрд╛рдЗрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА ( рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ ) рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рднреА рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдЙрдиреНрдирдд рдкрд╛рдпрдердирд╡рд╛рджреА рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдирд┐рдпрдВрддреНрд░рдг рдЪрд╛рд▓рдХ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдлреНрд░реЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбреЗрдЯрд╛рд╢реАрдЯ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдкрдХреЛ рд╕рднреА рдЕрдВрд╢рд╛рдВрдХрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдереЛрдбрд╝рд╛ рдмреЛрдЭ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рдХрд╛рдВрдЯреЗрджрд╛рд░ рдерд╛, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдирд┐рд╖реНрдХреНрд░рд┐рдп рдерд╛ред

рдЪреАрдиреА рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рд╕реБрдЦрдж рд╕рдВрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╢рд╛рд▓ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛:

рдЫрд╡рд┐

рдпрд╣ рдХреЗрд╡рд▓ рдмреНрд▓реЙрдХ рд░рдЦрдиреЗ рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХрдиреЗрдХреНрдЯрд░ рдореЗрдВ рд╕реНрдХрд╛рд░реНрдл рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдмреЛрд░реНрдб рдкрд░ рдПрдХ 5 рд╕реЗ 3 рд╡реЛрд▓реНрдЯ рдХрдирд╡рд░реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рдирд╛рдЬреБрдХ рдЖрд░рдПрдХреНрд╕ рдФрд░ рдЯреАрдПрдХреНрд╕ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдХреБрдЫ рднреА рдЦрддрд░рд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрдиреЗрдХреНрд╢рди рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╢реНрд░рдо рдФрд░ рдорд┐рд▓рд╛рдк рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдмреЛрд░реНрдб рдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рджреВрд╕рд░реА рддрд░рдл рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд╢реАрд░реНрд╖рдХ рдлреЛрдЯреЛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдореБрд▓рд╛рдпрдо


рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдЪреАрдиреА рд╕рд╛рдЗрдЯ рдкрд░, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрдорддреНрдХрд╛рд░ рдХреЛ GY-MCU90640 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рд╣реИ:

рдЫрд╡рд┐

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдмреЛрд░реНрдб рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд╕реНрдХрд╛рд░реНрдл рдХреЗ рд╡рд┐рдХреНрд░реЗрддрд╛ (рдЗрди рд╕рдореНрдорд╛рдирд┐рдд рд╕рдЬреНрдЬрдиреЛрдВ рдХреЗ рд╕рдореНрдорд╛рди) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рдж, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореБрдЭреЗ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдкреАрдбреАрдПрдл рдФрд░ рд╢реБрджреНрдз рдЪреАрдиреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред

Google рдХреЗ рдЕрдиреБрд╡рд╛рджрдХ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рдЧрднрдЧ рдбреЗрдврд╝ рдШрдВрдЯреЗ рдореЗрдВ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдЧрд┐рддреБрдм рдкрд░ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕реНрдХрд╛рд░реНрдл рдЫрд╣ рдмреБрдирд┐рдпрд╛рджреА рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмреАрдЪ COM рдкреЛрд░реНрдЯ рдкрд░ рдПрдХ рдлреНрд░реЗрдо рдЕрдиреБрд░реЛрдз рд╣реИред

рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрд╕ рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рд╡рд╕реНрддреБ рдХрд╛ рддрд╛рдкрдорд╛рди рдорд╛рди рд╣реИред рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ 100 (рдбрдмрд▓-рдмрд╛рдЗрдЯ рд╕рдВрдЦреНрдпрд╛) рдореЗрдВ рддрд╛рдкрдорд╛рдиред рджрд░рдЕрд╕рд▓, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореЛрдб рднреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреБрдкрдЯреНрдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 4 рдмрд╛рд░ рднреЗрдЬреЗрдЧрд╛ред

рдпрд╣рд╛рдВ рдерд░реНрдорд▓ рдЗрдореЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
"""MIT License

Copyright (c) 2019 

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE."""

import serial, time
import datetime as dt
import numpy as np
import cv2

# function to get Emissivity from MCU
def get_emissivity():
	ser.write(serial.to_bytes([0xA5,0x55,0x01,0xFB]))
	read = ser.read(4)
	return read[2]/100

# function to get temperatures from MCU (Celsius degrees x 100)
def get_temp_array(d):

	# getting ambient temperature
	T_a = (int(d[1540]) + int(d[1541])*256)/100

	# getting raw array of pixels temperature
	raw_data = d[4:1540]
	T_array = np.frombuffer(raw_data, dtype=np.int16)
	
	return T_a, T_array

# function to convert temperatures to pixels on image
def td_to_image(f):
	norm = np.uint8((f/100 - Tmin)*255/(Tmax-Tmin))
	norm.shape = (24,32)
	return norm

########################### Main cycle #################################
# Color map range
Tmax = 40
Tmin = 20

print ('Configuring Serial port')
ser = serial.Serial ('/dev/serial0')
ser.baudrate = 115200

# set frequency of module to 4 Hz
ser.write(serial.to_bytes([0xA5,0x25,0x01,0xCB]))
time.sleep(0.1)

# Starting automatic data colection
ser.write(serial.to_bytes([0xA5,0x35,0x02,0xDC]))
t0 = time.time()

try:
	while True:
		# waiting for data frame
		data = ser.read(1544)
		
		# The data is ready, let's handle it!
		Ta, temp_array = get_temp_array(data)
		ta_img = td_to_image(temp_array)
		
		# Image processing
		img = cv2.applyColorMap(ta_img, cv2.COLORMAP_JET)
		img = cv2.resize(img, (320,240), interpolation = cv2.INTER_CUBIC)
		img = cv2.flip(img, 1)
		
		text = 'Tmin = {:+.1f} Tmax = {:+.1f} FPS = {:.2f}'.format(temp_array.min()/100, temp_array.max()/100, 1/(time.time() - t0))
		cv2.putText(img, text, (5, 15), cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 0, 0), 1)
		cv2.imshow('Output', img)
		
		# if 's' is pressed - saving of picture
		key = cv2.waitKey(1) & 0xFF
		if key == ord("s"):
			fname = 'pic_' + dt.datetime.now().strftime('%Y-%m-%d_%H-%M-%S') + '.jpg'
			cv2.imwrite(fname, img)
			print('Saving image ', fname)
		
		t0 = time.time()

except KeyboardInterrupt:
	# to terminate the cycle
	ser.write(serial.to_bytes([0xA5,0x35,0x01,0xDB]))
	ser.close()
	cv2.destroyAllWindows()
	print(' Stopped')

# just in case 
ser.close()
cv2.destroyAllWindows()



, Raspberry PI, 4 . , . OpenCV. ┬лs┬╗ ┬л ┬╗ jpg.

image

. , . тАФ . 20 40 . Ctrl + C.

image

Raspberry Pi Zero W Pi 3 B+. VNC . , , powerbank' VNC . , , .

. .

, , . . , . - , .

!

UPD: . . - , , . . тАФ .

image

. +20...+40 -10...+5.

Source: https://habr.com/ru/post/hi435946/


All Articles