สารบัญ:

อีกนาฬิกาหนึ่ง: 4 ขั้นตอน
อีกนาฬิกาหนึ่ง: 4 ขั้นตอน

วีดีโอ: อีกนาฬิกาหนึ่ง: 4 ขั้นตอน

วีดีโอ: อีกนาฬิกาหนึ่ง: 4 ขั้นตอน
วีดีโอ: วิธีตั้งเวลานาฬิกาข้อมือ (นาฬิกาแบบเข็ม) 2024, พฤศจิกายน
Anonim
นาฬิกาอีกเรือน
นาฬิกาอีกเรือน

ดังที่เห็นจากการอัปโหลดครั้งก่อนของฉัน ฉันได้รับบอร์ดแสดงผล 7 ส่วนจากอุปกรณ์ชั่งน้ำหนักเก่าบางตัว

ความพยายามครั้งก่อนของฉันใช้ Arduino กับโมดูลนาฬิกาตามเวลาจริง

คำแนะนำนี้ใช้ ESP8266 D1 Mini ที่เชื่อมต่อกับเซิร์ฟเวอร์ NTP!

รหัสนี้อิงตามตัวอย่างจากไลบรารี ESP8266WiFi

ฉันจะไม่ลงรายละเอียดเกี่ยวกับการเดินสายจอแสดงผล 7 ส่วนเนื่องจากมีตัวอย่างมากมายในเน็ต ฉันมีบอร์ด 2 ตัวที่ใช้ชิปตัวถอดรหัส MAX7219 ซึ่งต้องการเพียง 3 พินเพื่อควบคุมการแสดงผลเซกเมนต์สูงสุด 8 x 7

ฉันต้องการแสดงวันที่ด้วย เลยต้องใช้อีก 3 พิน !

ฉันต้องการอีก 7 เอาต์พุตเพื่อแสดงวัน! เพื่อหลีกเลี่ยงการขาดพินเอาต์พุต ฉันเลือกจอแสดงผล Neo Pixel, 1 พิน, 7 เอาต์พุต !

ขั้นตอนที่ 1: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

อะไหล่ที่จำเป็น

จอแสดงผลส่วน 12 x 7 (ในกรณีของฉัน ฉันโชคดีมากที่มีแผงเครื่องชั่งน้ำหนักเก่าสองสามตัวซึ่งช่วยประหยัดการเดินสายได้มาก

1 x ESP8266 D1 Mini หรือ ESP8266 ที่มีเอาต์พุตดิจิตอล 7 ช่องขึ้นไป

2 x MAX7129 (อีกครั้ง ฉันโชคดีที่มีแผงแสดงผลเครื่องชั่งน้ำหนัก)

1 x ตรง 8 NeoPixel display

ตัวเปลี่ยนระดับ 2 x

แหล่งจ่ายไฟ 1 x 5v

ขั้นตอนที่ 2: การแสดง DAY

การแสดงวัน
การแสดงวัน
การแสดงวัน
การแสดงวัน

สำหรับสิ่งนี้ ฉันใช้ส่วนหนึ่งของบัตรเครดิตเก่าเป็นฐาน บัตรหนาบางใบ (ในกรณีของฉันคือกระดาษภาพถ่าย 300 แกรม) และเทปกาวสองหน้า

มีแถบเทปเพียง 2 แถบพร้อมช่องที่ตัดด้วยมีดประดิษฐ์ ระยะห่างคือระยะห่างระหว่าง LEDs บนบอร์ด NeoPixel

แผ่นบาง ๆ ของการ์ดใช้สร้างช่องสำหรับแต่ละวัน

ชื่อวันจะพิมพ์บนเทปใสด้วยเครื่องติดฉลาก Dymo

ขั้นตอนที่ 3: การเชื่อมต่อ & ซอฟต์แวร์

กลุ่มผลิตภัณฑ์ ESP8266 เป็นผลิตภัณฑ์ที่ยอดเยี่ยมเนื่องจาก

ก) พวกมันสกปรกราคาถูก

b) พวกเขาต้องการส่วนประกอบภายนอกน้อยมาก

ฉันต้องการ 5v สำหรับจอแสดงผลและ 3v สำหรับ ESP ดังนั้นฉันจึงใช้ตัวเลื่อนระดับสองสามตัวพร้อมแหล่งจ่ายไฟ 5v

MAX7219 ต้องการเพียง 3 พินเพื่อควบคุมจอแสดงผลสูงสุด 8 จอ เหล่านี้คือพิน 1 (Din), 12 (โหลด / CS) และ 13 (นาฬิกา)

สิ่งเหล่านี้เชื่อมต่อผ่านตัวเลื่อนระดับ

รหัสมีดังนี้:

// อินพุต: พิน DIN, พิน CLK, พินโหลด จำนวนชิปLedControl mydisplay = LedControl(3, 2, 1, 1)

LedControl datedisp = LedControl(7, 6, 5, 1);

จำนวนชิปถูกตั้งไว้ที่ 1 เนื่องจากฉันกำลังถือว่าการแสดง 2 รายการเป็นรายการแยกกันแทนที่จะใช้ DOUT และเรียงต่อกัน

NeoPixel เชื่อมต่อกับเอาต์พุตดิจิตอล 4

#กำหนด PIN 4

#define NUMPIXELS 7 (ละเว้น 1 ใน 8 LEDs)

มี #includes บางส่วนที่สามารถพบได้ใน GitHub

ต้องป้อน SSID & PASSWORD ของเราเตอร์และเลือกเซิร์ฟเวอร์ NTP (ฉัน Googled เซิร์ฟเวอร์ NTP ฟรี)

ขั้นตอนที่ 4: เปิดเครื่อง

เมื่อเปิดเครื่อง ไฟ LED NeoPixel จะกระเพื่อม จากนั้นหน้าจอ 7 ส่วนจะแสดง "c" และ "8" สลับกันจนกว่าจะมีการเชื่อมต่อกับเราเตอร์

หากทุกเซ็กเมนต์แสดงคอนเทนต์ c8 แสดงว่าไม่ได้สร้างการเชื่อมต่อเซิร์ฟเวอร์ NTP การรีเซ็ตควรแก้ปัญหานี้

เมื่อสร้างการเชื่อมต่อแล้ว เวลาและวันที่จะแสดง วันจะแสดงด้วยไฟ LED สีฟ้า

แนะนำ: