กลับไปหน้ารวมไฟล์
sunrise-clock-f6c152.md

ชื่อโปรเจกต์: Sunrise Clock

* เจ้า ESP8266 ของเราจะแอบแวบไปต่อ Internet วันละครั้งเพื่อไปดึงเวลาจาก NTP Server มาอัปเดตให้ตรงเป๊ะ ไม่ต้องกลัวเวลาเดินหลงทางนะน้อง

* ส่วนเรื่องตั้งค่า WiFi กับพวกค่า Configuration ต่างๆ พี่ใช้ Library ที่ชื่อ WiFiManager มาช่วยในโหมด SoftAP บอกเลยว่าง่ายจัด ไม่ต้องมานั่ง Hardcode รหัสผ่านให้เสียเวลา

* ติด [LDR](https://s.shopee.co.th/1BHCUqb0Tt) ไว้ด้วยนะ เอาไว้ตรวจจับแสงรอบๆ เพื่อปรับความสว่างหน้าจอ Clock อัตโนมัติ กลางคืนจะได้ไม่สว่างแยงตาจนนอนไม่หลับ

* ออปชันการปลุกนี่จัดเต็ม จะให้ LED วิ่งสลับไปมา (Cycling), กระพริบแบบนุ่มๆ (Pulsing), หรือจะให้หน้าจอ Clock สว่างวาบยันดาวอังคาร หรือจะให้มันกระพริบเรียกสติก็จัดไปวัยรุ่น

* วันหยุดอยากนอนยาวก็เลือกปิด Alarm ได้ หรือจะตั้งเวลาปลุกแยกไว้ต่างหากก็ได้นะ พี่เข้าใจ...วันหยุดมันมีค่า!

* ใครติดนิสัยชอบเปิดไฟนอน พี่มีโหมด Fade นุ่มๆ หรือจะเอาแนวโรแมนติกแบบเตาผิง (Fireplace) กับแสงเทียน (Candles) ก็มีให้เลือก จะได้นอนหลับฝันดี

* อยากเปิดไฟหรือปรับความแรงแสงเหรอ? แค่หมุนตัว Encoder เอาเลย สะดวกสบายสไตล์วิศวะ

* แสงหรี่ๆ กับเอฟเฟกต์เตาผิงหรือเทียนนี่บอกเลยว่าหล่อเท่มาก ไม่ได้สวยแค่ตอนนอนนะ แต่งห้องไปในตัวด้วย

หน้าจอเป็นอะคริลิกสีเข้มๆ จุดสีเทาใต้จอคือสติกเกอร์ที่ติดไว้เป็นหน้าจอให้ LED บนบอร์ด D1 mini

ส่วนที่เป็นโลหะจะช่วยสร้าง `เส้นขอบฟ้า` และสะท้อนแสง 'Sunrise' แถมยังช่วยเซฟพวก LED ด้วย

หน้าจอ WiFiManager

คู่มือการใช้งาน

* ตรงกลางใช้ LED สีเหลือง 3 ดวงกับสีแดง 1 ดวง ส่วนบล็อกซ้ายกับขวาจัดสีเหลืองไปข้างละ 3 ดวงนะน้อง

* เอฟเฟกต์เตาผิง (Fireplace) นี่ทีเด็ด! LED ตรงกลางจะค่อยๆ กระพริบสุ่ม (Pulsing) ในช่วง PWM แคบๆ ส่วนซ้ายขวาจะกระพริบเร็วแบบจัดเต็ม PWM แสง 'ไฟ' จะค่อยๆ Fade จางลงตามเวลาที่เราตั้งไว้ก่อนหลับ

* โหมดแสงเทียน (Candles) ก็ใช้การสุ่ม Pulsing ช้าๆ ของ LED บล็อกซ้ายและขวาในช่วง PWM แคบๆ ให้ฟีลลิ่งเหมือนแสงเทียนจริงๆ เลย

รายละเอียดทางเทคนิคแบบจัดเต็ม

การทำงานของแสงเลียนแบบนาฬิกาชีวิต (Circadian Lighting)

เจ้าโปรเจกต์ Sunrise Clock ตัวนี้ออกแบบมาเพื่อปลุกเราแบบธรรมชาติ เหมือนมีพระอาทิตย์ขึ้นในห้องเลย

  • RGB Incremental Fading: ใช้ RGB LED หรือสาย NeoPixel จัดไปวัยรุ่น! เริ่มนับถอยหลัง 30 นาทีก่อนเวลาปลุกจริง มันจะค่อยๆ Fade จากสีแดงเข้ม (Deep Red) ไปเป็นสีส้มอุ่น (Warm Orange) จนกลายเป็นสีขาว Daylight (6500K) โดยใช้ความละเอียด PWM แบบ 8-bit นุ่มๆ เลย
  • Real-Time Clock (RTC) Sync: พี่ใช้ Module DS3231 ในการรักษาเวลาให้แม่นยำระดับเทพ (±2ppm) มั่นใจได้ว่าแสง Sunrise จะขึ้นตรงเวลาเป๊ะๆ ทุกเช้าแน่นอน

ประสบการณ์ด้านประสาทสัมผัส

  • Gentle Acoustic Backup: มี Piezo Buzzer หรือ Module เครื่องเล่น MP3 เป็นตัวช่วยสำรอง เสียงจะค่อยๆ ดังขึ้นตอนจบของ Step แสงปลุก รับรองว่าตื่นมาแบบแฮปปี้ ไม่สะดุ้งตื่นแบบโดนถีบตกเตียงแน่นอน สู้งานนะน้อง!

ข้อมูล Frontmatter ดั้งเดิม

title: "Sunrise Clock"
description: "A light 'alarm' clock designed for gentle wake-up with increasing light intensity."
author: "Juraj"
category: ""
tags:
  - "clocks"
views: 2320
likes: 1
price: 1499
difficulty: "Intermediate"
components:
  - "1x 4-Digit LED Display, TM1637, 50x19mm"
  - "1x Rotary Encoder with Push-Button"
  - "1x 5 mm LED: Red"
  - "1x Enclosure"
  - "1x dark screen"
  - "1x Resistor 10k ohm"
  - "1x Wemos D1 Mini"
  - "1x USB AC/DC power supply"
  - "1x Male Header 40 Position 1 Row (0.1\")"
  - "1x LDR, 1 Mohm"
  - "3x General Purpose Transistor NPN"
  - "10x Resistor 100 ohm"
  - "1x Prototyping board"
  - "1x Female/Female Jumper Wires"
  - "1x Soldering iron (generic)"
  - "1x USB-A to Micro-USB Cable"
  - "1x Wire, Wrapping Wire"
  - "9x 5 mm LED: Yellow"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/jandrassy/SunriseClock/tree/main/SunriseClock"
documentationLinks: []
passwordHash: "6cc49c51e1fde2b4d40e4368c63aaad44111efd8831a081fe8b6b3218a6c8d03"
encryptedPayload: "U2FsdGVkX195pDU28Jlf5l5jM2W3V9kPetJjeakT140F7btUSCz5UDIqrX8BKYps4voKTqeqcNfFLgBQb68rSUCSTsL52feAkl5HeEWbK1Y="
seoDescription: "Build an Arduino Sunrise Clock for a gentle wake-up experience with gradual light intensity."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/sunrise-clock-f6c152_cover.jpg"
lang: "th"