สารบัญ:

จอแสดงผลสองหลักโดยใช้เมทริกซ์ LED 8x8 เดี่ยว: 3 ขั้นตอน
จอแสดงผลสองหลักโดยใช้เมทริกซ์ LED 8x8 เดี่ยว: 3 ขั้นตอน

วีดีโอ: จอแสดงผลสองหลักโดยใช้เมทริกซ์ LED 8x8 เดี่ยว: 3 ขั้นตอน

วีดีโอ: จอแสดงผลสองหลักโดยใช้เมทริกซ์ LED 8x8 เดี่ยว: 3 ขั้นตอน
วีดีโอ: How To Set Up Your 8x8 LED Matrix Eyes Animation For Arduino Beginners - Install and Troubleshooting 2024, พฤศจิกายน
Anonim
จอแสดงผลสองหลักโดยใช้เมทริกซ์ LED 8x8 เดี่ยว
จอแสดงผลสองหลักโดยใช้เมทริกซ์ LED 8x8 เดี่ยว

ที่นี่ฉันต้องการสร้างตัวบ่งชี้อุณหภูมิและความชื้นสำหรับห้องของฉัน ฉันใช้เมทริกซ์ LED 8x8 ตัวเดียวเพื่อแสดงตัวเลขสองหลัก และฉันคิดว่าส่วนหนึ่งของโปรเจ็กต์มีประโยชน์มากขึ้น ฉันใส่กล่องสุดท้ายที่สร้างขึ้นโดยใช้กล่องกระดาษแข็งทาสีเหมือนไม้

เสบียง

  1. Arduino นาโน x1
  2. DHT11 เซ็นเซอร์อุณหภูมิและความชื้น x1
  3. เมทริกซ์ LED 8x8 พร้อม MAX7219 x1
  4. ตัวต้านทาน 10K x1
  5. สายเฮดเดอร์
  6. แหล่งจ่ายไฟ 5V x1
  7. กล่องกระดาษแข็ง (4x8x13 ซม.)

ขั้นตอนที่ 1: แผนผัง

แผนผัง
แผนผัง

DHT11 ดิจิตอลเซ็นเซอร์อุณหภูมิและความชื้นให้อุณหภูมิระหว่าง 0 - 50 °C และความชื้นระหว่าง 20% ถึง 90% ความแม่นยำของอุณหภูมิคือ ±2°C (สูงสุด) และความแม่นยำของความชื้นคือ ±5%

DHT11 ยังให้ค่าจุดน้ำค้าง จุดน้ำค้างคืออุณหภูมิที่อากาศจะต้องเย็นลงเพื่อให้ไอน้ำอิ่มตัว เมื่อเย็นลงอีก ไอน้ำในอากาศจะควบแน่นเป็นน้ำของเหลว

ขั้นตอนที่ 2: การเดินสายไฟและการชกมวย

การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย
การเดินสายไฟและการชกมวย

ก่อนอื่นฉันทาสีกล่องกระดาษแข็งด้วยสีอะครีลิคและหลังจากทำให้แห้งเป็นเวลา 1 วันฉันก็ใช้สเปรย์ฉีดผมเสร็จ ฉันทำหน้าต่างสี่เหลี่ยมสำหรับจอแสดงผล LED ที่หน้าปก นอกจากนี้ ฉันยังเปิดรูสี่เหลี่ยมเล็กๆ สำหรับพาวเวอร์ซัพพลาย Arduino Nano และใส่หลายรูใกล้กับเซ็นเซอร์ DHT11

ฉันแก้ไข Arduino ที่มุมของกล่องหลักโดยใช้กล่องขนาดเล็กและซิลิกอนร้อน

ฉันวางเมทริกซ์ LED ในหน้าต่างโดยใช้แถบเทปใส ที่นี่เป็นสิ่งสำคัญที่จะต้องวางมันด้วยการหมุนทวนเข็มนาฬิกา 90° เนื่องจากรหัสจะใช้ 4 แถวบนสำหรับหลักสิบและ 4 แถวล่างสำหรับหลักหน่วย สำหรับโมดูลที่ฉันใช้ด้านที่มี MAX7219 ควรอยู่ที่ด้านฐาน

เนื่องจากฉันวาง Arduino และเซ็นเซอร์ไว้ที่ด้านปิดของกล่อง ฉันจึงปิดมันจนสุดไม่ได้ ? เลือกอีกด้านดีกว่า:)

ขั้นตอนที่ 3: รหัส

รหัส
รหัส
รหัส
รหัส
รหัส
รหัส

ขั้นแรกให้อัปโหลดไลบรารีสำหรับ DHT11 (https://github.com/adidax/dht11) และเมทริกซ์ LED (https://github.com/wayoda/LedControl) หากคุณยังไม่มี

รหัสใช้ 4 แถวแรกของเมทริกซ์ LED เป็นสิบและ 4 แถวสุดท้ายเป็นหน่วย ตัวอย่างเช่น หากคุณตรวจสอบรหัสสำหรับ "หนึ่ง" คุณจะเห็น "11" หมุนตามเข็มนาฬิกา 90° หากคุณต้องการเปลี่ยนรหัสเหล่านี้ โปรดดูแลรายละเอียดนั้นด้วย

ไบต์ที่หนึ่ง = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

รหัสสำหรับรับตัวเลขจากการอ่านเซ็นเซอร์คือ:

หน่วย = ความชื้น % 10; สิบ = (ชื้น /10) % 10;

สำหรับหลักสิบ ลูป for จะทำงานดังนี้:

ถ้า (สิบ == 1) { สำหรับ (int c=0;c<4;c++) { lc.setRow(0, c, หนึ่ง[c]); }

สำหรับหน่วยหลัก for loop จะทำงานดังนี้:

ถ้า (หน่วย == 1) { สำหรับ (int c=4;c<8;c++) { lc.setRow(0, c, หนึ่ง[c]); }

ลำดับการแสดงผลอยู่ในวงดังนี้:

"°C" -> อุณหภูมิ -> "hum" -> ความชื้น -> "dp" -> จุดน้ำค้าง -> ความหมายของจุดน้ำค้าง (อธิบายด้านล่าง)

ฉันมีข้อมูลว่าผู้คนรู้สึกอย่างไรกับสภาพอากาศตามจุดน้ำค้างและใส่ข้อมูลนั้นลงในรหัสดังนี้:

dp < 10: แห้ง

9 < dp < 15: ดี (g..d)

14 < dp < 18: Sweltry (sw)

17 < dp < 24: Sweltry plus (sw +)

dp > 23: เปียก

การแสดงผลสำหรับคำเหล่านี้ไม่ดี แต่ก็ยังเข้าใจได้สำหรับจอแสดงผล 8x8 เดียว

แนะนำ: