Thermopile Shield¶
ה-Thermopile Shield מעניק ל-OpenMV Cam מערך חיישנים תרמי בגודל 16x4 דרך I2C לדימות תרמי ברזולוציה נמוכה ולמדידת טמפרטורה לכל פיקסל.
ל-datasheet המלא, תמונות והזמנה ראו את עמוד המוצר של Thermopile Shield.
עיקרי הדברים¶
מערך חיישנים תרמי בגודל 16x4, שדה ראייה של 60 מעלות x 16 מעלות
טמפרטורות עצמים מ–50 C עד 300 C
Pinout¶
טבלת פינים¶
פין |
תפקיד |
|---|---|
P4 |
I²C SCL — שעון אל מערך ה-thermopile |
P5 |
I²C SDA — נתונים אל מערך ה-thermopile |
מסילת 3.3V |
מזין את ה-thermopile |
מסילת GND |
הארקה משותפת |
שימוש¶
לכדו מפת חום ממערך ה-thermopile המובנה דרך מודול fir
import fir
import image
import time
fir.init()
clock = time.clock()
while True:
clock.tick()
try:
img = fir.snapshot(x_scale=10, y_scale=10,
color_palette=image.PALETTE_IRONBOW,
hint=image.BICUBIC,
copy_to_fb=True)
except OSError:
continue
print(clock.fps())
קראו את טמפרטורות הגלם לכל פיקסל כ-ndarray בגודל 16×4 של מספרים עשרוניים בצלזיוס. fir.read_ir() מחזיר גם את טמפרטורת הסביבה ואת המינימום/מקסימום שנראו בפריים:
import fir
import time
from ulab import numpy as np
fir.init()
w = fir.width()
h = fir.height()
while True:
try:
ta, ir, to_min, to_max = fir.read_ir()
except OSError:
continue
grid = np.array(ir).reshape((h, w))
print("Ambient: %.1f C, range: %.1f to %.1f C, mean: %.1f C"
% (ta, to_min, to_max, np.mean(grid)))
time.sleep(1)