สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เมื่อไม่นานมานี้ไฟท้ายจักรยานของฉันก็หยุดทำงาน เมื่อฉันเปิดมัน มี PCB ขนาดเล็กที่มีอุปกรณ์อิเล็กทรอนิกส์และไฟ LED อยู่ในนั้น ปัญหาคือสวิตช์ปุ่มกดไม่ทำงาน ฉันสามารถเปลี่ยนสวิตช์ได้ แต่มีบางอย่างเกี่ยวกับการออกแบบนี้รบกวนฉัน ประเด็นคือไฟท้ายใช้พลังงานจากแบตเตอรี่และเมื่อเปิดเครื่องแล้ว ไฟจะติดค้างอยู่จนกว่าคุณจะปิดเครื่องหรือเมื่อแบตเตอรี่หมด
เนื่องจากฉันใส่ใจเกี่ยวกับสิ่งแวดล้อม ฉันจึงต้องการโซลูชันที่ไม่ทำให้แบตเตอรี่หมดถ้าฉันลืมปิดไฟท้าย โครงการใหม่จึงถือกำเนิดขึ้น
ไฟท้ายอัจฉริยะนี้มี 3 ฟังก์ชั่นหลัก:
- เปิดหรือปิดไฟ LED เมื่อกดปุ่ม
- เปิดไฟ LED ไว้ในขณะที่จักรยานกำลังเคลื่อนที่ และปิดไฟ LED หลังจากผ่านไป 10 นาที หากจักรยานไม่เคลื่อนที่อีกต่อไป
- ปิดไฟ LED เมื่อแรงดันแบตเตอรี่ลดลงต่ำกว่า 2.1 โวลต์
สำหรับโปรเจ็กต์นี้ ฉันใช้สวิตช์เอียงจากโปรเจ็กต์ Tea Light Clone ซ้ำ ซึ่งฉันยังใช้ซอฟต์แวร์บางตัวสำหรับโปรเจ็กต์นี้ซ้ำ
เช่นเคย ฉันสร้างโปรเจ็กต์นี้โดยใช้ไมโครคอนโทรลเลอร์ตัวโปรดของฉันคือ PIC โดยใช้ภาษาการเขียนโปรแกรม JAL
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
คุณต้องมีองค์ประกอบต่อไปนี้สำหรับโครงการนี้:
- เขียงหั่นขนมชิ้นหนึ่ง
- ไมโครคอนโทรลเลอร์ PIC 12F615
- ซ็อกเก็ตไอซี 8 พิน
- ตัวเก็บประจุ 100 nF
- ตัวต้านทาน: 2 * 10k, 1 * 100 โอห์ม
- ความสว่างสูง LED สีเหลืองอำพันหรือ LED สีแดง
- สวิตช์เปิด/ปิดปุ่มกด
- สวิตช์เอียง
ดูแผนผังเกี่ยวกับวิธีการเชื่อมต่อส่วนประกอบต่างๆ
ขั้นตอนที่ 2: การออกแบบและสร้างอุปกรณ์อิเล็กทรอนิกส์
ช่วงแรงดันใช้งานของ PIC อยู่ระหว่าง 2 โวลต์ถึง 5.5 โวลต์ ทำให้เหมาะที่จะใช้แบตเตอรี่ AAA 2 ก้อนเป็นแหล่งจ่ายไฟ การออกแบบจะต้องใช้พลังงานต่ำ ดังนั้นสวิตช์เอียงจะทำงานเฉพาะเมื่อเปิดอุปกรณ์โดยทำให้พิน 3 ของ PIC ต่ำระหว่างการทำงาน
ในการออกแบบดั้งเดิม กระแสไฟผ่าน LED อยู่ที่ 20 mA ซึ่งค่อนข้างสูงสำหรับ LED ความสว่างสูงและไม่จำเป็น เพื่อเป็นการประหยัดแบตเตอรี่ การออกแบบนี้ใช้กระแสไฟ 10 mA สำหรับ LED
เนื่องจาก PIC จะเข้าสู่โหมดสลีปเมื่อไม่ได้ใช้งาน สวิตช์ปุ่มกดจึงเชื่อมต่อกับ PIN ขัดจังหวะของ PIC เพื่อปลุกเครื่องจากโหมดสลีป ในโหมดสลีป PIC แทบไม่ใช้พลังงานเลย
วงจรถูกสร้างขึ้นบนเขียงหั่นขนมซึ่งพอดีกับที่อยู่อาศัยที่มีอยู่ของไฟท้าย ในภาพ คุณสามารถดูวิธีการติดตั้งบอร์ดและขนาดเข้ากับตัวเรือนได้อย่างไร
ขั้นตอนที่ 3: ซอฟต์แวร์
ดังที่ได้กล่าวไปแล้ว ซอฟต์แวร์นี้เขียนขึ้นสำหรับ PIC12F615 โดยใช้ภาษาการเขียนโปรแกรม JAL ซอฟต์แวร์ทำงานสองสามอย่าง:
- เริ่มต้น PIC และเข้าสู่โหมดสลีปหลังจากเปิดเครื่อง
- ปลุกจากโหมดสลีปเมื่อกดปุ่มและเปิดไฟ LED กลับสู่โหมดสลีปหากกดปุ่มอีกครั้ง การปลุกถูกเปิดใช้งานโดยอินเตอร์รัปต์ภายนอกของ PIC ที่เชื่อมต่อปุ่มกด
- เมื่อเปิดเครื่อง ให้เปิดสวิตช์เอียงและตรวจสอบว่าสวิตช์เอียงทำงานเนื่องจากการเคลื่อนไหวหรือไม่ หากตรวจไม่พบการเคลื่อนไหวเป็นเวลา 10 นาที ไฟ LED จะปิด สวิตช์เอียงจะปิด และ PIC จะถูกนำกลับเข้าสู่โหมดสลีป
- เมื่อเปิดเครื่อง วัดแรงดันไฟฟ้าของแบตเตอรี่ และหากลดลงต่ำกว่า 2.1 โวลต์ ไฟ LED จะดับลง สวิตช์เอียงจะปิด และ PIC จะถูกนำกลับเข้าสู่โหมดสลีป
ในขั้นต้น ซอฟต์แวร์สำหรับการตรวจจับการเคลื่อนไหวได้รับการออกแบบโดยใช้คุณสมบัติ Interrupt On Change (IOC) ของ PIC แต่นั่นก็ใช้ไม่ได้ผล ตอนนี้สวิตช์จะถูกสำรวจทุก ๆ 100 เราเพื่อตรวจสอบว่าได้เปิดใช้งานหรือไม่ การวัดแรงดันไฟฟ้าของแหล่งจ่ายทำได้โดยใช้ตัวแปลงอนาล็อกเป็นดิจิตอลในตัว ซึ่งจะสุ่มตัวอย่างแรงดันไฟฟ้าทุกๆ 20 มิลลิวินาที
มีการแนบไฟล์ต้นฉบับ JAL และไฟล์ Intel Hex สำหรับการเขียนโปรแกรม PIC หากคุณสนใจที่จะใช้ไมโครคอนโทรลเลอร์ PIC กับ JAL ซึ่งเป็นภาษาปาสกาลที่เหมือนกับภาษาการเขียนโปรแกรม ให้ไปที่เว็บไซต์ JAL
ขอให้สนุกกับการสร้างโครงการของคุณเองและตั้งตารอปฏิกิริยาและการใช้งานทางเลือกของคุณ