บทช่วยสอนที่ 2 เกี่ยวกับอินพุตขั้นสูงสําหรับบอร์ด Intel® Galileo

เอกสาร

การติดตั้งและตั้งค่า

000006653

10/06/2022

วงจรที่คุณสร้างมีอินพุตสองตัว (ไมโครโฟนและตัวเก็บประจุแบบสัมผัส) และเอาต์พุตสองตัว (ไฟ LED สองตัว) ก่อนเดินสายทุกอย่างมาดูประเภทของอินพุตที่เราใช้

เซ็นเซอร์ไมโครโฟน

เซ็นเซอร์ไมโครโฟนของเราเป็นอินพุตแบบอะนาล็อก อินพุตประเภทนี้หมายถึงการใช้ค่าจากโลกทางกายภาพและแปลงเป็นค่าที่อ่านได้ด้วยเครื่อง จากนั้นเราจะใช้ค่านิยมเหล่านี้ในโปรแกรมของเรา

เซ็นเซอร์สัมผัสแบบ Capacitive

เซ็นเซอร์สัมผัสของเราคืออินพุตดิจิตอล อินพุตประเภทนี้หมายความว่าจะตีความเฉพาะค่าขาเข้า HIGH และ LOW (true/false, 0/1) เท่านั้น

การทําความเข้าใจความแตกต่างระหว่างอินพุตทั้งสองประเภทเป็นสิ่งสําคัญ บอร์ด Intel® Galileo มีป้ายอินพุตอะนาล็อกหกตัว A0-A5 พินอะนาล็อกใส่เท่านั้น พินอะนาล็อกแมปสัญญาณแรงดันไฟฟ้าขาเข้า (0 ถึง 5 V) เป็นค่าจํานวนเต็มระหว่าง 0 และ 1023 ในโค้ด เราอ่านและเขียนค่าอะนาล็อกโดยใช้ฟังก์ชันอะนาล็อก

ประกาศและกําหนด "val" ให้กับมูลค่าที่เข้ามาจากพิน A0 (ตั้งแต่ 0-1023)
int val = analogRead(A0);
เขียนค่าขาเข้าจาก A0 (ตั้งแต่ 0-255 หลังการแมปค่า)
analogWrite(13, val);

หากต้องการทราบรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการและเวลาในการใช้ฟังก์ชันอะนาล็อก โปรดดูคู่มืออ้างอิง:
ข้อมูลอ้างอิงของ analogRead
ข้อมูลอ้างอิงอะนาล็อกWrite

ทําไมจึงมีฟังก์ชันอะนาล็อกWrite เราเขียนถึงอะไร

ที่นี่เราใช้พิน Pulse Width Modulation (PWM) เราจะไปดูว่า PWM ทํางานอย่างไร และจะใช้งานอย่างไรและเมื่อใดในส่วนถัดไป

ค่าอินพุตการทดสอบ

  1. เพิ่มพลังให้เบรดบอร์ด:
    • เชื่อมต่อจัมเปอร์สองสายเข้ากับพิน 5 V และ GND บนบอร์ด Galileo ตามลําดับ
    • เชื่อมต่อปลายทั้งสองด้านของสายเหล่านั้นเข้ากับแถบแนวตั้งของ breadboard ที่มีเครื่องหมาย + ( ซึ่งแสดงถึง PWR และ GND)
    • การเชื่อมต่อนี้จะมอบขุมพลังให้กับแถบแนวตั้งทั้งหมดเพื่อให้โมดูลอื่นๆ สามารถเชื่อมต่อได้
  2. เชื่อมต่อไมโครโฟน:
    • เชื่อมต่อจัมเปอร์สองสายจากพิน PWR และ GND ของไมโครโฟนเข้ากับแทร็กแนวตั้งที่เกี่ยวข้องบนเบรดบอร์ด
    • เชื่อมต่อจัมเปอร์ที่เหลือจากไมโครโฟนเข้ากับแถวที่ส่วนในของเบรดบอร์ด
    • แล้วต่อสายจัมเปอร์จากแถวเดียวกันเข้ากับพิน A0
  3. เชื่อมต่อเซ็นเซอร์สัมผัส:
    • เชื่อมต่ออินพุต PWR และ GND ของเซ็นเซอร์สัมผัส (เช่นเดียวกับที่คุณทําด้วยสายเคเบิลของไมโครโฟน) แล้วต่อสายปลายเข้ากับแถบ PWR และ GND แนวตั้ง
    • ต่อสายสุดท้ายเข้ากับแถวที่ส่วนด้านในของเบรดบอร์ด
    • ซึ่งต้องเป็นแถวที่แตกต่างจากไมโครโฟน ในท้ายที่สุด ให้เชื่อมต่อสายจัมเปอร์ที่เหลืออยู่จากแถวเดียวกันกับพิน 2

อัปโหลดภาพสเก็ตช์ต่อไปนี้ เปิดจอภาพซีเรียลของคุณเพื่อดูว่าเกิดอะไรขึ้น:

ประกาศและกําหนดตัวแปรสองตัวที่แสดงถึงพินสําหรับเซ็นเซอร์

หมาย เหตุคําว่า const ที่ด้านหน้าของการประกาศตัวแปรบอกคอมไพเลอร์ว่าโปรแกรมไม่สามารถอัปเดตตัวแปรนี้ได้

const int touch = 2;
const int sound = A0;
การตั้งค่าที่เป็นโมฆะ (){
Serial.begin(57600);
ตั้งค่าโหมดพินสําหรับเซ็นเซอร์สัมผัส
pinMode (touch, INPUT);

}

หมาย เหตุเนื่องจากเซ็นเซอร์เสียงเป็นอินพุตอะนาล็อก เราจึงไม่จําเป็นต้องตั้งค่าโหมดพิน

void loop(){ // ประกาศและกําหนดสองตัวแปรที่แสดงถึงการอ่านอินพุตจากเซ็นเซอร์
int touch_input = digitalRead(touch);
int sound_input = analogRead (เสียง);
พิมพ์ค่าไปยังจอภาพซีเรียล
Serial.print ("เสียง:");
Serial.println (sound_input);
Serial.print ("touch:"): ");
Serial.println (touch_input);
Serial.println("");
รอ 10 มิลลิวินาทีก่อนการอ่านครั้งต่อไป
ความล่าช้า(10);

}