สารบัญ:

Wave Lamp - สภาพอากาศและการเตือน: 7 ขั้นตอน (พร้อมรูปภาพ)
Wave Lamp - สภาพอากาศและการเตือน: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Wave Lamp - สภาพอากาศและการเตือน: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Wave Lamp - สภาพอากาศและการเตือน: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: รหัสเตือน ไฟเตือนต่างๆ รถhondaทุกรุ่น พร้อมวิธีแก้เบื้องต้น ใครอยากได้รหัสทักมา 2024, พฤศจิกายน
Anonim
Image
Image
ภาพ
ภาพ

ขณะท่องดูสิ่งต่าง ๆ ฉันเห็น Wave Lamp ที่น่าทึ่งอย่างยิ่งและฉันต้องสร้างมันขึ้นมา

www.thingiverse.com/thing:774456

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

แถมยังมีฐานโคมไฟแบบแถบ LED

ภาพ
ภาพ

และแน่นอน ฉันไม่สามารถปล่อยให้มันเป็นโคมไฟข้างเตียงได้ ฉันต้องทำให้เป็น wifi และแสดงสภาพอากาศ ดังนั้นฉันจึงใช้โมดูล ESP8266 ที่แพร่หลายพร้อมไฟ LED WS2812B เพื่อควบคุมสีของไฟตามการคาดการณ์ของวันนี้ นอกจากนี้ ไฟจะปิดโดยอัตโนมัติเมื่อเวลา 22:00 น. และเปิดขึ้นเวลา 06:00 น.

ขั้นตอนที่ 1: ข้อกำหนด

ความต้องการ
ความต้องการ
ความต้องการ
ความต้องการ

คุณจะต้องมีรายการต่อไปนี้เพื่อสร้างโคมระย้านี้:

เครื่องมือ:

  1. เครื่องพิมพ์ 3 มิติ - เครื่องพิมพ์ที่สามารถพิมพ์ได้อย่างน้อย 30-35 ซม.
  2. โมดูล USB-TTL เพื่อตั้งโปรแกรม ESP-12E
  3. ปืนกาวร้อน
  4. หัวแร้ง

วัสดุสิ้นเปลือง:

  1. ปลา - สีขาวสำหรับโคมไฟและสีอื่นสำหรับฐาน
  2. 30 WS2812B ไฟ LED RGB ที่สามารถระบุตำแหน่งได้
  3. ESP8266 - 12E
  4. 74HCT245N
  5. แหล่งจ่ายไฟ 5V
  6. ตัวแปลงไฟ 5V-3.3V
  7. หมุดส่วนหัวและตัวต้านทานสองสามตัว
  8. ประสาน

ขั้นตอนที่ 2: 3D Print

พิมพ์ 3 มิติ
พิมพ์ 3 มิติ
พิมพ์ 3 มิติ
พิมพ์ 3 มิติ
พิมพ์ 3 มิติ
พิมพ์ 3 มิติ

3D พิมพ์ชิ้นส่วนต่อไปนี้

โคมไฟ

  1. พิมพ์โดยใช้ PLA สีขาวหมุนที่ด้านข้าง
  2. ไม่จำเป็นต้องรองรับและแพ
  3. แม้ว่าฉันจะใช้ปีกขนาด 5 มม. เพื่อให้แน่ใจว่ามันจะติดอยู่กับเตียงขณะพิมพ์
  4. ฉันใช้การตั้งค่าต่อไปนี้:

    • หัวฉีดภูเขาไฟ 0.8 มม. และความสูงของชั้น 0.3 มม.
    • 2 ปริมณฑล
    • เติม 100% (ไม่สำคัญเพราะชิ้นบางมาก แต่กลับถูกเติมเต็ม)
  5. ได้รับการเตือน - นี่เป็นงานพิมพ์ขนาดใหญ่และใช้เวลานาน ดังนั้น หากคุณไม่สะดวกที่จะทิ้งเครื่องพิมพ์ไว้ข้ามคืน (หรือหลายคืน) วิธีนี้ไม่เหมาะสำหรับคุณ รับพิมพ์โดยใช้ 3Dhubs ของฉันใช้เวลาประมาณ 30 ชั่วโมง

