İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bir ofis termometresi istedim. Bir tane satın almak yerine, bir tane yapmak için bir Adafruit Circuit Playground Express kullandım. Dijital/yarı analog. Renk, sıcaklık aralığını gösterir (burada yeşil - 70'ler için), NeoPiksel sayısı rakamları gösterir (bu nedenle burada gösterilen ofis sıcaklığı 75'tir). Karanlık olduğunda ekran kapanır.
Gereçler
Adafruit Circuit Playground Express
3D Yazıcı (PLA kullandım)
M3 x 8 vida(x4) ve M3 somun (x4)
Manyetik bant (https://www.amazon.com/gp/product/B073519752)
1. Adım: Monte Edin
Kartın ısınmasının okumaları etkileyip etkilemeyeceğinden emin olamadığım için biraz hava akışı istedim. Montaj, Fusion 360'ta tasarlanmıştır. Model Thingiverse'de mevcuttur (https://www.thingiverse.com/thing:3659694). PLA'daki vidaları dişli tutmaya çalışmak yerine, M3 vidaları için M3 somunları koymak için bir boşluk sağladım.
2. Adım: Program
Kod, CPE için Adafruit kitaplıklarını kullanan Circuit Python'dur. GitHub'da bulunan en yeni kod (https://github.com/KFW/CPE_thermometer) ancak oldukça basit.
# Adafruit Devresi için Ofis Termometresi Python Express # Sıcaklık aralığını belirtmek için renk kullanır ve ardından tam sıcaklık için neopiksel # ışık sensörü, adafruit_circuitplayground.express'ten karanlıksa NeoPixels'i kapatır. = (0, 0, 24) # 50'ler BG = (0, 12, 12) # 60'lar YEŞİL = (0, 24, 0) # 70'ler TURUNCU = (18, 6, 0) # 80'ler KIRMIZI = (24, 0, 0) # 90'lar TEMP_COLOR = {5:BLUE, 6:BG, 7:GREEN, 8:TURUNCU, 9:KIRMIZI} iken True: cpx.pixels.fill(BLANK) # cpx.light > 10 ise piksellerin yenilendiğinden emin olun: # oda karanlıksa temp gösterme temp = int(cpx.temperature * 1.8 + 32.5) # temp 99: temp = 99 ise sıcaklığın doğru şekilde dönmesini sağlamak için ekstra 0,5 //10 digit = temp%10 # '0' ile biten temp için sadece piksel 0'ı (monte edilmiş olarak onuncu piksel) aydınlatır, eğer rakam == 0: cpx.pixels[0] = TEMP_COLOR[onlar] # aksi takdirde rakamları saat yönünde doldurun saat 7 konumundan başka: aralıktaki i için(rakam): cpx.pixels[9 - i] = TEMP_COLOR[onlarca] # '9 -' sin kullanın ce piksel # ters sırada time.sleep(60) # her 60 saniyede bir döngü
3. Adım: Monte Edin
Monte etmek için arkasında manyetik bant kullandım.