การทดลองที่ 1.3
การตรวจวัดสัญญาณดิจิทัล-เอาต์พุตจากบอร์ด Arduino
วัตถุประสงค์
- ฝึกทักษะในการต่อวงจรอิเล็กทรอนิกส์พื้นฐานบนเบรดบอร์ด
- เข้าใจและมีทักษะในการวัดปริมาณทางไฟฟ้าด้วยมัลติมิเตอร์ เช่น แรงดันตกคร่อมที่ตัวต้านทาน และการวัดกระแสในวงจร เป็นต้น
- ฝึกใช้ออสซิลโลสโคป เพื่อตรวจดูรูปคลื่นสัญญาณและวิเคราะห์การทำงานของบอร์ด Arduino โดยใช้โค้ดตัวอย่าง
รายการอุปกรณ์
- บอร์ด Arduino 1 อัน
- สายไฟสำหรับต่อวงจร 1 ชุด
- ออสซิลโลสโคปแบบดิจิทัล 1 เครื่อง
- เครื่องกำเนิดสัญญาณ 1 เครื่อง
ขั้นตอนการทดลอง
1. คอมไพล์โค้ดตัวอย่างที่ 1.3.1 แล้วอัพโหลดไปยังบอร์ด Arduino จากนั้นใช้ออสซิลโลสโคปวัดสัญญาณเอาต์พุตที่ได้ (รูปคลื่นแบบสี่เหลี่ยม) แล้วบันทึกภาพ (ให้ระบุ ความถี่ และค่า Duty
Cycle ของสัญญาณตามที่วัดได้จริง)
Duty Cycle (%) = 100% x (ความกว้างของคลื่นในช่วงที่เป็น High / คาบของสัญญาณ)
2. ทำขั้นตอนที่ 1 ซ้ำ สำหรับโค้ดตัวอย่างที่ 1.3.2 – 1.3.4 ตามลำดับ
3. ใช้เครื่องกำเนิดสัญญาณ สร้างคลื่นแบบ PWM (รูปคลื่นแบบ Pulse) ที่มีความถี่ 50Hz มีค่า Duty
Cycle = 7.5% และมีระดับแรงดันต่ำและสูงในช่วง 0V และ 5V และให้ใช้ออสซิลโลสโคปตรวจดูรูป
คลื่นสัญญาณที่ได้และบันทึกภาพที่ปรากฏ (เปรียบเทียบผลกับการสร้างสัญญาณเอาต์พุตด้วยบอร์ด
Arduino)
คำถามท้ายการทดลอง
1. จงอธิบายความแตกต่างของสัญญาณเอาต์พุต (ขา D5) ของบอร์ด Arduino ที่ได้จากโค้ดตัวอย่างในแต่ละกรณี (ให้เปรียบเทียบค่า Duty Cycle และความถี่ของสัญญาณเอาต์พุตที่ได้
ในแต่ละกรณี)
1.3.1 Duty cycle = 100%*(10m/20m) = 50%
1.3.2 Duty cycle = 100%*(4.5u/10u) = 45%
1.3.3 Duty cycle = 100%*(0.8m/1m) = 80%
1.3.4 Duty cycle = 100%*(2m/20m) = 10%
2. มีขาใดบ้างของบอร์ด Arduino ในการทดลอง นอกจากขา D5 ที่สามารถใช้สร้างสัญญาณ PWMด้วยคำสั่ง analogWrite()
-D3,D6,D9,D10,D11
3. ถ้าต้องการจะสร้างสัญญาณแบบ PWM ที่มีค่า Duty Cycle 20% และ 80% ที่ขา D5 และ D10
ตามลำดับ โดยใช้คำสั่ง analogWrite() จะต้องเขียนโค้ด Arduino อย่างไร (เขียนโค้ดสำหรับ
Arduino Sketch ให้ครบถ้วน สาธิตและตรวจสอบความถูกต้องโดยใช้ออสซิลโลสโคปหรือเครื่อง
วิเคราะห์สัญญาณดิจิทัล)
4. สัญญาณเอาต์พุตที่ได้จากการใช้คำสั่งของ Servo Library มีความถี่เท่าไหร่
-50 Hz
ไม่มีความคิดเห็น:
แสดงความคิดเห็น