สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เกี่ยวกับโครงการ
ฉันจะแสดงวิธีสร้างการแสดงสถานะสภาพอากาศขนาดเล็กจากจอแสดงผลเมทริกซ์ขนาด 8x8
ฉันจะใช้ Genuino MKR1000 เพื่อดึงข้อมูลอุณหภูมิ ความชื้น และสภาพอากาศภายในสถานที่ที่เลือก
แสดงสถานะเพื่อแสดงในรูปแบบภาพเคลื่อนไหวสไลด์
ความท้าทาย
เนื่องจากเมทริกซ์ 8x8 นั้นเป็นอาร์เรย์ของ LED ฉันจึงต้องตั้งโปรแกรมให้แสดงเอฟเฟกต์ข้อความและแอนิเมชั่น
ในโครงการนี้ คุณจะได้เรียนรู้วิธีการ
- ใช้บริการเว็บส่วนที่เหลือ api
- วิธีแยกวิเคราะห์ข้อมูล Json
- วิธีใช้ไลบรารี Threads และ Wifi ใน Arduino
ขั้นตอนที่ 1: ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board
การตั้งค่านั้นค่อนข้างง่าย เราเพียงแค่แนบจอแสดงผลเมทริกซ์ขนาด 8x8 เข้ากับไมโครคอนโทรลเลอร์ของเรา
ความต้องการ
- จัมเปอร์ชายหญิง 16 ชิ้น
- คณะกรรมการขนมปังมินิ
- ไมโครคอนโทรลเลอร์
- จอแสดงผลเมทริกซ์ 8x8'
จอแสดงผลประกอบ
แบ่งจัมเปอร์ของคุณออกเป็นกลุ่ม 8 ชิ้น
ตรวจสอบให้แน่ใจว่าสายจัมเปอร์อยู่ในแนวเดียวกัน
เชื่อมต่อจัมเปอร์หญิง 8 ตัวกับจอแสดงผลเมทริกซ์ 8 พินแรก
เชื่อมต่อจัมเปอร์หญิงอีก 8 ตัวกับจอแสดงผลเมทริกซ์ 8 พินที่ 2
ต่อเข้ากับไมโครคอนโทรลเลอร์
ติดไมโครคอนโทรลเลอร์เข้ากับเขียงหั่นขนมขนาดเล็ก
ใช้หมุดปลายตัวผู้ของสายจัมเปอร์ เสียบเข้ากับ 8 รูแรกที่ติดหมุดไมโครคอนโทรลเลอร์ (5-A5)
ใส่ส่วนที่เหลืออีก 8 รูที่ยึดหมุดไมโครคอนโทรลเลอร์ไว้ (6-13)
ปรับจอแสดงผลเมทริกซ์ขนาด 8x8 ให้หันไปทางด้านหน้าเมื่อคุณวางไว้บนโต๊ะ
ขั้นตอนที่ 2: สร้างบัญชี Weather Api ของคุณ
เพื่อให้เรียกว่า Internet of Things ได้อย่างสมบูรณ์ เราต้องดึงข้อมูลบางส่วนจากอินเทอร์เน็ต
ฉันใช้ APIXU API เพื่อดึงข้อมูลสภาพอากาศจากตำแหน่งที่ฉันเลือก
ลงทะเบียนสำหรับบัญชีที่นี่ https://www.apixu.com/login.aspx และรับรหัสบัญชี API ของคุณ
อย่าลังเลที่จะใช้คีย์ API ของฉันเอง
สตริง apiKey = "8f0ff191defb4a20b5583518171203"; // คีย์ apixu api ของคุณ
ขั้นตอนที่ 3: แฟลช MKR1000. ของคุณ
รับโค้ดเต็มที่นี่ ดูบน GitHub
อย่าลังเลที่จะส่งปัญหาหรือการแก้ไข:)
เพิ่ม HexFont.h ลงในไลบรารี Arduino ของคุณ
ใช้ simple_weather_display.ino เพื่อแฟลชไมโครคอนโทรลเลอร์ของคุณ
ในส่วนของรหัสนี้:
แทนที่ด้วยการตั้งค่า WiFi ของคุณ
ถ่าน ssid = ""; // SSID เครือข่ายของคุณ (ชื่อ)
ถ่านผ่าน = ""; // รหัสผ่านเครือข่ายของคุณ (ใช้สำหรับ WPA หรือใช้เป็นคีย์สำหรับ WEP)
แทนที่ด้วยคีย์ Apixu Api และพิกัดตำแหน่ง
สตริง apiKey = "8f0ff191defb4a20b5583518171203"; // คีย์ apixu api ของคุณ
พิกัดสตริง = "28.4810971, -81.5088347"; // พิกัดตำแหน่งของคุณ
คุณยังสามารถเปลี่ยนข้อมูลที่จะแสดงในส่วนนี้ของรหัสได้
//อัปเดตข้อความที่แสดงเป็นสภาพอากาศใหม่
ข้อความ = ""; // รับเงื่อนไขปัจจุบัน เงื่อนไขสตริง = ผลลัพธ์["ปัจจุบัน"]["เงื่อนไข"]["ข้อความ"]; ผนวกข้อความ (เงื่อนไข); ต่อท้ายข้อความ (" "); สตริง temp_c = ผลลัพธ์["current"]["temp_c"]; ต่อท้ายข้อความ (temp_c); ต่อท้ายข้อความ ("C"); ต่อท้ายข้อความ (" "); ความชื้นสตริง = ผลลัพธ์["ปัจจุบัน"]["ความชื้น"]; ต่อท้ายข้อความ(ความชื้น); ต่อท้ายข้อความ ("H"); ต่อท้ายข้อความ (" ");
ตัวอย่างเช่น หากคุณต้องการเพิ่ม wind_mph จากผลลัพธ์ apixu api:
สตริง wind_mph = result["current"]["wind_mph"];
ต่อท้ายข้อความ (wind_mph); appendMessage("ความเร็วลม"); ต่อท้ายข้อความ (" ");
รับรหัสเต็มที่นี่ ดูบน GitHub
ขั้นตอนที่ 4: เสร็จสิ้น
เมื่อแฟลชแล้วจะพยายามเชื่อมต่อกับ WiFI ของคุณและจะดึงข้อมูลสภาพอากาศ อุณหภูมิ และความชื้นของคุณ!
ตรวจสอบให้แน่ใจว่าคุณมีการเชื่อมต่ออินเทอร์เน็ต
ต้องการความช่วยเหลือ?
รู้สึกอิสระที่จะแสดงความคิดเห็นที่นี่
สนับสนุนโครงการจาก repo Github นี้
github.com/imjeffparedes/iot-simple-weath…
กรุณาลงคะแนนให้ฉันใน Internet of Things Contest:)
รางวัลที่สองในการประกวด Internet of Things 2017