สารบัญ:

DIY Arduino Binary Alarm Clock: 14 ขั้นตอน (พร้อมรูปภาพ)
DIY Arduino Binary Alarm Clock: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY Arduino Binary Alarm Clock: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY Arduino Binary Alarm Clock: 14 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Arduino based Binary Alarm Clock - How to build it 2024, กรกฎาคม
Anonim
DIY Arduino นาฬิกาปลุกไบนารี
DIY Arduino นาฬิกาปลุกไบนารี
DIY Arduino นาฬิกาปลุกไบนารี
DIY Arduino นาฬิกาปลุกไบนารี
DIY Arduino นาฬิกาปลุกไบนารี
DIY Arduino นาฬิกาปลุกไบนารี

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

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

เสบียง

LED 5 มม. (สีใดก็ได้ ฉันใช้ LED สีขาว 13 ดวงโดยมีไฟ LED RGB หนึ่งดวงเป็นตัวบ่งชี้) --- 14 ชิ้น

Arduino Nano (ตัวอื่นอาจใช้ได้) --- 1 ชิ้น

ไมโครสวิตช์ --- 1 ชิ้น

แผ่นอลูมิเนียมฟอยล์ชิ้นเล็ก

แผงยึด (สำหรับตู้ แต่ออกแบบเองได้)

กระดาษสีขาว (หรือสีอื่น ๆ)

ฟิล์มพลาสติกบางแผ่น (อันที่ใช้ทำปกหนังสือ)

มัดสายไฟ

Buzzer --- 1pc

ทรานซิสเตอร์ NPN --- 1pc

ตัวต้านทาน 6k8 --- 14 ชิ้น, 500R --- 1 ชิ้น, 20R (10Rx2) --- 1 ชิ้น, 4k7 --- 1 ชิ้น

แหล่งจ่ายไฟสำหรับโครงการ (ฉันใช้แบตเตอรี่ li-on)

แถบ LED 5050 และสวิตช์สไลด์ (อุปกรณ์เสริม)

ขั้นตอนที่ 1: เชื่อมต่อวงจร

ต่อวงจร!
ต่อวงจร!

ฉันจะแบ่งขั้นตอนนี้ออกเป็น:

1) ส่วนออด

2) แผงไฟ LED

3) สวิตช์ (ปุ่มกด)

4) แถบ LED

5) เซ็นเซอร์ความจุ

6) แหล่งจ่ายไฟ

7) เชื่อมต่อทั้งหมดเข้ากับ Arduino

ส่วนใหญ่แล้ว นี่เป็นเพียงขั้นตอน "ทำตามแผนผัง" เพื่อตรวจสอบแผนผังด้านบนหรือดาวน์โหลดและพิมพ์!

ขั้นตอนที่ 2: การเตรียม Buzzer Part

การเตรียม Buzzer Part
การเตรียม Buzzer Part
การเตรียม Buzzer Part
การเตรียม Buzzer Part
การเตรียม Buzzer Part
การเตรียม Buzzer Part

หากคุณเคยใช้ Buzzer กับ Arduino มาก่อน คุณจะรู้ว่าถ้าเราเชื่อมต่อโดยตรงกับ Arduino มันจะไม่ดังพอ ดังนั้นเราจึงต้องการเครื่องขยายเสียง ในการสร้างแอมพลิฟายเออร์ เราจำเป็นต้องมีทรานซิสเตอร์ NPN (โดยพื้นฐานแล้ว NPN ใดๆ ก็ใช้ได้ ฉันใช้ S9013 เพราะได้มาจากโปรเจ็กต์เก่า) และตัวต้านทานบางตัวเพื่อจำกัดกระแส ในการเริ่มต้น ให้ระบุตัวสะสม ตัวส่ง และฐานของทรานซิสเตอร์ก่อน googling เล็กน้อยในแผ่นข้อมูลจะใช้ได้สำหรับสิ่งนี้ จากนั้นประสานตัวสะสมของทรานซิสเตอร์เข้ากับขั้วลบของออด ที่ขั้วบวกของออด เราแค่บัดกรีลวดหนึ่งเส้นเข้ากับมัน เพื่อที่เราจะสามารถบัดกรีมันกับ Arduino ได้ในภายหลัง หลังจากนี้ ประสานตัวต้านทาน 500R (หรือค่าตัวต้านทานที่คล้ายกัน) กับฐานของทรานซิสเตอร์และจากตัวต้านทาน บัดกรีลวดอีกชิ้นหนึ่งเพื่อใช้ในอนาคต ในที่สุด ประสานตัวต้านทาน 10R สองตัวในอนุกรมกับอีซีแอลของทรานซิสเตอร์ และเชื่อมต่อสายอื่นจากตัวต้านทาน

