สารบัญ:

นาฬิกาปลุกพระอาทิตย์ขึ้นพร้อม Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาปลุกพระอาทิตย์ขึ้นพร้อม Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาปลุกพระอาทิตย์ขึ้นพร้อม Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาปลุกพระอาทิตย์ขึ้นพร้อม Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ลุงตู่ หรือ ลุงป้อม อย่างฮา แถมสวยมีสเน่ห์อีกด้วย มิสแกรนด์ 2023 🇹🇭 2024, พฤศจิกายน
Anonim
Image
Image
นาฬิกาปลุกพระอาทิตย์ขึ้นพร้อม Arduino
นาฬิกาปลุกพระอาทิตย์ขึ้นพร้อม Arduino

ฤดูหนาวอาจเศร้า ตื่นมาก็มืดแล้วต้องลุกจากเตียง สิ่งสุดท้ายที่คุณอยากได้ยินคือเสียงนาฬิกาปลุกที่ดังก้องกังวาน ฉันอาศัยอยู่ในลอนดอนและตื่นเช้าได้ยาก ฉันยังคิดถึงการตื่นนอนด้วยแสงธรรมชาติ

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

โคมไฟพระอาทิตย์มีอยู่ในท้องตลาด แต่อาจมีราคาแพง (การค้นหาอย่างรวดเร็วใน Amazon จะส่งคืนผลิตภัณฑ์ในช่วง 100 ปอนด์) เปราะบางและดูเป็นธรรมชาติ เราจะทำบางสิ่งที่ถูกกว่าและดีกว่ามาก

ชิ้นส่วนทั้งหมดจะแสดงในขั้นตอนต่อไป สามารถดาวน์โหลดรหัสได้จาก Github repo gold-sunrise-clock ของฉัน ไฟล์แผนผังและบิลด์ทั้งหมดสำหรับเคสพร้อมให้ดาวน์โหลดในบทช่วยสอนนี้

ไปกันเถอะ:)

หากคุณพบปัญหาหรือต้องการทักทาย วางฉันที่ไลน์ [email protected] หรือติดตามฉันบน Instagram @celinechappert

ขั้นตอนที่ 1: รวบรวมส่วนประกอบ

รวบรวมส่วนประกอบ
รวบรวมส่วนประกอบ

ในการเริ่มต้น เราจะใช้นาฬิกาเป็นอินพุต และไฟ LED ที่สว่างเป็นพิเศษเป็นเอาต์พุตของเราเพื่อจำลองพระอาทิตย์ขึ้น

ในการสร้างวงจรเราต้องการ:

- นาฬิกา. เราจะใช้ RTC DS3231 (5 ปอนด์)

- MOSFET เพื่อควบคุมความสว่างของแสง (9 ปอนด์)

- ไฟ LED ที่สว่างเป็นพิเศษ (1 ปอนด์)

- แบตเตอรี่ 9V สำหรับจ่ายไฟให้กับ LED (£3)

- เขียงหั่นขนมสำหรับประกอบง่าย (3 ปอนด์)

- Arduino Uno (20 ปอนด์)

- ปุ่มกด (ตัวเลือก - เพื่อการสาธิตเท่านั้น)

ราคาทั้งหมด = £41

หากคุณมี Arduino, เขียงหั่นขนม และแบตเตอรี่ 9V ที่บ้านอยู่แล้ว โปรเจ็กต์ทั้งหมดจะเสียค่าใช้จ่ายน้อยกว่า 15 ปอนด์

ในการทำกล่องอะครีลิคคุณจะต้อง:

- แผ่นอะครีลิค Perspex 0.3 มม. 2 แผ่น สีละ 1 แผ่น สำหรับกันแดดและตัวเคส

- การเข้าถึงเครื่องตัดเลเซอร์

ฉันโชคดีที่สามารถเข้าถึงเวิร์กช็อปของโรงเรียนได้ ดังนั้นค่าใช้จ่ายเหล่านี้จึงครอบคลุมเป็นส่วนใหญ่ ฉันซื้อแผ่นอะครีลิกเพิ่มเพราะการออกแบบของฉันต้องใช้สีส้มสำหรับตากแดด ซึ่งราคา 14 ปอนด์/แผ่น (Perspex แพงมาก!)

ขั้นตอนที่ 2: การประกอบวงจร

Image
Image
การประกอบวงจร
การประกอบวงจร
การประกอบวงจร
การประกอบวงจร

คุณสามารถอ้างถึงภาพร่างขาวดำของวงจรของฉัน (ขออภัยที่ยุ่ง) และแผนภาพที่มี Arduino (เสร็จสิ้นด้วย Fritzing)

โดยพื้นฐานแล้วนี่คือรายละเอียดเกี่ยวกับสิ่งที่เชื่อมโยงกับ:

นาฬิกา:

(-) เชื่อมต่อกับ GND

NC ย่อมาจาก 'Not Connected' และไม่เชื่อมต่อกับอะไรเลย

C/SCL เชื่อมต่อกับพิน A5 บน Arduino

D/SDA เชื่อมต่อกับพิน A4 บน Arduino

(+) เชื่อมต่อกับ 5V บน Arduino

MOSFET

เกทพินไปที่พิน ~ 9 บน Arduino Uno เพราะมันคือ PWM

หมุดระบายน้ำไปทางด้านลบของ LED

พินต้นทางไปที่ GND บน Arduino

