Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Jag ville ha en kontortermometer. Istället för att köpa en använde jag en Adafruit Circuit Playground Express för att göra en. Det är digitalt/kvasi-analogt. Färgen visar temperaturintervallet (grönt här - under 70 -talet), med antalet NeoPixels som visar siffrorna (så kontortemperaturen som visas här är 75). När det är mörkt stängs skärmen av.
Tillbehör
Adafruit Circuit Playground Express
3D -skrivare (jag använde PLA)
M3 x 8 skruvar (x4) och M3 muttrar (x4)
Magnettejp (https://www.amazon.com/gp/product/B073519752)
Steg 1: Montera
Jag ville ha lite luftflöde tillbaka eftersom jag inte var säker på om kortet skulle bli varmt skulle påverka avläsningarna. Fästet designades i Fusion 360. Modell tillgänglig på Thingiverse (https://www.thingiverse.com/thing:3659694). Istället för att försöka hålla skruvarna gängade i PLA, gav jag ett utrymme för att sätta in M3 -muttrar för M3 -skruvarna.
Steg 2: Program
Koden är Circuit Python och använder Adafruit -biblioteken för CPE. Senaste koden tillgänglig på GitHub (https://github.com/KFW/CPE_thermometer) men det är ganska grundläggande.
# Kontorstermometer # för Adafruit Circuit Python Express # Använder färg för att indikera temp intervall, och sedan neopixlar för exakt temp # ljussensor stänger av NeoPixels om det är mörkt från adafruit_circuitplayground.express import cpx importtid BLANK = (0, 0, 0) BLÅ = (0, 0, 24) # 50 -talet BG = (0, 12, 12) # 60 -talet GRÖN = (0, 24, 0) # 70 -talet ORANGE = (18, 6, 0) # 80 -talet RÖD = (24, 0, 0) # 90 -talet TEMP_COLOR = {5: BLÅ, 6: BG, 7: GRÖN, 8: ORANGE, 9: RÖD} medan True: cpx.pixels.fill (BLANK) # se till att pixlarna uppdateras om cpx.light> 10: # visa inte temp om rummet är mörkt temp = int (cpx. temperatur * 1,8 + 32,5) # extra 0,5 för att se till att temp # rundar rätt om temp 99: temp = 99 # i osannolik händelse temp i 100 -talet tio = temp // 10 siffror = temp%10 # för temp som slutar med '0' lyser endast pixel 0 (tionde pixel som monterad) om siffran == 0: cpx.pixels [0] = TEMP_COLOR [tens] # annars fyller du i siffror medurs från kl 7 position annars: för i inom intervall (siffra): cpx.pixels [9 - i] = TEMP_COLOR [tio] # använd '9 -' sin ce pixlar # i omvänd ordningstid. sov (60) # cykel var 60: e sekund
Steg 3: Montera
Jag använde lite magnettejp på baksidan för att montera den.