จริงๆ อ้างถึงแผนผัง

p/s: ฉันยังไม่ทราบวิธีเลือกตัวต้านทานสำหรับทรานซิสเตอร์ในขณะที่เขียนสิ่งนี้ ค่าที่ฉันใช้ถูกเลือกโดยสังเกตุ

ขั้นตอนที่ 3: การเตรียมแผงไฟ LED

การเตรียมแผงไฟ LED
การเตรียมแผงไฟ LED
การเตรียมแผงไฟ LED
การเตรียมแผงไฟ LED
การเตรียมแผงไฟ LED
การเตรียมแผงไฟ LED

เสียบไฟ LED และตัวต้านทานเข้ากับบอร์ดสร้างต้นแบบแล้วประสาน แค่นั้นแหละ. ทำตามแผนผัง ในกรณีที่คุณสนใจระยะห่างที่ฉันใช้ แยก 3 รูสำหรับแต่ละคอลัมน์ และแยกสองรูสำหรับแต่ละแถว (ดูภาพ) และไฟแสดงสถานะ LED? ฉันเสียบมันแบบสุ่ม

หลังจากบัดกรี LED และตัวต้านทานเข้ากับบอร์ดแล้ว ให้เชื่อมต่อขั้วบวกทั้งหมดของ LED เข้าด้วยกัน จากนั้นบัดกรีสายไฟทีละตัวกับตัวต้านทานแต่ละตัวที่ขั้วลบของ LED เพื่อให้เราสามารถประสานพวกมันกับ Arduino ได้ในภายหลัง

หมายเหตุ: คุณอาจสับสนในขั้นตอนนี้ จำไว้ว่าแทนที่จะเชื่อมต่อกราวด์ทั้งหมดเข้าด้วยกัน เราเชื่อมต่อขั้วบวกทั้งหมดเข้าด้วยกันและขั้วลบกับพินแต่ละตัวบน Arduino ดังนั้นเราจึงใช้พิน Arduino GPIO เป็นกราวด์ไม่ใช่ Vcc ในกรณีที่คุณเสียบย้อนกลับโดยไม่ได้ตั้งใจ ไม่ต้องกังวล คุณสามารถแก้ไขค่า HIGH เป็น LOW และ LOW เป็น HIGH ได้ในฟังก์ชัน ledcontrol

ขั้นตอนที่ 4: การเตรียมสวิตช์ (ปุ่มกดจริง)

การเตรียมสวิตช์ (ปุ่มกดจริง)
การเตรียมสวิตช์ (ปุ่มกดจริง)
การเตรียมสวิตช์ (ปุ่มกดจริง)
การเตรียมสวิตช์ (ปุ่มกดจริง)
การเตรียมสวิตช์ (ปุ่มกดจริง)
การเตรียมสวิตช์ (ปุ่มกดจริง)

