2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Htio sam uredski termometar. Umjesto da kupim jedan, za izradu sam upotrijebio Adafruit Circuit Playground Express. Digitalni je/kvazi-analogni. Boja prikazuje raspon temperatura (ovdje zelena - 70 -ih), a broj NeoPixela prikazuje znamenke (tako da je ovdje prikazana uredska temperatura 75). Kad je mrak, zaslon se isključuje.
Pribor
Adafruit Circuit Playground Express
3D pisač (koristio sam PLA)
M3 x 8 vijci (x4) i M3 matice (x4)
Magnetska traka (https://www.amazon.com/gp/product/B073519752)
Korak 1: Montirajte
Htio sam malo strujanja zraka unatrag jer nisam bio siguran hoće li zagrijavanje ploče utjecati na očitanja. Nosač je dizajniran u Fusion 360. Model dostupan na Thingiverse (https://www.thingiverse.com/thing:3659694). Umjesto da pokušavam držati vijke s navojem u PLA, osigurao sam prostor za umetanje matica M3 za vijke M3.
Korak 2: Program
Kôd je Circuit Python, koji koristi knjižnice Adafruit za CPE. Najnoviji kôd dostupan na GitHubu (https://github.com/KFW/CPE_thermometer), ali prilično je jednostavan.
# Uredski termometar # za Adafruit Circuit Python Express # Koristi boju za označavanje raspona temperature, a zatim neopikseli za točnu temperaturu # svjetlosni senzor isključuje NeoPixele ako je tamno iz adafruit_circuitplayground.express import cpx vrijeme uvoza BLANK = (0, 0, 0) PLAVO = (0, 0, 24) # 50 BG = (0, 12, 12) # 60 ZELENO = (0, 24, 0) # 70 narančasto = (18, 6, 0) # 80 CRVENO = (24, 0, 0) TEMP_COLOR # 90 -ih = {5: PLAVI, 6: BG, 7: ZELENI, 8: NARANČASTI, 9: CRVENI} dok je True: cpx.pixels.fill (BLANK) # pazite da se pikseli osvježe ako je cpx.light> 10: # ne prikazuj temp ako je soba tamna temp = int (cpx.temperature * 1,8 + 32,5) # dodatnih 0,5 kako biste bili sigurni da se temp # zaokružuje ispravno ako temp 99: temp = 99 # u malo vjerojatnim temp temp u 100 -ima = temp // 10 znamenki = temp%10 # za temp koji završava s '0' svijetli samo piksel 0 (deseti piksel kao montiran) ako je znamenka == 0: cpx.pixels [0] = TEMP_COLOR [desetke] # u suprotnom popunite znamenke u smjeru kazaljke na satu od 7 sati položaj ostalo: za i u rasponu (znamenka): cpx.pikseli [9 - i] = TEMP_COLOR [desetke] # koristite '9 -' sin ce piksela # u obrnutom redoslijedu.spavanje (60) # ciklus svakih 60 sekundi
Korak 3: Montirajte
Za montiranje sam upotrijebio magnetsku traku sa stražnje strane.