ผลต่างระหว่างรุ่นของ "แผงวงจรพ่วง (Peripheral Board)"
แถว 3: | แถว 3: | ||
[[Image:peri-schem.png|center|500px]] | [[Image:peri-schem.png|center|500px]] | ||
− | + | It's good to get a fresh way of looinkg at it. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== วงจรวัดแสง == | == วงจรวัดแสง == |
รุ่นแก้ไขเมื่อ 00:40, 15 กุมภาพันธ์ 2555
เราประกอบแผงวงจรนี้เพื่อใช้เป็นวงจรทดสอบและเรียนรู้การใช้งานไมโครคอนโทรลเลอร์ โดยต่อผ่านสายแพเข้ากับ JP2 (พอร์ท C) ของแผงวงจรหลัก วงจรพ่วงประกอบไปด้วยวงจรย่อยสามวงจร ได้แก่ (1) วงจรแสดงผล LED สามสี (2) วงจรสวิตช์อินพุท และ (3) วงจรวัดแสง
It's good to get a fresh way of looinkg at it.
วงจรวัดแสง
วงจรส่วนนี้อาศัยอุปกรณ์ที่เรียกว่า Light Dependent Resister (LDR) หรือเรียกอีกอย่างว่า photoresistor ซึ่งเป็นตัวต้านทานที่มีค่าผันแปรตามแสง โดยทั่วไปแล้ว LDR มักจะให้ค่าความต้านทานต่ำ (เข้าใกล้ค่าศูนย์) เมื่อแสงมาก และให้ค่าความต้านทานสูง (เข้าใกล้ค่าอนันต์) เมื่อแสงน้อย
เนื่องจากไมโครคอนโทรลเลอร์ไม่สามารถอ่านค่าความต้านทานได้โดยตรง แต่สามารถวัดค่าแรงดันที่เปลี่ยนแปลงที่ขาอินพุทได้ ดังนั้นเราจึงต้องนำเอาอุปกรณ์ LDR มาต่อเป็นวงจรที่ให้ค่าแรงดันผันแปรไปตามแสง จากรูป (3) ด้านบนเรานำเอา LDR มาต่ออนุกรมกับ R4 และจ่ายไฟเลี้ยงคร่อมอุปกรณ์ทั้งคู่ สมมติว่า LDR1 ให้ค่าความต้านทานเป็น เราสามารถคำนวณหาความต่างศักย์ที่สัญญาณ PC4 จากกฎการแบ่งแรงดันได้ดังนี้
จากสูตรข้างต้น เมื่อแสงสว่างมาก จะมีค่าเข้าใกล้ศูนย์ ทำให้ มีค่าเข้าใกล้ (5 โวลท์) ในทางตรงกันข้าม หากแสงสว่างน้อย จะมีค่าเข้าใกล้อนันต์ ทำให้ มีค่าเข้าใกล้ศูนย์ เราสามารถเขียนโปรแกรมควบคุมไมโครคอนโทรลเลอร์ AVR ให้ตีความค่าแรงดันเหล่านี้ได้ด้วยความละเอียดสูงถึง 10 บิต (1024 ระดับ) ซึ่งศึกษาจากบทความการวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์เพิ่มเติม
โปรแกรมทดสอบแผงวงจรพ่วง
เพื่อตรวจสอบว่าแผงวงจรพ่วงที่ทำขึ้นมาใช้งานได้ถูกต้อง โหลดโปรแกรม testperi.hex (ซอร์สโค้ด) และใช้คำสั่ง avrdude เพื่อเขียนแฟลชบนบอร์ด หากวงจรไม่มีความผิดพลาด โปรแกรมควรมีพฤติกรรมดังนี้
- LED 3 ดวงบนบอร์ดพ่วงทำหน้าที่เป็นตัววัดแสง โดยจะติดทีละดวงเท่านั้น สีแดงจะติดเมื่อแสงมืด และสีเขียวจะติดเมื่อไฟสว่าง ส่วนสีเหลืองจะติดเมื่อแสงปานกลาง
- เมื่อกดและปล่อยสวิตช์บนบอร์ดพ่วง (ไม่ใช่สวิตช์รีเซ็ตบนบอร์ดหลัก) LED สีเขียวบนบอร์ดหลักจะติดและดับสลับกันไป