สำหรับสวิตช์ (ฉันจะเรียกมันว่าสวิตช์เพราะฉันใช้ไมโครสวิตช์ แต่คุณรู้ว่ามันเป็นปุ่มกด) เราจำเป็นต้องมีตัวต้านทานแบบดึงลง 4k7 และแน่นอนว่าสวิตช์นั้นเอง อ้อ อย่าลืมเตรียมสายไฟด้วยล่ะ เริ่มต้นด้วยการบัดกรีตัวต้านทานและชิ้นส่วนของลวดเข้ากับกราวด์ทั่วไป (COM) ของไมโครสวิตช์ จากนั้นบัดกรีลวดอีกชิ้นหนึ่งเข้ากับไมโครสวิตช์ที่เปิดตามปกติ (NO) สุดท้าย ต่อลวดอีกเส้นเข้ากับตัวต้านทาน ยึดด้วยกาวร้อน

มุมความรู้: ทำไมเราต้องมีตัวต้านทานแบบดึงลง?

"หากคุณถอดพิน I/O ดิจิทัลออกจากทุกอย่าง ไฟ LED อาจกะพริบผิดปกติ เนื่องจากอินพุต "ลอย" นั่นคือจะส่งกลับค่า HIGH หรือ LOW แบบสุ่ม นั่นเป็นสาเหตุที่คุณต้องการดึงขึ้นหรือ ตัวต้านทานแบบดึงลงในวงจร" -- ที่มา: เว็บไซต์ Arduino

ขั้นตอนที่ 5: เตรียม LED Strip

กำลังเตรียมแถบ LED
กำลังเตรียมแถบ LED
กำลังเตรียมแถบ LED
กำลังเตรียมแถบ LED

แถบ LED ใช้สำหรับโคมไฟข้างเตียง ซึ่งเป็นอุปกรณ์เสริม เพียงเชื่อมต่อแถบ LED และสวิตช์สไลด์เข้าด้วยกันเป็นชุด ไม่มีอะไรพิเศษ

ขั้นตอนที่ 6: การเตรียมเซ็นเซอร์ความจุ

การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ
การเตรียมเซนเซอร์ความจุ

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

ขั้นตอนที่ 7: การเตรียมพาวเวอร์ซัพพลาย

การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย

เนื่องจากฉันใช้แบตเตอรี่ Li-on เป็นแหล่งจ่ายไฟ ฉันจึงต้องการโมดูล TP4056 สำหรับการชาร์จและการป้องกัน และตัวแปลงบูสต์เพื่อแปลงแรงดันไฟฟ้าเป็น 9v หากคุณตัดสินใจใช้อะแดปเตอร์ติดผนัง 9V คุณอาจต้องใช้แจ็ค DC หรือเพียงแค่เชื่อมต่อโดยตรง โปรดทราบว่าค่าตัวต้านทานสำหรับแอมพลิฟายเออร์นั้นออกแบบมาสำหรับ 9V และหากคุณต้องการใช้แรงดันไฟฟ้าอื่น คุณอาจต้องเปลี่ยนตัวต้านทาน

ขั้นตอนที่ 8: เชื่อมต่อเข้ากับ Arduino

การเชื่อมต่อเข้ากับ Arduino
การเชื่อมต่อเข้ากับ Arduino
การเชื่อมต่อเข้ากับ Arduino
การเชื่อมต่อเข้ากับ Arduino
การเชื่อมต่อเข้ากับ Arduino
การเชื่อมต่อเข้ากับ Arduino

ทำตามแผน! ทำตามแผน! ทำตามแผน!

อย่าเสียบหมุดผิด มิฉะนั้นจะมีสิ่งแปลกปลอม

ขั้นตอนที่ 9: สิ่งที่แนบมา

สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย
สิ่งที่ส่งมาด้วย

ขนาดการออกแบบของฉันคือ 6.5 ซม.* 6.5 ซม.*8 ซม. จึงค่อนข้างเทอะทะ ประกอบด้วยหน้าต่างด้านหน้าสำหรับจอแสดงผล LED และหน้าต่างด้านบนสำหรับโคมไฟข้างเตียง สำหรับการออกแบบของฉัน โปรดดูรูปภาพ

ขั้นตอนที่ 10: เวลาการเขียนโปรแกรม

Image
Image
เวลาเขียนโปรแกรม!
เวลาเขียนโปรแกรม!

