Thursday, September 4, 2014

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

การสร้างสัญญาณเอาต์พุตตามจังหวะสัญญาณอินพุตด้วย Arduino 



วัตถุประสงค์

  • สร้างสัญญาณจากเครื่องกําเนิดสัญญาณดิจิทัลแบบมีคาบ เพื่อป้อนเป็นอินพุตให้บอร์ด Arduino
  • เขียนโค้ดสําหรับ Arduino เพื่อประมวลผลสัญญาณดิจิทัลจากอินพุต และสร้างสัญญาณเอาต์พุต ตามเงื่อนไขที่กําหนดให้


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

แผงต่อวงจร (เบรดบอร์ด)1 อัน
บอร์ดArduino (ใช้แรงดัน +5V)1 บอร์ด
ตัวต้านทาน 100Ω  หรือ 150Ω1 ตัว
ตัวต้านทาน 330Ω หรือ 470Ω1 ตัว
ไดโอดเปล่งแสงขนาด 5 มม.1 ตัว
สายไฟสําหรับต่อวงจร1 ชุด
เครื่องกําเนิดสัญญาณดิจิทัล1 เครื่อง
ออสซิลโลสโคป1 เครื่อง


ขั้นตอนการทดลอง
  1. สร้างสัญญาณดิจิทัลแบบมีคาบ (แรงดันในช่วง 0V และ 5V เท่านั้น ห้ามใช้แรงดันสูงกว่าหรือแรงดันเป็นลบ) มีรูปคลื่นสี่เหลี่ยม หรือแบบ Pulse (Duty Cycle = 50%) มีความถี่ 10Hz จากเครื่องกําเนิดสัญญาณ โดยต่อผ่านตัวต้านทาน 100Ω หรือ 150Ω ไปยังขา D3 ของบอร์ด Arduino เพื่อใช้เป็นอินพุต
  2. ต่อวงจร LED พร้อมตัวต้านทานจํากัดกระแสที่ขา D5 ของบอร์ด Arduino เพื่อใช้แสดงสถานะ
  3. เขียนโค้ด Arduino Sketch เพื่อทําให้หลอด LED บนแผงวงจรกระพริบตามความถี่ของสัญญาณอินพุต (อัตราการกระพริบของ LED จะต้องสอดคล้องกับความถี่ของสัญญาณอินพุต)
  4. ปรับความถี่ของสัญญาณอินพุตในช่วง 5Hz .. 20Hz (เพิ่มทีละ 5Hz) และใช้ออสซิลโลสโคป
    2 ช่องวัดสัญญาณอินพุตที่ขา D3 และสัญญาณเอาต์พุตที่ขา D5 พร้อมกัน และบันทึกรูปคลื่นสัญญาณที่ได้สําหรับความถี่ต่างๆ ในการทดลอง
  5. เขียนรายงานการทดลอง (เขียนโจทย์ แนวทางการทําโจทย์ ผังวงจรโดยรวมซึ่งใช้โปรแกรม Eagle ในการวาด และโค้ด Arduino Sketch พร้อมคําอธิบายโค้ด รูปตัวอย่างที่ได้จาการวัดสัญญาณ และภาพถ่ายการต่อทดลองวงจรจริง) จัดทําเป็นไฟล์.PDF ขนาด A4 ส่งในระบบ
    e-Learning ของภาควิชา

code ที่ใช้ในการทำการทดลอง


const int fc_gen = 3; // define port from Function Generator
const int ledPin = 5; // define port for led

int fc_gen_state = 0; 

void setup() {
  
  //define pin mode for each pin
  pinMode(fc_gen, INPUT);
  pinMode(ledPin, OUTPUT);
  
}

void loop() {

  fc_gen_state = digitalRead(fc_gen); //check state from function generator
  if(fc_gen_state == HIGH)
    digitalWrite(ledPin, HIGH);
  else
    digitalWrite(ledPin, LOW);
}

ผลการทดลอง


ภาพ schematic ของวงจร


ภาพการต่อวงจรจริง

เมื่อสร้างสัญญาณที่มีความถี่เท่ากับ 5 Hz

เมื่อสร้างสัญญาณที่มีความถี่เท่ากับ 10 Hz

เมื่อสร้างสัญญาณที่มีความถี่เท่ากับ 15 Hz

เมื่อสร้างสัญญาณที่มีความถี่เท่ากับ 20 Hz





No comments:

Post a Comment