การทดลองที่5.4
การเชื่อมต่อวงจรอิเล็กทรอนิกส์ด้วยแสง
วัตถุประสงค์
- ฝึกต่อวงจรโดยใช้อุปกรณ์เชื่อมต่อทางแสง เช่น เบอร์ PC817
- ประยุกต์ใช้งานอุปกรณ์ชนิดนี้ร่วมกับบอร์ด Arduino และใช้ควบคุมการจ่ายกระแสให้โหลด
รายการอุปกรณ์
| แผงต่อวงจร(เบรดบอร์ด) | 1 อัน |
| อุปกรณ์เชื่อมต่อทางแสงPC817 | 1 ตัว |
| ไดโอดเปล่งแสงสีแดงหรือสีเขียว | 1 ตัว |
| ตัวต้านทาน 220Ω หรือ 330Ω | 1 ตัว |
| ทรานซิสเตอร์ NPN เบอร์ PN2222A | 1 ตัว |
| ตัวต้านทาน 1kΩ | 1 ตัว |
| ตัวต้านทาน 4.7kΩ | 1 ตัว |
| ตัวต้านทาน 10kΩ | 1 ตัว |
| ตัวต้านทานปรับค่าได้ 10kΩ หรือ 20kΩ | 1 ตัว |
| ไดโอด 1N400x | 1 ตัว |
| มอเตอร์ไฟฟ้ากระแสตรงขนาดเล็ก | 1 ตัว* |
| สายไฟสําหรับต่อวงจร | 1 ชุด |
| มัลติมิเตอร์ | 1 เครื่อง |
| แหล่งจ่ายแรงดันควบคุม | 1 เครื่อง |
| ออสซิลโลสโคปแบบดิจิทัล | 1 เครื่อง |
ขั้นตอนการทดลอง
1. ต่อวงจรบนเบรดบอร์ดตามรูปที่ 5.4.1 ให้สังเกตว่า ในผังวงจรมี GND1 และ GND2 แยกกันซึ่ง จะต้องไม่นํามาต่อเข้าด้วยกันโดยเด็ดขาด
2. ให้ใช้แรงดันไฟเลี้ยง +5V และ GND1 ให้ใช้จากบอร์ด Arduino แต่สําหรับ +9V และ GND2 ให้ใช้จากแหล่งจ่ายแรงดันควบคุม
3. เขียนโค้ด Arduino โดยสร้างสัญญาณแบบ PWM โดยใช้คําสั่ง analogWrite() เพื่อสร้างสัญญาณ เอาต์พุตที่ขา D5 โดยปรับค่า Duty Cycle ของสัญญาณเอาต์พุตตามค่าที่อ่านได้จากตัวต้านทาน ปรับค่าได้ ซึ่งต่อเป็นอินพุตที่ขา A1
4. ใช้ออสซิลโลสโคปวัดสัญญาณที่ขา E ของ PC817 เทียบกับ GND2 แล้วทดลองหมุนปรับที่ ตัวต้านทานปรับค่าได้ เพื่อปรับค่า Duty Cycle เป็น 0% 25% 50% และ 100% ตามลําดับ บันทึกรูปคลื่นสัญญาณที่ได้ในแต่ละกรณี
5. ทดลองเปลี่ยนจาก LED และตัวต้านทาน เป็นมอเตอร์ไฟฟ้ากระแสตรงขนาดเล็ก (ปรับแรงดันไฟเลี้ยง จาก +9V ให้เป็นแรงดันไฟเลี้ยงที่เหมาะสมกับมอเตอร์ไฟฟ้า +VM) โดยต่อวงจรตามรูปที่ 5.4.2 และ ทดลองปรับค่า Duty Cycle
6. เขียนรายงานการทดลอง ซึ่งประกอบด้วยคําอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบนเบรดบอร์ด
1. ต่อวงจรบนเบรดบอร์ดตามรูปที่ 5.4.1 ให้สังเกตว่า ในผังวงจรมี GND1 และ GND2 แยกกันซึ่ง จะต้องไม่นํามาต่อเข้าด้วยกันโดยเด็ดขาด
2. ให้ใช้แรงดันไฟเลี้ยง +5V และ GND1 ให้ใช้จากบอร์ด Arduino แต่สําหรับ +9V และ GND2 ให้ใช้จากแหล่งจ่ายแรงดันควบคุม
3. เขียนโค้ด Arduino โดยสร้างสัญญาณแบบ PWM โดยใช้คําสั่ง analogWrite() เพื่อสร้างสัญญาณ เอาต์พุตที่ขา D5 โดยปรับค่า Duty Cycle ของสัญญาณเอาต์พุตตามค่าที่อ่านได้จากตัวต้านทาน ปรับค่าได้ ซึ่งต่อเป็นอินพุตที่ขา A1
4. ใช้ออสซิลโลสโคปวัดสัญญาณที่ขา E ของ PC817 เทียบกับ GND2 แล้วทดลองหมุนปรับที่ ตัวต้านทานปรับค่าได้ เพื่อปรับค่า Duty Cycle เป็น 0% 25% 50% และ 100% ตามลําดับ บันทึกรูปคลื่นสัญญาณที่ได้ในแต่ละกรณี
5. ทดลองเปลี่ยนจาก LED และตัวต้านทาน เป็นมอเตอร์ไฟฟ้ากระแสตรงขนาดเล็ก (ปรับแรงดันไฟเลี้ยง จาก +9V ให้เป็นแรงดันไฟเลี้ยงที่เหมาะสมกับมอเตอร์ไฟฟ้า +VM) โดยต่อวงจรตามรูปที่ 5.4.2 และ ทดลองปรับค่า Duty Cycle
6. เขียนรายงานการทดลอง ซึ่งประกอบด้วยคําอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบนเบรดบอร์ด
![]() |
| รูปที่ 5.4.1: ผังวงจรสําหรับต่อทดลอง |
![]() |
| รูปที่ 5.4.2: ผังวงจรสําหรับต่อทดลอง |
รูปวงจรจริง
![]() |
| รูปวงจรจริง 5.4.1 |
ในส่วนของ code Arduino
| const byte IN = A1; const byte OUT = 5; void setup() { pinMode(IN,INPUT); pinMode(OUT,OUTPUT); Serial.begin(9600); //open serial monitor digitalWrite(OUT,LOW); //define output equal low } void loop() { float duty = analogRead(IN); // read value from potentiometer duty = map(duty,0,1023,0,255); //change value from range 0-1023 to 0-255 analogWrite(OUT,duty); Serial.print("Duty cycle = "); Serial.print(duty*(100.0/255.0)); Serial.println(" %"); } |



