24. Wio Terminal EP.11, อนาล็อกมิเตอร์ วัดความสว่างของแสง
Wio Terminal EP.11, อนาล็อกมิเตอร์ วัดความสว่างของแสง
วิธีการเขียนโค้ด เพื่อวัดค่าความสว่างของแสง ครั้งนี้ นำเสนอ อนาล็อกมิเตอร์ วัดความสว่างของแสง โดยใช้ Arduino ในการเขียนโค้ดคำสั่ง สร้างเป็นเครื่องวัดความสว่างของแสง แบบอนาล็อก คือ มีเข็มชี้บนหน้าปัด และมีสเกล 0 - 100 โดยแบ่งเป็น 5 ช่วง ช่วงละ 20%
คำอธิบาย
การเขียนโค้ดครั้งนี้ มีการแยกเขียนเป็นส่วน ๆ เพื่อให้ง่ายต่อการศึกษาและแก้ไข โดยแบ่งเป็นฟังก์ชั่นต่าง ๆ ดังนี้
1. ฟังก์ชั่น drawArc(int x, int y, int start_angle, int end_angle, int rx, int ry, int w, unsigned int color1)
สำหรับสร้างส่วนโค้งที่ตำแหน่งใด ๆ
2. ฟังก์ชั่น drawBar(int bx, int by) สำหรับสร้างส่วนโค้งที่เป็นแถบสีบนหน้าปัดมิเตอร์ โดยเรียกใช้ ฟังก์ชั่น drawArc
3. ฟังก์ชั่น drawScale(int d1, int d2) สำหรับสร้างเส้นแบ่งสเกล และ ตัวเลขบนแถบสีของหน้าปัดมิเตอร์
4. ฟังก์ชั่น drawNeedle(int rx, int ry, int v) สำหรับสร้างเข็มของมิเตอร์ เพื่อให้ชี้ไปยังค่าที่ได้มาจากเซ็นเซอร์
5. การเขียนโค้ดเพื่อหาค่าพิกัดต่าง ๆ จำเป็นต้องใช้ ฟังก์ชั่นตรีโกณมิติ ในการคำนวณหาพิกัด (x,y) ของตำแหน่งต่าง ๆ เช่น ตำแหน่งปลายของเข็มชี้ และที่ต้องไม่ลืมคือ ระบบมุมที่ใช้ ต้องเป็น เรเดียน ดังนั้นเพื่อให้เข้าใจได้ง่าย จึงต้องมีการแปลงค่ามุม จาก องศา ไปเป็น เรเดียน ในการคำนวณ
สำหรับสร้างส่วนโค้งที่ตำแหน่งใด ๆ
2. ฟังก์ชั่น drawBar(int bx, int by) สำหรับสร้างส่วนโค้งที่เป็นแถบสีบนหน้าปัดมิเตอร์ โดยเรียกใช้ ฟังก์ชั่น drawArc
3. ฟังก์ชั่น drawScale(int d1, int d2) สำหรับสร้างเส้นแบ่งสเกล และ ตัวเลขบนแถบสีของหน้าปัดมิเตอร์
4. ฟังก์ชั่น drawNeedle(int rx, int ry, int v) สำหรับสร้างเข็มของมิเตอร์ เพื่อให้ชี้ไปยังค่าที่ได้มาจากเซ็นเซอร์
5. การเขียนโค้ดเพื่อหาค่าพิกัดต่าง ๆ จำเป็นต้องใช้ ฟังก์ชั่นตรีโกณมิติ ในการคำนวณหาพิกัด (x,y) ของตำแหน่งต่าง ๆ เช่น ตำแหน่งปลายของเข็มชี้ และที่ต้องไม่ลืมคือ ระบบมุมที่ใช้ ต้องเป็น เรเดียน ดังนั้นเพื่อให้เข้าใจได้ง่าย จึงต้องมีการแปลงค่ามุม จาก องศา ไปเป็น เรเดียน ในการคำนวณ
ขั้นตอนการทำงาน
1. วาดหน้าปัดของมิเตอร์
2. สเกลลงบนหน้าปัดมิเตอร์
3. วนรอบอ่านค่าความสว่างของแสง จำนวน 10 ครั้ง
4. นำค่าแสงที่ได้ มาหาค่าเฉลี่ย
5. แปลงค่า ให้เหมาะสมในการแสดงผล *
6. นำค่าที่ได้จากข้อ 5 ไปคำนวณและแสดงเป็นเข็มเคลื่อนที่ตามปริมาณแสงที่วัดได้
1. วาดหน้าปัดของมิเตอร์
2. สเกลลงบนหน้าปัดมิเตอร์
3. วนรอบอ่านค่าความสว่างของแสง จำนวน 10 ครั้ง
4. นำค่าแสงที่ได้ มาหาค่าเฉลี่ย
5. แปลงค่า ให้เหมาะสมในการแสดงผล *
6. นำค่าที่ได้จากข้อ 5 ไปคำนวณและแสดงเป็นเข็มเคลื่อนที่ตามปริมาณแสงที่วัดได้
เขียนโค้ด ใช้ทดสอบ