นำ

ด้านลบเชื่อมต่อกับหมุดระบายน้ำบน MOSFET

ด้านบวกเชื่อมต่อกับ 5V บนเขียงหั่นขนม

แบตเตอรี่ 9V

(+) ถึง (+) บนเขียงหั่นขนม เช่นเดียวกับ (-)

Arduino Uno

อย่าลืมเชื่อมต่อ 5V กับ (+) บนเขียงหั่นขนมและ GND กับ (-) อย่าลืมเชื่อมต่อ (-) ที่ด้านหนึ่งของเขียงหั่นขนมกับ (-) อีกด้านหนึ่ง

ต่อไปเราจะตั้งค่านาฬิกาของเราโดยใช้ไลบรารี DS3231

ขั้นตอนที่ 3: การติดตั้งและตั้งค่านาฬิกา

การติดตั้งและการตั้งนาฬิกา
การติดตั้งและการตั้งนาฬิกา
การติดตั้งและการตั้งนาฬิกา
การติดตั้งและการตั้งนาฬิกา
การติดตั้งและการตั้งนาฬิกา
การติดตั้งและการตั้งนาฬิกา

ห้องสมุดที่ฉันใช้เพื่อเรียกใช้นาฬิกานี้สามารถดูได้ที่ Rinky-Dink Electronics (ภาพหน้าจอด้านบน) คลิกที่ลิงค์และตรวจสอบว่าคุณอยู่ในหน้า DS3231 ดาวน์โหลดไฟล์ zip บันทึกแล้ววางลงในโฟลเดอร์ /libraries ของ Arduino

ในการตั้งเวลาที่ถูกต้องบนนาฬิกา ให้เปิด Arduino และไปที่ Examples/DS3231/Arduino/DS3231_Serial_Easy

ยกเลิกการใส่เครื่องหมายรหัสสามบรรทัด (ที่ขีดเส้นไว้เป็นสีส้มในภาพหน้าจอ) ให้ตรวจสอบเวลาและสถานที่ที่ถูกต้องในรหัสสามบรรทัดนั้นในรูปแบบทางการทหาร

กดอัพโหลด

ตอนนี้คุณสามารถยกเลิกความคิดเห็นสามบรรทัดนั้นแล้วกดอัปโหลดอีกครั้ง

เปิด Serial Monitor ของคุณและตรวจสอบว่าเวลาของคุณถูกต้อง

นาฬิกาของเราพร้อมแล้ว ! เรามีวงจรของเราแล้ว มาเริ่มเขียนโค้ดกัน อีกครั้ง repo มีอยู่ใน Github

ขั้นตอนที่ 4: การเข้ารหัส

Image
Image

ดาวน์โหลดโค้ดและตรวจสอบให้แน่ใจว่าติดตั้งไลบรารีสำหรับ DS3231 อย่างถูกต้อง

ก่อนอื่น เราต้องการกำหนดการตั้งค่าของเรา

fadeTime คือระยะเวลาที่แสงจะจางลงจาก 0 เป็นความสว่างสูงสุดเป็นนาที setHour/setMin ตรงกับเวลาที่เราต้องการจะตื่น (หมายเหตุ: นี่เป็นรูปแบบการทหาร ดังนั้นจึงต้องใช้เวลา 24 ชั่วโมง) นอกจากนี้เรายังกำหนดพิน 9 บน Arduino เป็น OUTPUT ของเรา

ใน setup() ตรวจสอบให้แน่ใจว่าหมายเลข SerialBegin (ที่นี่ 96000 บอด) สอดคล้องกับหมายเลขของ Serial Monitor

ใน loop() คำสั่ง if จะตรวจสอบดูว่าถึงเวลาตื่นหรือยัง โค้ดทำงานแบบวนซ้ำ โดยตรวจสอบทุกครั้งว่าค่าชั่วโมงและนาทีที่นาฬิกาส่งคืนนั้นสอดคล้องกับตัวแปร setHour/setMin ของเราหรือไม่ หากเป็นกรณีนี้ คำสั่ง if จะส่งกลับฟังก์ชัน active()

ฟังก์ชัน active() ประกอบด้วยสองส่วน ขั้นแรก เราจะค่อยๆ หรี่แสงลงทีละน้อย ฟังก์ชันการหน่วงเวลาอยู่ที่นี่เพื่อป้องกันไม่ให้ LED สว่างเกินไปเร็วเกินไปในช่วง 'ต้น' ของ fadeTime จากนั้น a for loop จะควบคุมความเร็วที่แสงควรจะสว่างขึ้นและสว่างขึ้นขึ้นอยู่กับ fadeTime สุดท้าย เราปิดไฟโดยส่งค่า 0 ไปยัง LED ของเราในฟังก์ชัน analogWrite()

วิดีโอด้านบนแสดงวงจรการทำงานในกล่องอะครีลิคต้นแบบตัวใดตัวหนึ่ง

ขั้นตอนที่ 5: ต้นแบบกระดาษแข็ง (ไม่บังคับ)

ต้นแบบกระดาษแข็ง (ไม่จำเป็น)
ต้นแบบกระดาษแข็ง (ไม่จำเป็น)
ต้นแบบกระดาษแข็ง (ไม่จำเป็น)
ต้นแบบกระดาษแข็ง (ไม่จำเป็น)

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

แนะนำ: