Weather Matrix Display: 4 ขั้นตอน (พร้อมรูปภาพ)
Weather Matrix Display: 4 ขั้นตอน (พร้อมรูปภาพ)
Anonim
การแสดงเมทริกซ์สภาพอากาศ
การแสดงเมทริกซ์สภาพอากาศ
การแสดงเมทริกซ์สภาพอากาศ
การแสดงเมทริกซ์สภาพอากาศ

เกี่ยวกับโครงการ

ฉันจะแสดงวิธีสร้างการแสดงสถานะสภาพอากาศขนาดเล็กจากจอแสดงผลเมทริกซ์ขนาด 8x8

ฉันจะใช้ Genuino MKR1000 เพื่อดึงข้อมูลอุณหภูมิ ความชื้น และสภาพอากาศภายในสถานที่ที่เลือก

แสดงสถานะเพื่อแสดงในรูปแบบภาพเคลื่อนไหวสไลด์

ความท้าทาย

เนื่องจากเมทริกซ์ 8x8 นั้นเป็นอาร์เรย์ของ LED ฉันจึงต้องตั้งโปรแกรมให้แสดงเอฟเฟกต์ข้อความและแอนิเมชั่น

ในโครงการนี้ คุณจะได้เรียนรู้วิธีการ

  1. ใช้บริการเว็บส่วนที่เหลือ api
  2. วิธีแยกวิเคราะห์ข้อมูล Json
  3. วิธีใช้ไลบรารี Threads และ Wifi ใน Arduino

ขั้นตอนที่ 1: ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board

ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board
ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board
ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board
ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board
ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board
ประกอบ MKR1000 และจอแสดงผล 8x8 เข้ากับ Mini Bread Board

การตั้งค่านั้นค่อนข้างง่าย เราเพียงแค่แนบจอแสดงผลเมทริกซ์ขนาด 8x8 เข้ากับไมโครคอนโทรลเลอร์ของเรา

ความต้องการ

  1. จัมเปอร์ชายหญิง 16 ชิ้น
  2. คณะกรรมการขนมปังมินิ
  3. ไมโครคอนโทรลเลอร์
  4. จอแสดงผลเมทริกซ์ 8x8'

จอแสดงผลประกอบ

แบ่งจัมเปอร์ของคุณออกเป็นกลุ่ม 8 ชิ้น

ตรวจสอบให้แน่ใจว่าสายจัมเปอร์อยู่ในแนวเดียวกัน

เชื่อมต่อจัมเปอร์หญิง 8 ตัวกับจอแสดงผลเมทริกซ์ 8 พินแรก

เชื่อมต่อจัมเปอร์หญิงอีก 8 ตัวกับจอแสดงผลเมทริกซ์ 8 พินที่ 2

ต่อเข้ากับไมโครคอนโทรลเลอร์

ติดไมโครคอนโทรลเลอร์เข้ากับเขียงหั่นขนมขนาดเล็ก

ใช้หมุดปลายตัวผู้ของสายจัมเปอร์ เสียบเข้ากับ 8 รูแรกที่ติดหมุดไมโครคอนโทรลเลอร์ (5-A5)

ใส่ส่วนที่เหลืออีก 8 รูที่ยึดหมุดไมโครคอนโทรลเลอร์ไว้ (6-13)

ปรับจอแสดงผลเมทริกซ์ขนาด 8x8 ให้หันไปทางด้านหน้าเมื่อคุณวางไว้บนโต๊ะ

ขั้นตอนที่ 2: สร้างบัญชี Weather Api ของคุณ

สร้างบัญชี Weather API ของคุณ
สร้างบัญชี Weather API ของคุณ
สร้างบัญชี Weather API ของคุณ
สร้างบัญชี 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: เสร็จสิ้น

Image
Image

เมื่อแฟลชแล้วจะพยายามเชื่อมต่อกับ WiFI ของคุณและจะดึงข้อมูลสภาพอากาศ อุณหภูมิ และความชื้นของคุณ!

ตรวจสอบให้แน่ใจว่าคุณมีการเชื่อมต่ออินเทอร์เน็ต

ต้องการความช่วยเหลือ?

รู้สึกอิสระที่จะแสดงความคิดเห็นที่นี่

สนับสนุนโครงการจาก repo Github นี้

github.com/imjeffparedes/iot-simple-weath…

กรุณาลงคะแนนให้ฉันใน Internet of Things Contest:)

Internet of Things Contest 2017
Internet of Things Contest 2017

รางวัลที่สองในการประกวด Internet of Things 2017