มาทำสวิทช์ ปิด-เปิดไฟด้วยรีโมทกันเถอะ

มาทำสวิทช์ ปิด-เปิดไฟด้วยรีโมทกันเถอะ

(1/12) > >>

kiano♥:


คุณ...ไปปิดไฟสิ จะนอนแล้ว...
คุณนั่นแหละ ไปปิดที...

ต่อไปไม่ต้องเกี่ยงกันเรื่องปิดไฟแล้วครับ ถ้าทำโครงงานนี้
"สวิทช์ปิด-เปิดไฟด้วยรีโมทคอนโทรล"  เป็นโครงงาน PIC Microcontroller มีคุณสมบัติดังนี้คือ
- ต่อเอาพุตได้ 3 ช่อง กำลังไฟฟ้าโหลด 500 วัตต์ต่อช่อง
- ควบคุมการทำงานด้วยรีโมททีวี วีซีดีทั่วไป โดยมีโปรแกรมจำค่าปุ่มกดที่รีโมท
- มีสวิทช์ควบคุมในตัว ในกรณีไม่ใช้รีโมท
- ติดตั้งง่าย ใช้ใส่เข้าไปแทนที่สวิทช์ธรรมดาได้เลย

การทำงานของวงจร ทุกอย่างจะถูกควบคุมการทำงานด้วยไอซี Microcontroller เบอร์ PIC12F629 หรือเรียกสั้นๆว่า MCU
โดย IR Module จะทำหน้าที่รับสัญญาณรีโมทที่ส่งมาจากตัวรีโมท แล้วส่งไปประมวลผลคำสั่งภายใน MCU
เช่นเดียวกันกับ SW จะรับคำสั่งจากการกดของผู้ใช้งาน แล้วส่งผลการกดสวิทช์ไปประมวลคำสั่งภายใน MCU
ซึ่งจะได้ดูรายละเอียดการประมวลผลคำสั่งในหัวข้ออธิบายการทำงานของโค๊ดโปรแกรม
หลักจากประมวลผลคำสั่งแล้ว MCU จะส่งคำสั่งปิด-เปิดไฟไปที่ MOC3063 เพื่อทริกให้ไตรแอคทำงาน หรือหยุดทำงานแล้วแต่คำสั่งทีรับมาจาก MCU
และไตรแอคจะจ่ายไฟให้กับหลอดไฟต่อไป
PZ คือลำโพงเปียซโซ โดยทุกครั้งที่ MCU สั่งงานไปที่ออปโต้จะมีเสียง บี๊ป เพื่อให้รู้ถึงสถานะการทำงาน


รูปด้านล่างจะเป็นลายแผ่น PCB และการวางอุปกรณ์ลงบนแผ่น ในการวางอุปกรณ์จะใ่ส่ด้านที่เป็นทองแดงเลย ต้องดูขาของอุปกรณ์ให้แน่ในก่อนที่จะบัดกรี
เพราะวงจรเกียวข้องกับไฟ 220v โดยตรง ทำให้เกิดความเสียหายได้ง่ายถ้าใส่ผิด



รูปด้านล่างแสดงไดอะแกรมการต่อสวิทช์รีโมทเข้ากับหลอดไฟ 3 หลอด


รูปแสดงหลังจากติดตั้งสวิทช์รีโมทเสร็จแล้ว














สำหรับฝาปิดของสวิทช์ ใช้ฝาทึบทัวไปมาเจาะรูปสำหรับรับแสงอินฟาเรด แล้วตัดส่วนนูนของหลอด LED 3 มิลลิเมตรมาติดไว้ที่รูดังรูปด้านล่าง


m077531424:
พี่สนใจทำเป็นชุดคิทขายไหมครับผมสนใจมากๆๆครับ

kiano♥:
วันนี้จะมาดูว่า ไอซีอ่านโค๊ดที่ส่งมาจากรีโมทได้อย่างไรนะครับ

ก่อนอื่นเราต้องรู้ก่อนว่า รีโมทนั้น ส่งอะไรออกมา จึงจะเขียนโปรแกรมให้อ่านโค๊ด แล้วเอาโค๊ดนั้นมาใช้งานได้
การดูว่า รีโมทส่งอะไรมานั้น ก็อาจจะต่อสโคป กับตัว IR Module ส่วนผมใช้วิธีต่อ PIC Kit-2 โดยใช้ฟังก์ชั่น Logic Analyzer
ตัวที่ทำเป็นตัวอย่าง เป็นรีโมทวีซีดี ของจีนแดงทั่วไปครับ  แล้วเราได้อะไร มาดูกันครับ ...

ตามรูปแนบด้านล่าง จะเห็นว่า รีโมททุกตัว จะส่งสัญญาณออกมาคล้ายๆกันครับ
Start Code เป็นสัญญาณอย่างแรกที่ส่งออกมาเลย โดยจะมีสองสถานะ คือ เป็น low 8ms แล้วตามด้วย Hight 4.5ms
Device Code สำหรับรีโมทตัวนี้ จะมีทั้งหมด 16 บิต ถ้าจะแปลตามตัวก็คือ เป็นรหัสของรีโมทตัวนั้นๆ คือถ้าเรากดปุ่มไหนของรีโมท มันก็จะส่งสัญญาณแบบนี้ออกมาก่อนครับ

m077531424:
พี่ครับผมPMไม่ได้ไม่ทราบว่าเป็นอะไร
รบกวนพี่PMราคามาละกันครับ
แล้วจะทำให้มีหลายๆๆช่องได้ไหมครับ(มากกว่า3)

ได้ครับ ทำกี่ช่องก็ได้
-ต้องแก้ไขวงจรใหม่
-ต้องแก้ไขโค๊ดใหม่

kiano

kiano♥:
จากรูปด้านบน จะเห็นแล้วนะครับ ว่าสัญญาณที่ส่งมานั้น ระหว่าง Logic 0 กับ Logic 1 นั้น มีอะไรที่ต่างกัน
ครับ อธิบายเพิ่มคือ

0 จะประกอบด้วย คาบเวลาที่เป็น low 500us และคาบเวลาที่เป็น hi 500us
1 จะประกอบด้วย คาบเวลาที่เป็น low 500us และคาบเวลาที่เป็น hi 1800us

จากรูปด้านล่าง เป็นโค๊ดที่ส่งมาจากรีโมท ยกตัวอย่าง 5 ปุ่มครับ
จะเห็นได้ว่า 16 บิตแรก จะเหมือนกันทุกปุ่ม นั่นคือ device id data นั่นเอง
ต่อมา 16 บิตด้านหลัง จะเป็น bottom data ซึ่งแต่ละปุ่มนั้น จะมีโค๊ดที่ส่งออกมาไม่เหมือนกัน
และเราจะใช้ส่วนที่ไม่เหมือนกันนี่เองครับ มาใช้งาน ในโครงงานของเรา

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

รูปประกอบ   http://upload.mwake.com/v3.php?id=AO/FnkE0Liqej.jpg

นำร่อง

[0] ดัชนีข้อความ

[#] หน้าถัดไป