วันพุธที่ 4 ธันวาคม พ.ศ. 2556

เครื่อตั้งเวลา แสดงผลโดย LCD 16x2

เครื่องตั้งเวลาระบบดิจิตอล เพื่อใช้ควบคุมการทำงานของอุปกรณ์ไฟฟ้า 
      โครงงานนี้ อธิบายถึงโปรแกรมตั้งเวลาดิจิตอล โดยใช้ไมโครคอนโทรลเลอร์ PIC16F628A  
สามารถโปรแกรมเวลาการเปิด-ปิดการทำงานของเครื่องใช้ไฟฟ้า โดยควบคุมผ่านรีเลย์
สามารถตั้งค่าได้ทั้งเวลาเปิดและเวลาปิด สามารถกำหนดช่วงเวลาเปิด-ปิด
สูงสุดได้ถึง 99 ชั่วโมงและ 59 นาที โดยใช้ 16 × 2 จอแอลซีดี และ 4 ปุ่มกดในการโต้ตอบกับผู้ใช้ 

ดูเพิ่มเติมได้ที่: http://embedded-lab.com/blog/?p=1378 # sthash.HAJFYmRf.dpuf


























การออกแบบวงจร

     จากวงจรด้านล่าง รีเลย์ 5 V ที่มีทรานซิสเตอร์ PN2222 เป็นไดรเวอร์ และถูกควบคุมโดยขา RB3 ของ PIC16F628A  

     สัญญานอินพุทจากปุ่มกดทั้ง 4 ปุ่ม จะถูกส่งผ่านขาพอร์ต RA2, RA3, RA4 และ RB0 โดยฟังก์ชั่นของปุ่มกดทั้ง 4 ปุ่มแสดงอยู่ที่ด้านล่างซ้ายของภาพ และมีจอแอลซีดีขนาดมาตรฐาน 16 × 2 เป็นตัวแสดงสถานะของอุปกรณ์และการโปรแกรมเวลา จอแอลซีดีทำงานในโหมด 4 บิต ดังนั้นจึงใช้เพียง 6 ขาของ PIC16F628A ในการติดต่อกับจอแอลซีดี 
      ลำโพง piezo จะส่งเสียงเมื่อมีการเริ่มต้นจับเวลาและเมื่อเวลาหยุด นอกจากนี้ยังดังขึ้นเมื่ออุปกรณ์ถูกเปิดหรือปิด แหล่งจ่ายไฟ 5V + มาจากอะแดปเตอร์ 9 โวลต์ ผ่าน IC ควบคุมแรงดัน LM7805















        จากวงจร จะเห็นว่าขา 15 และ 16 ของจอแอลซีดีจะปล่อยลอยไว้ ทั้งสองขานี้ ใช้เฉพาะแอลซีดีรุ่นที่มีไฟ LED ส่องด้านหลัง โดยขาทั้งสองนี้จะเป็นขั้วบวกและขั้วลบของ LED หากจอแอลซีดีของเราที่ได้มามี LED ส่องด้านหลัง ก็สามารถต่อกับแหล่งจ่ายไฟ โดยใช้ตัวต้านทาน 39โอห์มต่ออนุกรม แสงไฟ LED จะช่วยเพิ่มความสามารถในการอ่านของจอแสดงผลแอลซีดีในสภาพที่มีแสงน้อย

แสดงการต่อวงจร โดยใช้แผ่นวงจรอเนกประสงค์ทั่วไป




























 การทำงานของเครื่องตั้งเวลาเครื่องตั้งเวลานี้ทำงานโดยการสั่งงานปุ่มกดทั้ง 4 ปุ่ม โดยมีฟังก์ชั่นการทำงานอธิบายได้ ดังนี้

    
ON / OFF TIME : เครื่องตั้งเวลานี้ สามารถตั้งค่าได้ทั้งเวลาเปิดและเวลาปิด เมื่อเปิดเครื่องครั้งแรก เครื่องอยู่ในสภาวะ OFF และเวลาเปิด-ปิดอยู่่ที่ 0 เราสามารถกดปุ่มนี้สลับไปมาเพื่อเลือกระหว่างการตั้งเวลาเปิดหรือตั้งเวลาปิดโดยดูจากจอแสดงผล
    
SELECT : เป็นปุ่มที่ใช้เลือกหลักตัวเลขของเวลาชั่วโมง และ นาที เมื่อเลือกหลักตัวเลขชั่วโมงหรือนาทีแล้ว เราสามารถเพิ่มตัวเลขโดยการกดปุ่ม ON / OFF TIME
    
ENTER : เมื่อตั้งเวลาชั่วโมงและนาที เสร็จแล้ว ก็กดปุ่ม ENTER  เพื่อจบการเวลา
    
START / STOP : ใช้ในการเริ่มต้น หรือ หยุดการจับเวลา ในขณะที่ตั้งเวลาอยู่ เราสามารถหยุดการตั้งเวลาได้ตลอดเวลา โดยการกดปุ่มนี้ 

     วิธีการทำงานของเครื่อง สมมติว่า อุปกรณ์ที่เชื่อมต่อกับสวิตช์ รีเลย์ ถูกตั้งเวลาให้เปิดหลังจาก 2 นาที (OFF  00:02) และหลังจากนั้นจะเปิดใช้งานต่อไปอีก 20 นาที (ON  00:20) จึงปิดการใช้งาน ในกรณีนี้ การตั้งเวลาเปิดเครื่องคือ OFF 00:02 และเวลาในการปิดเครื่องคือ ON 00:20 ในรูปแบบ hh:mm  
      เมื่อเริ่มกดปุ่ม START อุปกรณ์ที่ต่ออยู่จะปิดอยู่ และเปิดทำงานหลังจากครบ 2 นาทีและ ยังคงเปิดทำงานต่ออีกจนครบเวลา 20 นาที หลังจากนั้นอุปกรณ์จะถูกปิดอีกครั้ง 
     วิดีโอต่อไปนี้ แสดงให้เห็นการทำงานเครื่อง



 โปรแกรม
เป็นโปรแกรมที่พัฒนามาจาก Mikro C Pro สำหรับ PIC
- Download the Source Code
- Download the HEX File 





























แผ่นวงจรพิมพ์ (PCB) ครับ
https://drive.google.com/file/d/0BwqGkpfHRpJzLTVmaXVGY2ljZVE/view?usp=sharing
Download the Source Code
Download the Source Code