สารบัญ:

ESP8266 นาฬิกาสถานีตรวจอากาศ: 4 ขั้นตอน
ESP8266 นาฬิกาสถานีตรวจอากาศ: 4 ขั้นตอน

วีดีโอ: ESP8266 นาฬิกาสถานีตรวจอากาศ: 4 ขั้นตอน

วีดีโอ: ESP8266 นาฬิกาสถานีตรวจอากาศ: 4 ขั้นตอน
วีดีโอ: วิธีการทำพร้อมโค๊ด นาฬิกาพยากรณ์อากาศภาษาไทย esp8266 weather clock led matrix thai version 2024, กรกฎาคม
Anonim
ESP8266 นาฬิกาสถานีตรวจอากาศ
ESP8266 นาฬิกาสถานีตรวจอากาศ

โครงการนี้เป็นวิธีที่ดีในการแสดงเวลาและสภาพอากาศในแพ็คเกจขนาดเล็กที่สะดวก ฉันจะอธิบายโปรเจ็กต์ วิธีการทำงาน และแสดงโค้ดที่นี่

คุณสามารถกดปุ่มต่างๆ เพื่อแสดงสภาพอากาศปัจจุบันในตำแหน่งที่ตั้งไว้ รวมทั้งอุณหภูมิและความดัน มุมมองเริ่มต้นคือเวลาที่ดึงจากเซิร์ฟเวอร์ NTP

ไม่จำเป็นต้องตั้งเวลาเนื่องจากเวลาถูกซิงโครไนซ์จากเซิร์ฟเวอร์ NTP และแม่นยำมาก ในการกำหนดค่านี้ ฉันมีเวลาและที่อยู่ IP ในเครื่อง คุณสามารถเปลี่ยนรหัสเพื่อรวมวันที่ สภาพอากาศ ความกดอากาศ และอุณหภูมิเพื่อแสดงบนหน้าจอหลักหรือบนปุ่มได้

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

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

แผนผังค่อนข้างตรงไปตรงมาและง่ายต่อการ

ติดตาม. มีไฟล์ gerber หากคุณต้องการหมุน PCB ของคุณเอง วงจรทั้งหมดขับเคลื่อนด้วย 5V ที่มาจากการเชื่อมต่อไมโคร USB ทำให้วงจรเรียบง่ายและง่ายต่อการจ่ายไฟ 5V ถูกป้อนเข้าสู่ Low Dropout 3.3V Regulator LM 3940 ซึ่งให้ 3.3V กับ ESP8266 มีขั้วต่อ USB บน ESP8266 แต่ฉันเลือกที่จะไม่ใช้มันโดยทั่วไปเพราะ 5V กำลังขับ LCD ด้วย

ต้องใช้ 3.3V กับ ESP8266 คุณไม่สามารถขับโดยตรงด้วย 5V เนื่องจากจะทำให้บอร์ดเสียหาย

สวิตช์สัมผัสสองตัวเชื่อมต่อกับ D5 และ D6 และได้รับการกำหนดค่าในโค้ดเพื่อแสดงข้อมูลต่างๆ บนหน้าจอ ฉันได้ตั้งค่าเหล่านี้เป็นอุณหภูมิ/ความดันและการพยากรณ์

ส่วนประกอบทั้งหมดนั้นบัดกรีด้วยมือได้อย่างง่ายดายบน perfboard หรือ gerber มีอยู่ใน GitHub ของฉันที่

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

github.com/allenelectronics/esp8266weatherstation

รหัสถูกคอมไพล์ใน Arduino IDE และต้องการการกำหนดค่าบางอย่างจึงจะใช้งานได้

ประการแรก คุณต้องติดตั้งบอร์ด ESP8266 ลงใน IDE เพื่ออัปโหลดโค้ดไป

คำแนะนำที่ครอบคลุมเกี่ยวกับวิธีการทำเช่นนี้อยู่ที่นี่:

เพื่อให้ได้ฟังก์ชันสภาพอากาศ ฉันเลือกใช้ RemoteMe ซึ่งรวบรวมข้อมูลสภาพอากาศโดยตรงจาก API และสร้างโค้ดที่สามารถแทรกลงในโค้ดของคุณได้ คุณจะต้องลงทะเบียนและตั้งค่าสตรีมข้อมูลบนเว็บไซต์ของพวกเขา:

เอกสารเกี่ยวกับ RemoteMe สามารถพบได้ที่นี่:

มีคำจำกัดความเฉพาะบางอย่างที่ไม่เหมือนใครสำหรับการตั้งค่าของคุณ ซึ่งคุณจะต้องทำให้เสร็จก่อนอัปโหลด:

#define WIFI_NAME "SSID ไปที่นี่"

#define WIFI_PASSWORD "รหัสผ่านไปที่นี่"

#define DEVICE_ID 1

#define DEVICE_NAME "ขอรับจาก REMOTEME. ORG"

#define TOKEN "รับจาก REMOTEME. ORG"

คุณต้องกำหนดคำจำกัดความที่นี่ตามรายละเอียด wifi และโทเค็นที่คุณได้รับจาก RemoteMe

คุณต้องตรวจสอบให้แน่ใจว่าไลบรารีทั้งหมดเหล่านี้ได้รับการติดตั้งและรวมอยู่ในโค้ดแล้ว ฉันได้รวมลิงก์ไปยังลิงก์ที่ยากกว่าจะได้รับ

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#รวม

#รวม

#รวม

#รวม

ส่วนสุดท้ายที่ต้องเปลี่ยนคือตำแหน่งของคุณเนื่องจากโครงการนี้ไม่ได้ใช้ GPS คุณต้องแก้ไขสตริง "LOCATION":

อย่างอื่น if(buttonState2 == LOW && prevButtonState2== HIGH){

Serial.print("LOCATION\n");

Serial.println(fc);

lcd.clear();

lcd.print("LOCATION");

lcd.setCursor(0, 1);

lcd.print(fc);

lcd.setCursor(0, 0);

ล่าช้า (5000);

prevButtonState2 = buttonState2;

ขั้นตอนที่ 3: การสร้าง

The Build
The Build
The Build
The Build

The Build

ในขณะที่ฉันไม่สามารถเข้าถึงเครื่องพิมพ์ 3 มิติได้ นี่เป็นโปรเจ็กต์สุดท้ายของฉันที่ใช้เคสนอกชั้นวาง ฉันใช้เคสแผงสัญญาณเตือนที่มีจำหน่ายซึ่งออกแบบมาสำหรับ LCD ขนาด 16x2

ลิงค์: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

ทุกอย่างบรรจุอยู่ในเคส จอแสดงผล LCD ขนาด 16x2 ติดกาวที่แผงด้านหน้าโดยติดแผงวงจรด้วยความร้อน

ขั้นตอนที่ 4: บทสรุป

บทสรุป

นี่เป็นโปรเจ็กต์ที่เรียบร้อยสำหรับนาฬิกาดิจิทัลบนเดสก์ท็อปที่ไม่ต้องการการปรับแต่งหรือการตั้งค่าใดๆ เลย ต้องใช้เวลาจากเซิร์ฟเวอร์ NTP และแสดงบนจอ LCD ที่มีแสงพื้นหลังที่ชัดเจน

นี่ไม่ใช่สำหรับผู้เริ่มต้นโดยสมบูรณ์ เนื่องจากมีการกำหนดค่าบางอย่างสำหรับโค้ดที่จำเป็นและจำเป็นต้องตั้งค่าสตรีมข้อมูลด้วย หากคุณมีคำถามหรือความคิดเห็นใด ๆ โปรดทิ้งความคิดเห็นไว้

แนะนำ: