ออกแบบการทำงานและพัฒนา Controller
โดยการรับ Input แบบ Switch จำนวน 3 ตัว
และทำให้เกิดความแตกต่างในการทำงานของ LED จำนวน 8 ดวง
ในลักษณะที่แตกต่างกันอย่างน้อย 3 รูปแบบ
หลักการทำงาน
แบ่งออกเป็น 3 ส่วน ได้แก่
1. ส่วนรับค่ารูปแบบ
ในการรับค่ารูปแบบจะใช้ Input แบบ BusIn ( อ่าน Busln เพิ่มเติม )
โดยจะใช้ Switch ทั้งหมด 3 ตัว ในการรับค่ารูปแบบ
2. ส่วนตรวจสอบรูปแบบ
เมื่อรับค่ารูปแบบมาแล้ว ก็จะนำค่ามาตรวจสอบว่าตรงกับเงื่อนไขใด
และให้แสดงผลตามเงื่อนไขนั้น ดังนี้
เงื่อนไขที่ 1 : 001
D2 = 0, D1 =
0, D0 = 1 >> แสดงผลรูปแบบที่ 1
เงื่อนไขที่ 2 : 010
D2 = 0, D1 = 1, D0 = 0 >> แสดงผลรูปแบบที่ 2
เงื่อนไขที่ 3 : 100
D2 = 1, D1 = 0, D0 = 0 >> แสดงผลรูปแบบที่ 3
อื่นๆ
>> แสดงผลรูปแบบที่ 4
3. ส่วนแสดงผล
การแสดงผลจะแสดงผลด้วย LED 8 ดวง
โดยมีรูปแบบการแสดงผลที่แตกต่างกัน 4 รูปแบบ ดังนี้
รูปแบบที่ 1
รูปแบบที่ 2
รูปแบบที่ 3
รูปแบบที่ 4
LED ดับหมด
VDO แสดงการทำงาน
เมื่อเลื่อน Switch D0 ขึ้นตัวเดียว
ค่า Input เป็น 001 ตรงกับเงื่อนไขที่
1
LED จึงแสดงผลในรูปแบบที่ 1
เมื่อเลื่อน Switch D1 ขึ้นตัวเดียว
ค่า Input เป็น 010 ตรงกับเงื่อนไขที่
2
LED จึงแสดงผลในรูปแบบที่ 2
เมื่อเลื่อน Switch D2 ขึ้นตัวเดียว
ค่า Input เป็น 100 ตรงกับเงื่อนไขที่
3
LED จึงแสดงผลในรูปแบบที่ 3
อ่านค่า Input Analog จาก VR ตั้งแต่ 0.0 – 3.3 V เข้าที่ Pin ที่ไม่ใช่ A0
อ่านค่า Input Analog จาก VR ตั้งแต่ 0.0 – 3.3 V เข้าที่ Pin ที่ไม่ใช่ A0
แสดงระดับแรงดันด้วย LED
8 ดวง ในลักษณะเหมือน VU
Meter
หลักการทำงาน
แบ่งออกเป็น 3 ส่วน ได้แก่
1. ส่วนรับค่าแรงดัน
Nucleo รับค่าแรงดันแบบ Input
Analog ตั้งแต่ 0.0 - 3.3 V
จาก VR ด้วย Pin
A1
2. ส่วนอ่านค่าและคำนวณหาช่วงระดับแรงดัน
Nucleo อ่านค่าที่รับเข้ามาจาก A1 โดยค่าที่อ่านได้จะอยู่ในช่วง 0.0 - 1.0 แทน
เช่น มีแรงดันเข้ามา 1.65 V ค่าที่อ่านได้จะเป็น 0.5 เป็นต้น
จากนั้นนำค่าที่อ่านได้ไปคำนวณหาว่าค่านั้นอยู่ในช่วงระดับแรงดันใดตั้งแต่ 0 – 8
โดยคำนวณจากสมการ “ ระดับแรงดัน(จำนวนเต็ม) = ค่าที่อ่านได้ x 9 ”
เช่น 0.5 x 9 =
4.5 ไม่เอาทศนิยม ดังนั้น
ระดับแรงดันคือ 4 เป็นต้น
3. ส่วนแสดงผล
การแสดงผลระดับแรงดันจะแสดงผลแบบ VU
Meter ด้วย LED 8 ดวง
โดยระดับ 0 คือ ไม่มี LED ติดเลย ระดับ 1 คือ LED ดวงแรกติด
จนไปถึงระดับ 8 คือ LED ทุกดวงติด
ซึ่ง Output จะใช้เป็นแบบ BusOut
(อ่าน BusOut เพิ่มเติม)
ดังนั้นจึงต้องนำค่าระดับแรงดัน (0 - 8) ไปแปลงต่อ
เพื่อให้ได้ค่าที่จะนำมาใช้แสดงผล LED ดังนี้
ระดับ 1 : 00000001 >> 1
= 21- 1
ระดับ 2 : 00000011 >> 3
= 22- 1
ระดับ 3 : 00000111 >> 7
= 23- 1
ระดับ 4 : 00001111 >> 15
= 24- 1
ระดับ 5 : 00011111 >> 31
= 25- 1
ระดับ 6 : 00111111 >> 63
= 26- 1
ระดับ 7 : 01111111 >> 127 =
27- 1
ระดับ 8 : 11111111 >> 255 = 28- 1
ระดับ 8 : 11111111 >> 255 = 28- 1
จึงได้สมการหาค่าที่ใช้แสดงผล คือ
“ ค่าแสดงผล = (2
^ ระดับแรงดัน) -1 ”
อ่านค่า Input Analog จาก VR ตั้งแต่ 0.0 – 3.3 V เข้าที่ Pin ที่ไม่ใช่ A0
VDO แสดงการทำงาน
เมื่อหมุน VR ทิศตามเข็มนาฬิกา
จะทำให้แรงดันเพิ่มขึ้น ส่งผลให้ระดับแรงดันเพิ่มขึ้นด้วย
LED จึงติดเพิ่มขึ้นเรื่อยๆตามระดับแรง
เมื่อหมุน VR ทิศทวนเข็มนาฬิกา
จะทำให้แรงดันลดลง ส่งผลให้ระดับแรงดันลดลงด้วย
LED จึงดับลงเรื่อยๆตามระดับแรง
อ่านค่า Input Analog จาก VR ตั้งแต่ 0.0 – 3.3 V เข้าที่ Pin ที่ไม่ใช่ A0
แสดงค่าแรงดันเป็นตัวเลขออกที่ 7-Segment
โดยมีความละเอียดเป็นตัวเลขทศนิยม
1 ตำแหน่ง
หลักการทำงาน
แบ่งออกเป็น 3 ส่วน ได้แก่
1. ส่วนรับค่าแรงดัน
Nucleo รับค่าแรงดันแบบ Input Analog ตั้งแต่ 0.0
- 3.3 V
จาก VR ด้วย Pin A1
2. ส่วนอ่านค่าและคำนวณหาช่วงระดับแรงดัน
Nucleo อ่านค่าที่รับเข้ามาจาก A1 โดยค่าที่อ่านได้จะอยู่ในช่วง 0.0 - 1.0 แทน
เช่น มีแรงดันเข้ามา 3.3 V ค่าที่อ่านได้จะเป็น 1.0 เป็นต้น
จากนั้นนำค่าที่อ่านได้ไปคูณด้วย 3.3 เพื่อให้ได้ตัวเลขที่ตรงกับค่าแรงดันที่รับเข้ามา
3. ส่วนแสดงผล
การแสดงผลค่าแรงดันจะแสดงเป็นตัวเลขด้วย 7-Segment
โดยจะแสดงตัวเลขตามค่าแรงดันที่รับเข้ามา และมีค่าความละเอียดคือทศนิยม 1 ตำแหน่ง
ซึ่ง Output จะใช้เป็นแบบ BusOut ( อ่าน BusOut เพิ่มเติม )
และจะแบ่ง Pin ออกเป็น 2 ชุด คือ
1. ชุด Pin หลักหน่วย แสดงเลข 0 - 3
2. ชุด Pin หลักทศนิยม แสดงเลข 0-9
ดังนั้นจึงต้องนำค่าแรงดัน (0.0 - 3.3)
มาแยกออกเป็น 2 ส่วน เช่น
2.5 นำมาแยกได้ 2 กับ 5
ให้ 2 แสดงผลด้วยชุด Pin หลักหน่วย
และแล้วให้ 5 แสดงผลด้วยชุด Pin หลักทศนิยม
VDO แสดงการทำงาน
เมื่อหมุน VR ทิศตามเข็มนาฬิกา
จะทำให้แรงดันเพิ่มขึ้น ตัวเลขที่ 7‐Segment
ก็จะเพิ่มขึ้นตามค่าแรงดันที่เพิ่มขึ้น โดยค่าสูงสุดคือ 3.3
เมื่อหมุน VR ทิศทวนเข็มนาฬิกา
จะทำให้แรงดันลดลง ตัวเลขที่ 7‐Segment
ก็จะลดลงตามค่าแรงดันที่ลดลง โดยค่าต่ำสุดคือ 0.0
0 ความคิดเห็น:
Post a Comment