จุดยืน

  1. ฉันแก้ไขขาตั้งโดยใช้ TinkerCAD เพื่อสร้างช่องในฐานสำหรับอุปกรณ์อิเล็กทรอนิกส์ คุณสามารถดาวน์โหลดได้ที่นี่:
  2. พิมพ์โดยใช้ PLA สี (ฉันใช้ woodfill):

    • หัวฉีดภูเขาไฟ 0.8 มม. และความสูงของชั้น 0.3 มม.
    • 2 ปริมณฑล
    • เติม 20%
  3. ถูกเตือนว่า - โพรงที่ฉันสร้างขึ้นไม่มีการรองรับและด้านในจะเลอะเทอะเล็กน้อย (โดยเฉพาะอย่างยิ่งกับ PLA ของ woodfill ที่เชื่อมได้ไม่ดี)

ด้านบน

นี่เป็นชิ้นส่วนเสริม ฉันสร้างมันขึ้นมาใน TinkerCAD เพื่อซ่อนรูที่ด้านบนของหลอดไฟ มันไม่มีอะไรดี แต่ใช้งานได้

  1. https://www.tinkercad.com/things/5aD6V4O0jpy
  2. ไม่จำเป็นต้องรองรับและแพ
  3. ฉันใช้การตั้งค่าต่อไปนี้:

    • หัวภูเขาไฟ 0.8 มม. และความสูงของชั้น 0.3 มม.
    • 2 ปริมณฑล
    • เติม 30%

ขั้นตอนที่ 3: วงจรอิเล็กทรอนิกส์

วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า
วงจรไฟฟ้า

วงจรที่ใช้สำหรับหลอดไฟนี้ง่ายมาก และหาก WS2812B ของคุณ (บางรุ่นใช้ บางรุ่นใช้ไม่ได้) ทำงานที่สัญญาณ 3.3V ก็จะยิ่งง่ายยิ่งขึ้นไปอีกเนื่องจากคุณสามารถหลีกเลี่ยง 74HCT245N ได้

วงจรหลัก (ดูแผนผังด้านบน):

  1. ESP-12E (คุณสามารถข้ามขั้นตอนเหล่านี้ได้หากคุณใช้หนึ่งในโมดูลที่สร้างไว้ล่วงหน้าจาก Adafruit, Sparkfun ฯลฯ):

    • ต่อพิน 3 และ 8 ถึง 3.3V
    • เชื่อมต่อพิน 1, 11 และ 12 ถึง 3.3V ผ่านตัวต้านทาน 10k
    • เชื่อมต่อพิน 9 และ 10 กับ GND
    • เชื่อมต่อพิน 12 กับ GND ผ่านขั้วต่อ 2 พินแบบเปิด หมุดเหล่านี้สามารถเชื่อมต่อเข้าด้วยกันเพื่อตั้งโปรแกรม ESP-12E
    • เชื่อมต่อพิน 15 และ 16 กับพินส่วนหัว (นี่คือพิน RX และ TX ที่ใช้ในการตั้งโปรแกรม ESP-12E)
  2. 74HCT245N (ไม่ต้องสนใจหากไฟ LED WS2812B ของคุณทำงานโดยตรงที่ 3.3V)

    • ต่อพิน 1 และ 20 ถึง +5V
    • เชื่อมต่อพิน 10 และ 19 กับ GND
    • เชื่อมต่อพิน 2 กับพิน 13 ของ ESP-12E
  3. WS2812B

    • เชื่อมต่อ +5V และ GND กับพิน +5V และ GND ตามลำดับ
    • เชื่อมต่อ DIN กับพิน 18 บน 74HCT245N
    • หากคุณข้าม 74HCT245N ให้เชื่อมต่อ DIN กับพิน 13 ของ ESP-12E

ตรวจสอบให้แน่ใจว่า GND ทั้งหมดเชื่อมต่อกัน ตรวจสอบให้แน่ใจว่าคุณไม่ได้เชื่อมต่อ +5 หรือ +3.3 กับ GND

ฉันมีกระดานสองสามแผ่นที่โกหกจากโครงการก่อนหน้านี้และใช้มัน (ภาพด้านบน)

github.com/dushyantahuja/ESP8266-RGB-W-LED…

ขั้นตอนที่ 4: การเขียนโปรแกรม ESP-12E

การเขียนโปรแกรม ESP-12E
การเขียนโปรแกรม ESP-12E

ฉันใช้ Arduino IDE เพื่ออัปโหลดโค้ดไปยัง ESP-12E ต้องมีการตั้งค่าบางอย่างก่อนจึงจะสามารถทำได้

การตั้งค่า Arduino IDE

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