ดาวน์โหลดสเก็ตช์ของฉันด้านล่างและอัปโหลดไปยัง Arduino ของคุณ หากคุณไม่ทราบวิธีการทำสิ่งนี้ อย่ากังวลที่จะทำโปรเจ็กต์นี้! ไม่ล้อเล่น นี่คือบทช่วยสอนที่ดี: อัปโหลดภาพร่างไปยัง arduino

จากนั้นเปิดมอนิเตอร์แบบอนุกรมและคุณควรเห็นเวลาปัจจุบัน หากต้องการตั้งเวลา ให้ทำดังนี้

ในการตั้งชั่วโมง: h, XX -- โดยที่ xx คือชั่วโมงปัจจุบัน

ในการตั้งนาที: min, XX -- xx คือนาทีปัจจุบัน

วิธีตั้งค่าวินาที: s, XX

การตั้งวันที่: d, XX

ในการตั้งเดือน: จันทร์ XX

เมื่อดำเนินการตามความคิดเห็นข้างต้น ความคิดเห็นดังกล่าวควรคืนค่าที่คุณเพิ่งตั้งไว้ (ตัวอย่างเช่น เมื่อคุณตั้งค่าชั่วโมงด้วย h, 15 ควรคืนค่า Hour: 15 ในมอนิเตอร์แบบอนุกรม

สำหรับเซนเซอร์ความจุ คุณอาจต้องปรับเทียบก่อนจึงจะทำงานได้ ในการดำเนินการนี้ ให้กดไมโครสวิตช์สองครั้ง แล้วดูที่จอภาพแบบอนุกรม มันควรจะออกพวงของตัวเลข ตอนนี้วางนิ้วของคุณบนเซ็นเซอร์ความจุ และดู จดช่วงของตัวเลข ถัดไป แก้ไขตัวแปร "captrigger" สมมุติว่าคุณได้ 20-30 เมื่อกด แล้วตั้งค่า captrigger เป็น 20

ร่างนี้ใช้ไลบรารี ADCTouch ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไว้

ขั้นตอนที่ 11: กลไกการแก้ไข

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

corrdur ตอนนี้มีค่าเริ่มต้นเป็น 0 ในการอัปเดตล่าสุด

ค่าของ corrdur หมายความว่าต้องใช้เวลากี่มิลลิวินาทีในการทำให้ช้าลงหนึ่งวินาที

หากต้องการทราบค่าของ corrdur ให้ใช้สูตร:

2000/(y-x)/x)

โดยที่ x=ระยะเวลาจริงของเวลาที่ผ่านไป และ y=ระยะเวลาที่ผ่านไปของนาฬิกา ทั้งเป็นวินาที

ในการหาค่าของ x และ y คุณต้องทำการทดลองเล็กน้อย

ตั้งเวลาของนาฬิกาเป็นเวลาจริงและบันทึกเวลาเริ่มต้น (เวลาเริ่มต้นจริงและเวลาเริ่มต้นของนาฬิกาควรเหมือนกัน) หลังจากนั้นสักครู่ (สองสามชั่วโมง) บันทึกเวลาจริงสุดท้ายและนาฬิกาครั้งสุดท้าย

x=เวลาเริ่มต้นจริงสุดท้าย-เวลาเริ่มต้น และ y=เวลาเริ่มต้นครั้งสุดท้าย-นาฬิกาครั้งสุดท้าย

จากนั้นเปลี่ยนค่าของ corrdur ในโค้ดและอัปโหลดไปยัง Arduino อีกครั้ง

จากนั้นทำการทดสอบซ้ำและคราวนี้สูตรเปลี่ยนเป็น:

2000/((2/z)+(y-x/x))

โดยที่ x และ y เหมือนกับเมื่อก่อน ในขณะที่ z คือค่า corrdur ปัจจุบัน

อัปโหลดอีกครั้งและทำการทดสอบซ้ำแล้วซ้ำอีกจนกว่าจะแม่นยำเพียงพอสำหรับคุณ

