2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Chcel som kancelársky teplomer. Namiesto toho, aby som ho kúpil, som na jeho výrobu použil Adafruit Circuit Playground Express. Je to digitálne/kvázi analógové. Farba ukazuje teplotný rozsah (tu zelený - pre 70. roky), pričom počet NeoPixelov zobrazuje číslice (takže teplota v kancelárii je tu zobrazená 75). Keď je tma, displej sa vypne.
Zásoby
Okruhové ihrisko Adafruit Express
3D tlačiareň (použil som PLA)
Skrutky M3 x 8 (x4) a matice M3 (x4)
Magnetická páska (https://www.amazon.com/gp/product/B073519752)
Krok 1: Namontujte
Chcel som späť prúdiť vzduch, pretože som si nebol istý, či sa zahrievanie dosky prejaví na hodnotách. Držiak bol navrhnutý vo Fusion 360. Model je k dispozícii na Thingiverse (https://www.thingiverse.com/thing:3659694). Namiesto toho, aby som sa pokúšal udržať skrutky so závitom v PLA, som poskytol priestor na vloženie matíc M3 pre skrutky M3.
Krok 2: Program
Kód je Circuit Python s použitím knižníc Adafruit pre CPE. Najnovší kód je k dispozícii na GitHub (https://github.com/KFW/CPE_thermometer), ale je celkom jednoduchý.
# Kancelársky teplomer # pre obvod Adafruit Python Express # Používa farbu na označenie teplotného rozsahu a potom neopixely na presnú teplotu # svetelný senzor vypne NeoPixels, ak je na adafruit_circuitplayground tmavá. Expresný import cpx čas importu BLANK = (0, 0, 0) MODRÝ = (0, 0, 24) # 50's BG = (0, 12, 12) # 60's GREEN = (0, 24, 0) # 70's ORANGE = (18, 6, 0) # 80's RED = (24, 0, 0) # 90's TEMP_COLOR = {5: BLUE, 6: BG, 7: GREEN, 8: ORANGE, 9: RED} while True: cpx.pixels.fill (BLANK) # uistite sa, že pixely sa obnovia, ak cpx.light> 10: # nezobrazovať teplotu, ak je miestnosť tmavá teplota = int (cpx.teplota * 1,8 + 32,5) # ďalších 0,5, aby ste sa presvedčili, že sa teplota # zaokrúhľuje správne, ak je teplota 99: temp = 99 # v prípade nepravdepodobnej teploty udalostí v desiatkach = teplota // 10 číslic = teplota%10 # pre teplotu končiacu na „0“rozsvieti iba pixel 0 (desiaty pixel po namontovaní), ak číslica == 0: cpx.pixels [0] = TEMP_COLOR [desiatky] # inak zadajte číslice v smere hodinových ručičiek od 7. hodiny poloha inak: pre i v rozsahu (číslice): cpx.pixels [9 - i] = TEMP_COLOR [desiatky] # použite '9 -' sin ce pixelov # v opačnom poradí čas.spánok (60) # cyklus každých 60 sekúnd
Krok 3: Namontujte
Na pripevnenie som použil magnetickú pásku na zadnej strane.