วันศุกร์ที่ 17 ตุลาคม พ.ศ. 2557

การทดลองที่ 5.4

 การทดลองที่ 5.4
การเชื่อมต่อวงจรอิเล็กทรอนิกส์ด้วยแสง

วัตถุประสงค์
  • ฝึกต่อวงจรโดยใช้อุปกรณ์เชื่อมต่อทางแสง เช่น เบอร์ PC817
  • ประยุกต์ใช้งานอุปกรณ์ชนิดนี้ร่วมกับบอร์ด Arduino และใช้ควบคุมการจ่ายกระแสให้โหลด
รายการอุปกรณ์
  1. แผงต่อวงจร (เบรดบอร์ด) 1 อัน
  2. อุปกรณ์เชื่อมต่อทางแสง PC817 1 ตัว
  3. ไดโอดเปล่งแสงสีแดงหรือสีเขียว 1 ตัว
  4. ตัวต้านทาน 220Ω หรือ 330Ω 1 ตัว
  5. ทรานซิสเตอร์ NPN เบอร์ PN2222A 1 ตัว
  6. ตัวต้านทาน 1kΩ 1 ตัว
  7. ตัวต้านทาน 4.7kΩ 1 ตัว
  8. ตัวต้านทาน 10kΩ 1 ตัว
  9. ตัวต้านทานปรับค่าได้ 10kΩ หรือ 20kΩ 1 ตัว
  10. ไดโอด 1N400x 1 ตัว
  11. มอเตอร์ไฟฟ้ากระแสตรงขนาดเล็ก 1 ตัว *
  12. สายไฟสำหรับต่อวงจร 1 ชุด
  13. มัลติมิเตอร์ 1 เครื่อง
  14. แหล่งจ่ายแรงดันควบคุม 1 เครื่อง
  15. ออสซิลโลสโคปแบบดิจิทัล 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) รูปถ่ายของการต่อวงจรบน
เบรดบอร์ด
รูปวงจรที่ต่อในการทดลอง

โค้ดที่ใช้ในการทดลอง
void setup() {
  pinMode(A1,INPUT);
  pinMode(5,OUTPUT);
  analogReference(DEFAULT);
}

void loop() {
  analogWrite(5,analogRead(A1));
 
}
 

วันศุกร์ที่ 3 ตุลาคม พ.ศ. 2557

การทดลองที่ 5.2

การทดลองที่ 5.2
การตรวจจับวัตถุในระยะใกล้ด้วยแสงอินฟราเรด
วัตถุประสงค์

  1. ฝึกต่อวงจรโดยใช้ไดโอดเปล่งแสงอินฟราเรดและโฟโต้ทรานซิสเตอร์
  2. ประยุกต์ใช้งานอุปกรณ์ทั้งสองชนิดร่วมกับบอร์ด Arduino เพื่อใช้ตรวจจับวัตถุในระยะใกล้

รายการอุปกรณ์

  1. แผงต่อวงจร (เบรดบอร์ด) 1 อัน
  2. ไดโอดเปล่งแสงอินฟราเรด 1 ตัว
  3. ไดโอดเปล่งแสงสีแดงหรือสีเขียว 1 ตัว
  4. โฟโต้ทรานซิสเตอร์ 1 ตัว
  5. ตัวต้านทาน 220Ω 1 ตัว
  6. ตัวต้านทาน 330Ω หรือ 470Ω 1 ตัว
  7. ตัวต้านทาน 10kΩ 1 ตัว
  8. ตัวเก็บประจุแบบ Electrolytic 1uF หรือ 10uF (มีขั้ว) 1 ตัว
  9. สายไฟสำหรับต่อวงจร 1 ชุด
  10. มัลติมิเตอร์ 1 เครื่อง

ขั้นตอนการทดลอง
     1. ออกแบบวงจร (วาดผังวงจร) โดยใช้ไดโอดเปล่งแสงอินฟราเรดและโฟโต้ทรานซิสเตอร์ 1 ชุด พร้อม
ตัวต้านทานตามที่กำหนดให้ แล้วนำสัญญาณเอาต์พุตของวงจรส่วนนี้ ไปต่อเข้าที่ขาอินพุต A1 ของ
บอร์ด Arduino และให้มีวงจรไดโอดเปล่งแสง (LED) พร้อมตัวต้านทานจำกัดกระแส 330Ω หรือ
470Ω ที่ต่อกับขาเอาต์พุต D5 ของบอร์ด Arduino เพื่อใช้เป็นเอาต์พุตในการแสดงผล
     2. ต่อวงจรตามผังวงจรที่ได้วาดไว้บนเบรดบอร์ด ให้ใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd
จากบอร์ด Arduino เท่านั้น
     3. เขียนโค้ดสำหรับ Arduino ให้แสดงพฤติกรรมดังนี้ เมื่อมีวัตถุเข้าใกล้ (อยู่เหนือ) ตัวส่งและตัวรับแสงอินฟราเรดของวงจร (เช่น ที่ระยะห่างประมาณ 10 cm หรือน้อยกว่า) จะทำให้ LED เริ่มกระพริบ
ด้วยความถี่ต่ำ (อย่างช้าๆ) แต่ถ้าวัตถุเข้าใกล้มากขึ้น LED จะกระพริบด้วยความถี่สูงขึ้น แต่ถ้าไม่มี
วัตถุอยู่ในระยะใกล้ LED จะต้องไม่ติด (ไม่กระพริบ) ให้ทดลองกับวัตถุต่างสีกัน เช่น สีขาวและสีดำ
     4. เขียนรายงานการทดลอง ซึ่งประกอบด้วยคำอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง
ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบน
เบรดบอร์ด และตอบคำถามท้ายการทดลอง

โค้ดที่ใช้ในการทดลอง
const byte IR_LED = A1;
const byte LED = 5;

void setup() {
  pinMode(IR_LED, INPUT);
  pinMode(LED, OUTPUT);
  digitalWrite(LED, LOW);
  analogReference(DEFAULT);
  Serial.begin(9600);
}

void loop() {
  int value = analogRead(IR_LED);
  Serial.println(value);
  delay(100);

  if (value > 310) {
    digitalWrite(LED, HIGH);
    delay(1024 - (value));
    digitalWrite(LED, LOW);
    delay(1024 - (value));
  } else {
    digitalWrite(LED, LOW);
  }

}



คำถามท้ายการทดลอง
1. ในการทดลอง ถ้าใช้วัตถุต่างสีกัน จะมีผลต่อการทำงานของวงจรที่แตกต่างกันหรือไม่ จงอธิบาย
-  มีผล วัตถุสีขาวจะสะท้อนแสงจากอินฟาเรดไปยังโฟโต้ทรานซิสเตอร์ได้ดีกว่าวัตถุสีเข้ม