ในกรณีที่นาฬิกาของคุณยังคงเร่งความเร็วแม้ว่า corrdur จะถูกตั้งค่าเป็น 0 (หมายถึงไม่มีกลไกแก้ไข) คุณต้องเปลี่ยนวินาที ++ เป็นวินาที - ในส่วนกลไกการแก้ไขของรหัส (ฉันแสดงความคิดเห็นไว้) ตั้งค่า corrdur เป็น 0 แล้วหาเลขที่ มิลลิวินาที ใช้เวลาในการเร่งหนึ่งวินาที

ขั้นตอนที่ 12: วิธีใช้ฟังก์ชันทั้งหมด

Image
Image

คุณสามารถเปลี่ยนโหมดได้โดยกดไมโครสวิตช์

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

ในโหมดที่สองจะแสดงวันที่ กดเซ็นเซอร์ความจุไม่ทำอะไรเลย

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

ในโหมดที่สี่ คุณสามารถตั้งเวลาปลุกโดยใช้เซ็นเซอร์ความจุ

ในโหมดที่ห้า คุณสามารถตั้งเวลาปลุกโดยใช้เซ็นเซอร์ความจุ

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

โหมดที่เจ็ดคือโหมดไม่ทำอะไรเลยในกรณีที่เซ็นเซอร์ความจุผิดพลาดเมื่อชาร์จ

อ้อ ถ้าต้องการปิดนาฬิกาปลุก ก็กดไมโครสวิตช์ (อัปเดตล่าสุดเพื่อรวม ALARM SNOOZE)

แล้วการอ่านนาฬิกาล่ะ? มันเป็นเรื่องง่าย! การอ่านนาฬิกาไบนารี -- Wikihow คุณอาจรู้สึกแปลก ๆ ในตอนแรก แต่คุณจะชินกับมัน!

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

บทสรุป
บทสรุป
บทสรุป
บทสรุป

เหตุผลที่ฉันเริ่มโครงการนี้ ตอนแรกมันเป็นเพราะฉันมีนาฬิกาดิจิตอลเก่าวางอยู่รอบๆ และฉันต้องการเปลี่ยนมันเป็นนาฬิกาปลุก เสียดายนาฬิกาเรือนเก่าพัง ฉันก็เลยคิดว่าทำไมไม่สร้างมันขึ้นมาโดยใช้ Arduino? ด้วยการค้นหาโดย Google เล็กน้อย ฉันพบโปรเจ็กต์นาฬิกาไบนารีนี้ที่ไม่มี RTC ในคำสั่ง Cello62 อย่างไรก็ตาม มันไม่มีฟีเจอร์นาฬิกาปลุกที่ฉันต้องการ ดังนั้นฉันจึงนำโค้ดมาแก้ไขด้วยตัวเอง และโครงการนี้ถือกำเนิดขึ้น นอกจากนี้ เมื่อเร็ว ๆ นี้ ฉันเห็นการแข่งขันนาฬิกาทำงานแบบสอนได้ซึ่งทำให้ฉันมีแรงจูงใจในการทำเช่นนี้มากขึ้น อย่างไรก็ตาม นี่เป็นโครงการแรกของฉันที่ใช้ Arduino ดังนั้นจึงมีการปรับปรุงที่เป็นไปได้มากมาย

การปรับปรุงในอนาคต:

1) ใช้RTC

2) ตั้งปลุกหรือเวลาหรือตัวจับเวลาแบบไร้สาย!

3) คุณสมบัติใดก็ตามที่ฉันนึกถึง

ขั้นตอนที่ 14: อัปเดต: หลังจากใช้งานหนึ่งสัปดาห์

อัปเดต: หลังจากใช้งานไปหนึ่งสัปดาห์
อัปเดต: หลังจากใช้งานไปหนึ่งสัปดาห์
อัปเดต: หลังจากใช้งานไปหนึ่งสัปดาห์
อัปเดต: หลังจากใช้งานไปหนึ่งสัปดาห์
อัปเดต: หลังจากใช้งานไปหนึ่งสัปดาห์
อัปเดต: หลังจากใช้งานไปหนึ่งสัปดาห์