ขั้นตอนมีดังนี้:

  1. ดาวน์โหลด IDE ล่าสุดจาก
  2. เปิด IDE และไปที่เครื่องมือ -> บอร์ด -> ตัวจัดการบอร์ด…
  3. ค้นหา ESP8266 และคลิกติดตั้ง (ดูภาพด้านบน)

การเขียนโปรแกรมโมดูล

โมดูลนี้ไม่ได้มาพร้อมกับอินเทอร์เฟซ USB ดังนั้น คุณจำเป็นต้องใช้โมดูล USB-TTL / Arduino เพื่อจัดการกับการสื่อสาร USB กับคอมพิวเตอร์ คุณสามารถซื้อโมดูลราคาถูกตัวใดก็ได้บน ebay (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) - ทั้งหมดทำงานเหมือนกัน - มีเพียงข้อแม้ในการค้นหาไดรเวอร์ที่ถูกต้อง ที่คอมพิวเตอร์ของคุณตรวจพบโมดูล

การเชื่อมต่อค่อนข้างง่าย:

  1. เชื่อมต่อ GND จาก USB-TTL เข้ากับพินที่มีเครื่องหมาย GND บน ESP-12E
  2. เชื่อมต่อ 3.3V จาก USB-TTL เข้ากับพินที่มีเครื่องหมาย VCC บน ESP-12E
  3. เชื่อมต่อ TX จาก USB-TTL เข้ากับพินที่มีเครื่องหมาย RX บน ESP-12E
  4. เชื่อมต่อ RX จาก USB-TTL เข้ากับพินที่มีเครื่องหมาย TX บน ESP-12E
  5. ย่อส่วนหัวของโปรแกรมเพื่อให้ PIN 12 เชื่อมต่อกับ GND

โมดูลพร้อมที่จะตั้งโปรแกรมแล้ว

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

โค้ดจะขึ้นอยู่กับบทช่วยสอนของ Random Nerd Tutorials เป็นอย่างมาก https://randomnerdtutorials.com/esp8266-weather-fo… - อันที่จริง weather bits นั้นคัดลอกมาจากที่นั่นล้วนๆ

  1. ติดตั้งไลบรารีต่อไปนี้:

    • FastLED (https://fastled.io)
    • ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
    • ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
  2. รับ OpenWeatherMap API (https://openweathermap.org/api)
  3. ดาวน์โหลดโค้ดจาก github:
  4. ทำการเปลี่ยนแปลงต่อไปนี้:

    • Wifi และรหัสผ่านในบรรทัด 56 และ 57
    • เมืองและรหัส API ในบรรทัด 23 และ 24
  5. อัปโหลดไปยัง ESP-12E

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

  1. ถ้าฝนจะตก / ฝน - ฟ้า
  2. ถ้าหิมะตก / พายุฟ้าคะนอง - แดง-น้ำเงิน
  3. ถ้าชัดเจน - เขียว
  4. Else Rainbow - เพื่อบัญชีสำหรับเงื่อนไขพิเศษ / ข้อผิดพลาด

คุณสามารถเปลี่ยนแปลงบรรทัด 365-377 เพื่อเปลี่ยนแปลงสิ่งเหล่านี้ได้ จานสีที่ใช้อยู่ในบรรทัด 70-82

ขั้นตอนที่ 6: ประกอบ

Image
Image
Arduino Contest 2017
Arduino Contest 2017

ประกอบชิ้นส่วนต่อไปนี้:

  1. พันแถบ LED เข้ากับขาตั้ง LED แล้วติดด้วยกาวร้อน
  2. ใส่โมดูลวงจรที่ด้านล่างและติดด้วยกาวร้อน
  3. เลื่อนโคมไฟคลื่นที่ด้านบนของขาตั้ง LED
  4. วางด้านบนไว้ด้านบน

เสียบเข้ากับแหล่งจ่ายไฟ 5V แล้วเพลิดเพลิน

ขั้นตอนที่ 7: แผนในอนาคต

ใช้งานได้ในขณะนี้ แต่ฉันวางแผนที่จะเพิ่มคุณสมบัติต่อไปนี้:

  1. รวม MQTT เพื่อให้สามารถเชื่อมโยงกับ OpenHAB
  2. อาจสร้างคุณสมบัติการแจ้งเตือนบางอย่างสำหรับสาย / ข้อความที่ไม่ได้รับ
  3. ตื่นมาเบาๆ

ข้อเสนอแนะยินดีต้อนรับ และถ้าคุณสร้างมันขึ้นมา อย่าลืมโพสต์ภาพที่นี่

แนะนำ: