เขียนโค้ด Arduino วงจรหรี่ไฟ ทำไมในโค้ด Analog ต้องหาร4ค่ะ?

นี้คือหน้าตาโค้ดค่ะ
void setup() {
  // put your setup codยิ้ม, to run once:
pinMode(9,OUTPUT);
}
void loop()
{ int ana_In=analogRead(A0);
analogWrite(9,ana_In);
ana_In=ana_In/4;   //ตรงนี้คือตรงไม่เข้าใจว่าทำไมต้องหาร4ค่ะ
// put your setup codยิ้ม, to run once:
}
ช่วยหน่อยนะคะ ถ้าไม่รู้ก็จะตอบคำถามครูไม่ได้ ก็จะส่งงานไม่ได้เลยค่ะ555555
ขอบคุณไว้ล่วงหน้านะคะ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
เพราะว่า ADC ของ Arduino เป็นแบบ 10 bits ค่าที่แปลงได้จะออกมา 0-1023 ครับ

ในบางงานอาจจะต้องการความละเอียดแค่ 8 บิตก็เพียงพอแล้ว เลยเอามาหาร 4 ค่าจะได้ออกมาเป็น 0-255 ครับ

แต่ถ้าต้องการความละเอียดสูงสุดที่เป็นไปได้ ก็ใช้ 10 บิตไปเลยครับ


แต่ดูในโค้ด ก็แปลก ๆ อยู่ครับ เพราะว่าอ่านค่าแล้ว ส่งค่าออกก่อน แล้วค่อยหาร 4 ไม่รู้เอาไปใช้ทำอะไรต่อครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่