2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันต้องการเทอร์โมมิเตอร์สำนักงาน แทนที่จะซื้ออย่างใดอย่างหนึ่ง ฉันใช้ Adafruit Circuit Playground Express เพื่อสร้าง มันเป็นดิจิตอล/กึ่งแอนะล็อก สีแสดงช่วงอุณหภูมิ (สีเขียวที่นี่ - สำหรับ 70) โดยจำนวน NeoPixels แสดงตัวเลข (ดังนั้นอุณหภูมิสำนักงานที่แสดงที่นี่คือ 75) เมื่อมืดจอแสดงผลจะปิดลง
เสบียง
อดาฟรุต เซอร์กิต สนามเด็กเล่น เอกซ์เพรส
เครื่องพิมพ์ 3 มิติ (ฉันใช้ PLA)
สกรู M3 x 8 (x4) และน็อต M3 (x4)
เทปแม่เหล็ก (https://www.amazon.com/gp/product/B073519752)
ขั้นตอนที่ 1: เมานต์
ฉันต้องการกระแสลมไหลย้อนกลับเนื่องจากฉันไม่แน่ใจว่าบอร์ดที่ร้อนขึ้นจะส่งผลต่อการอ่านหรือไม่ เมาท์ได้รับการออกแบบใน Fusion 360 มีรุ่นใน Thingiverse (https://www.thingiverse.com/thing:3659694) แทนที่จะพยายามเก็บสกรูเกลียวใน PLA ฉันให้พื้นที่สำหรับใส่น็อต M3 สำหรับสกรู M3
ขั้นตอนที่ 2: โปรแกรม
รหัสคือ Circuit Python โดยใช้ไลบรารี Adafruit สำหรับ CPE รหัสล่าสุดมีอยู่ใน GitHub (https://github.com/KFW/CPE_thermometer) แต่ค่อนข้างพื้นฐาน
# Office Thermometer# สำหรับ Adafruit Circuit Python Express # ใช้สีเพื่อระบุช่วงอุณหภูมิ จากนั้น neopixels สำหรับอุณหภูมิที่แน่นอน # เซ็นเซอร์วัดแสงจะปิด NeoPixels หากมืดจาก adafruit_circuitplayground.express นำเข้า cpx เวลานำเข้า BLANK = (0, 0, 0) BLUE = (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} ขณะที่ True: cpx.pixels.fill(BLANK) # ตรวจสอบให้แน่ใจว่าพิกเซลรีเฟรชหาก cpx.light > 10: # ไม่แสดงอุณหภูมิถ้าห้องมืด temp = int(cpx.temperature * 1.8 + 32.5) # พิเศษ 0.5 เพื่อให้แน่ใจว่า temp # ปัดเศษอย่างถูกต้องถ้า temp 99: temp = 99 # ในเหตุการณ์ที่ไม่น่าจะเกิดขึ้น temp ใน 100's tens = temp ///10 หลัก = temp%10 # สำหรับอุณหภูมิที่ลงท้ายด้วย '0' สว่างขึ้นเฉพาะพิกเซล 0 (พิกเซลที่สิบเมื่อติดตั้ง) หากตัวเลข == 0: cpx.pixels[0] = TEMP_COLOR[tens] # มิฉะนั้นให้กรอกตัวเลขตามเข็มนาฬิกา จากตำแหน่ง 7 นาฬิกา อย่างอื่น: สำหรับฉันในช่วง (หลัก): cpx.pixels[9 - i] = TEMP_COLOR[tens] # ใช้ '9 -' sin ce พิกเซล # ในลำดับย้อนกลับ time.sleep (60) # รอบทุกๆ 60 วินาที
ขั้นตอนที่ 3: เมานต์
ฉันใช้เทปแม่เหล็กที่ด้านหลังเพื่อยึด