คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
เพราะว่า ADC ของ Arduino เป็นแบบ 10 bits ค่าที่แปลงได้จะออกมา 0-1023 ครับ
ในบางงานอาจจะต้องการความละเอียดแค่ 8 บิตก็เพียงพอแล้ว เลยเอามาหาร 4 ค่าจะได้ออกมาเป็น 0-255 ครับ
แต่ถ้าต้องการความละเอียดสูงสุดที่เป็นไปได้ ก็ใช้ 10 บิตไปเลยครับ
แต่ดูในโค้ด ก็แปลก ๆ อยู่ครับ เพราะว่าอ่านค่าแล้ว ส่งค่าออกก่อน แล้วค่อยหาร 4 ไม่รู้เอาไปใช้ทำอะไรต่อครับ
ในบางงานอาจจะต้องการความละเอียดแค่ 8 บิตก็เพียงพอแล้ว เลยเอามาหาร 4 ค่าจะได้ออกมาเป็น 0-255 ครับ
แต่ถ้าต้องการความละเอียดสูงสุดที่เป็นไปได้ ก็ใช้ 10 บิตไปเลยครับ
แต่ดูในโค้ด ก็แปลก ๆ อยู่ครับ เพราะว่าอ่านค่าแล้ว ส่งค่าออกก่อน แล้วค่อยหาร 4 ไม่รู้เอาไปใช้ทำอะไรต่อครับ
▼ กำลังโหลดข้อมูล... ▼
แสดงความคิดเห็น
คุณสามารถแสดงความคิดเห็นกับกระทู้นี้ได้ด้วยการเข้าสู่ระบบ
กระทู้ที่คุณอาจสนใจ
อ่านกระทู้อื่นที่พูดคุยเกี่ยวกับ
วิศวกรรมคอมพิวเตอร์
วิศวกรรมศาสตร์
C (ภาษาคอมพิวเตอร์)
การพัฒนาซอฟต์แวร์
อิเล็กทรอนิกส์
เขียนโค้ด 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
ขอบคุณไว้ล่วงหน้านะคะ