นอกเหนือจากปัญหาที่เห็นได้ชัด - เวลาล่องลอย ต่อไปที่ฉันจะพูดคือการใช้พลังงาน ก่อนอื่นฉันเพิ่มแรงดันไฟฟ้าเป็น 9v ซึ่งจะถูกลดระดับลงโดยตัวควบคุมเชิงเส้นใน Arduino ตัวควบคุมเชิงเส้นไม่มีประสิทธิภาพมาก นาฬิกามีอายุเพียงวันเดียวเท่านั้น นั่นหมายความว่าฉันต้องชาร์จมันทุกวัน นั่นไม่ใช่ข้อตกลงที่ใหญ่ที่สุด จนกว่าคุณจะรู้ว่าระบบทั้งหมดมีประสิทธิภาพเพียง 50% เท่านั้น เนื่องจากแบตเตอรี่ของฉันมีความจุ 2000mAh ฉันจึงสามารถคำนวณพลังงานที่เสียไปได้ทุกวัน

พลังงานที่เสียไป=(7.4Wh*10%)+(7.4Wh*90%*50%)=4.07Whต่อวัน

นั่นคือ 1.486kWh ต่อปี! ที่ใช้ต้มได้ เอ่อ 283g ของน้ำ (จาก 25 C ถึง 100 C)? แต่อย่างไรก็ตาม ฉันจะปรับปรุงประสิทธิภาพของนาฬิกา วิธีการทำเช่นนี้คืออย่าใช้ตัวควบคุมเชิงเส้นเลย นั่นหมายความว่าเราต้องปรับบูสต์คอนเวอร์เตอร์เพื่อเอาท์พุต 5V โดยตรงไปยังพิน 5V บน Arduino ต่อไป เพื่อลดการใช้พลังงานให้เหลือน้อยที่สุด ฉันต้องถอด LED สองตัวบนบอร์ดออก (พิน 13 และกำลังไฟ) เนื่องจากจะเสีย 0.95Wh ต่อวัน น่าเสียดายที่ฉันเป็นมือใหม่ในการบัดกรี SMD ดังนั้นวิธีเดียวที่ฉันจะทำสิ่งนี้ได้คือการตัดรางบนกระดาน หลังจากนี้ฉันต้องถอดตัวต้านทานอีซีแอลที่ออดและโคมไฟข้างเตียงออก (แถบ LED ไม่ทำงานที่ 5V) แต่นั่นหมายความว่าคุณต้องละทิ้งคุณสมบัติที่น่าทึ่งนั้นหรือไม่? เลขที่! คุณมีสองทางเลือกที่นี่: ใช้ไดโอด LED 5 มม. ปกติ หรือใช้แถบ LED 5V แต่สำหรับฉัน ฉันรู้สึกเหนื่อยกับการทำโปรเจ็กต์นี้ตลอดทั้งสัปดาห์ที่แล้ว ดังนั้นฉันจึงตัดสินใจยกเลิกฟีเจอร์นี้ อย่างไรก็ตาม เดิมทีฉันใช้สวิตช์สำหรับคุณสมบัติแสงเพื่อเปิดหรือปิดแผงนาฬิกาเพื่อประหยัดพลังงานเพิ่มเติม แต่ไฟ LED จะกะพริบเมื่อฉันปิด ข้อผิดพลาดกลายเป็นคุณสมบัติ? ไม่รู้ครับ (ใครรู้ช่วยบอกผมที)

เมื่อแก้ไขเสร็จแล้ว นาฬิกาก็อยู่ได้นานกว่า 2 วัน!

ต่อไปฉันมีปัญหาน้อยกว่ากับนาฬิกา ในระหว่างการชาร์จ เซ็นเซอร์ความจุจะบ้า ดังนั้นฉันจึงเพิ่มโหมดอื่นที่ไม่ทำอะไรเลย

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

แนะนำ: