วันเสาร์ที่ 27 กันยายน พ.ศ. 2557

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

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

การสร้างวงจรสร้างและควบคุมแรงไฟฟ้ากระแสตรงแบบปรับค่าได้
วัตถุประสงค์
  ฝึกออกแบบและต่อวงจรสร้างและควบคุมแรงดันไฟฟ้ากระแสตรงแบบปรับค่าได้ โดยใช้ไอซี
LM317T เพื่อใช้เป็นแหล่งจ่ายให้วงจรอิเล็กทรอนิกส์
รายการอุปกรณ์
 1. แผงต่อวงจร (เบรดบอร์ด) 1 อัน
 2. ไอซี LM317T 1 ตัว
 3. ตัวเก็บประจุ 0.1uF และ 10uF อย่างละ 1 ตัว
 4. ตัวต้านทานค่าคงที่ เลือกค่าในช่วง 220Ω ถึง 1kΩ 1 ตัว
 5. ตัวต้านทานปรับค่าได้แบบสามขา 4.7kΩ หรือ 10kΩ 1 ตัว
 6. ไดโอด 1N4001 อย่างน้อย 1 ตัว
 7. สายไฟสำหรับต่อวงจร 1 ชุด
 8. แหล่งจ่ายแรงดันควบคุม 1 เครื่อง
 9. มัลติมิเตอร์ 1 เครื่อง
ขั้นตอนการทดลอง
1. ออกแบบวงจร วาดผังวงจร และต่อวงจรบนเบรดบอร์ด เพื่อสร้างวงจรควบคุมแรงดันแบบปรับค่าได้
โดยใช้ไอซี LM317T และอุปกรณ์ตามรายการที่ได้ระบุไว้ (ศึกษาตัวอย่างวงจรได้จากดาต้าชีท
LM317T และจากอินเทอร์เน็ต)
2. ใช้แรงดันจากแหล่งจ่ายภายนอก โดยป้อนแรงดัน +9V เป็นแรงดันอินพุต และปรับค่าตัวต้านทาน
ปรับค่าได้ในวงจร ให้ได้แรงดันเอาต์พุต +5V และ +3.3V ตามลำดับ ตรวจสอบและวัดระดับแรงดัน
เอาต์พุตด้วยมัลติมิเตอร์
ผลการทดลอง





วันศุกร์ที่ 19 กันยายน พ.ศ. 2557

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

การทดลองที่ 4.4 สัญญาณอินพุต-แอนะล็อกและการใช้งานร่วมกับบอร์ด Arduino


วัตถุประสงค์
1. ฝึกต่อวงจรเพื่อสร้างสัญญาณแอนะล็อก และป้อนให้บอร์ด Arduino เพื่อใช้เป็นสัญญาณอินพุต
2. เขียนโปรแกรมสําหรับ Arduino เพื่อเปิด/ปิด LED ตามสภาวะแสง

รายการอุปกรณ์
1. แผงต่อวงจร (เบรดบอร์ด)    1 อัน
2. บอร์ด Arduino (ใช้แรงดัน +5V)   1 บอร์ด
3. ตัวต้านทานปรับค่าได้ 10kΩ หรือ 20kΩ  1 ตัว
4. ตัวต้านทานไวแสง LDR    1 ตัว
5. ไดโอดเปล่งแสงขนาด 5 มม.   1 ตัว
6. ตัวต้านทาน 330Ω หรือ 470Ω   1 ตัว
7. ตัวต้านทาน 10kΩ    1 ตัว
8. สายไฟสําหรับต่อวงจร    1 ชุด
9. มัลติมิเตอร์     1 เครื่อง

ขั้นตอนการทดลอง
1. ต่อวงจรตามผังวงจรในรูปที่ 4.4.1 บนเบรดบอร์ด ร่วมกับบอร์ด Arduino โดยใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd จากบอร์ด Arduino เท่านั้น (ต่อวงจรบนเบรดบอร์ดก่อน จากนั้นจึงเชื่อมต่อ สัญญาณอนิพุตและเอาต์พุตของบอร์ด Arduino เมื่อตรวจสอบความถูกต้อง แล้วจึงป้อนแรงดันไฟ เลี้ยงและ Gnd ตามลําดับ)

2. เขียนโปรแกรมตามตัวอย่างโค้ดที่กําหนดให้ และทําขั้นตอน Upload จากนั้นให้ทดลองหมุนปรับค่าที่ ตัวต้านทานปรับค่าได้ หรือปิดบริเวณส่วนรบัแสงของ LDR เปิดหน้าต่าง Serial Monitor ของ Arduino IDE แล้วสังเกตข้อความที่ถูกส่งมาจากบอร์ด Arduino

3. ปรับแก้โค้ดตัวอย่าง เพื่อให้วงจรและบอร์ด Arduino แสดงพฤติกรรมดังนี้ ถ้าปิดส่วนรับแสงของตัว ต้านทานไวแสง LDR หรือมปีริมาณแสงนอ้ยลง จะทําให้ LED1 “สว่าง” แต่ถ้า LDR ได้รับแสงตาม สภาวะแสงปรกติ หรือได้รับปริมาณแสงมาก จะทําให้ LED1 “ไม่ติด”

4. เขียนรายงานการทดลอง ซงึ่ประกอบด้วยคําอธบิายการทดลองตามขั้นตอน ผงัวงจรที่ถูกต้อง ครบถ้วนตามหลักไฟฟา้ (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการตอ่วงจรบน เบรดบอร์ด โค้ด Arduino ที่ได้ทดลองจรงิพร้อมคาํอธิบายโค้ด/การทํางานของโปรแกรมโดย ละเอียด และตอบคําถามทา้ยการทดลอง
ผลการทดลอง 

โค้ดข้อ 4.4.2

โค้ดข้อ 4.4.3

คำถามท้ายการทดลอง
1. ค่าที่ได้ (เลขจํานวนเต็ม) จากบอร์ด Arduino สําหรับสญัญาณอินพุตที่ขา A1 มีค่าอยู่ในช่วงใด (ต่ําสุด-สูงสุด)
ตอบ 340 - 970

2. จะต้องปรับแก้โค้ดอย่างไรสําหรับบอร์ด Arduino ถ้าจะทําให้ LED1 มีความสว่างมากน้อยได้ตาม ปริมาณแสงที่ได้รับ เช่น ถ้า LDR ได้แสงสวา่งน้อย จะทําให้ LED1 สว่างมาก แต่ถ้า LDR ได้แสง สว่างมาก จะทําให้ LED1สว่างน้อย หรือไม่ติดเลย
 -
const byte LDR_PIN = A1;
const byte VREF_PIN = A2;
const byte LED1_PIN = 5;
void setup() {
  pinMode(LED1_PIN, OUTPUT);
  digitalWrite(LED1_PIN, LOW);
  analogReference(DEFAULT);
  Serial.begin(9600);
}

void loop() {
  int value1 = analogRead(LDR_PIN);
  int value2 = analogRead(VREF_PIN);
  Serial.print("READ");
  Serial.print(value1, DEC);
  Serial.print(",");
  Serial.println(value2, DEC);
  delay(100);

  if (value1 <= value2) {
    analogWrite(LED1_PIN, 255-analogRead(LDR_PIN));
  }
}

วันศุกร์ที่ 12 กันยายน พ.ศ. 2557

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

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

การต่อวงจรไอซีเปรียบเทียบแรงดัน


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

1. ฝึกต่อวงจรเพื่อสร้างแรงดันอ้างอิง โดยใช้ตัวต้านทานปรับค่าได้(Trimpot/Potentiometer)แบบ 3 ขา
2. ฝึกต่อวงจรโดยใช้ไอซีที่มีตัวเปรียบเทียบแรงดัน (Voltage Comparator) อยู่ภายใน เช่น เบอร์ LM393N (ตัวถังแบบ PDIP-8)

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


  1. ไอซีเปรียบเทียบแรงดัน เบอร์ LM939N                                       
  2. ตัวต้านทานปรับค่าได้แบบ 3 ขา ขนาด 10 kΩ หรือ 20 kΩ           
  3. ตัวต้านทาน 4.7 kΩ หรือ 10 kΩ (สำหรับ Pull-Up)                       
  4. ตัวต้านทาน 330Ω หรือ 470 Ω                                                     
  5. ไดโอดเปล่งแสง (LED) ขนาด 5 มม.                                           
  6. สายไฟสำหรับต่อวงจร                                                                  
  7. แผงต่อวงจร (เบรดบอร์ด)                                                             
  8. มัลติมิเตอร์                                                                                   
  9. แหล่งจ่ายควบคุมแรงดัน                                                              
  10. เครื่องกำเนิดสัญญาณแบบดิจิทัล                                                  
  11. ออสซิลโลสโคปแบบดิจิทัล                                                         


ขั้นตอนการทดลอง

1. ต่อวงจรโดยใช้ตัวต้านทานปรับค่าได้ แล้วป้อนแรงดันไฟเลี้ยง VCC=+5V และ Gnd จากแหล่งจ่ายแรงดันควบคุม ไปยังวงจรบนเบรดบอร์ด
2. ใช้มัลติมิเตอร์วัดแรงดันระหว่างจุด Vx กับ Gnd และทดลองหมุนปรับค่าที่ตัวต้านทาน สังเกตและจดบันทึกค่าแรงดันต่ําสุดและแรงดันสูงสุดที่วัดได้
3. ต่อวงจรบนเบรดบอร์ด โดยใช้ไอซี LM393N (เลือกใช้ตัวเปรียบเทียบแรงดันที่อยู่ภายในตัวใดตัวหนึ่งจากที่มีอยู่สองตัว)
4. สร้างสัญญาณแบบสามเหลี่ยม(Triangular Wave) ให้อยู่ในช่วงแรงดัน0 V ถึง 5 V โดยใช้เครื่องกําเนิดสัญญาณ (Function Generator) โดยกําหนดให้Vpp = 5 V(Peak-to-Peak Voltage) และ แรงดัน Offset = 2.5 V และความถี่ f  = 1 kHz เพื่อใช้เป็นสัญญาณอินพุต Vin แล้วนําไปป้อนให้ขา V- ของตัวเปรียบเทียบแรงดันที่ได้เลือกใช้
5. ใช้ออสซิลโลสโคปวัดสัญญาณ โดยใช้ช่อง A สําหรับวัดสัญญาณที่มาจากเครื่องกําเนิดสัญญาณ (Vin) และช่อง B สําหรับวัดสัญญาณเอาต์พุต (Vout) ที่ขาของตัวเปรียบเทียบแรงดันที่ได้เลือกใช้
6. ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ วัดแรงดัน Vref และสังเกตการเปลี่ยนแปลงค่า Duty Cycle ของรูปคลื่นสัญญาณเอาต์พุต
7. สลับขาสัญญาณอินพุตที่ขา V+ และ V- (ตามผังวงจรในรูปที่ 4.1.3) แล้ วทําขั้นตอนที่6 ถึง7 ซ้ำ


ผลการทดลอง

เมื่อยังไม่ได้ปรับค่าความต้านทาน

เมื่อทดลองหมุนปรับค่าความทาน สัญญาณแรงดันเอาต์พุต(Vout) มีการเปลี่ยนแปลง

สลับขาสัญญาณอินพุตที่ขา V+ และ V- 


คําถามท้ายการทดลอง 

1. ระดับของแรงดันอ้างอิง(Vref) ที่ได้จากตัวต้านทานปรับค่าได้ เพื่อใช้ในการเปรียบเทียบแรงดัน มีความสัมพันธ์ อย่างไรกับระดับของแรงดันเอาต์พุต(Vout) ที่ได้จากตัวเปรียบเทียบแรงดัน และค่า Duty Cycle ของสัญญาณเอาต์พุตที่วัดได้ จงอธิบาย 
- สัญญาณแรงดันเอาต์พุตจะมีค่าสถานะทางโลจิกเป็น 1 เมื่อป้อนแรงดันอินพุต V+ มากกว่า V- เมื่อปรับค่าความต้านทานมากขึ้นจะทำให้ Vref มากขึ้น แต่ Vin คงที่ มีทำผลทำให้ช่วงที่สัญญาณเอาต์พุตออกมาได้ลอจิก 1 ย่อลงและค่า Duty Cycle ก็มากขึ้น และถ้าปรับค่าความต้านทานน้อยลงจะทำให้ Vref น้อยตาม จะทำให้ช่วงที่สัญญาณเอาต์พุตออกมาได้ลอจิก 1 ขยายออก ค่า Duty Cycle ก็น้อยลง 
2. ถ้าจะให้สัญญาณเอาต์พุต Voutมีค่า Duty Cycle ประมาณ 50% จะต้องหมุนปรับค่าที่ตัว ต้านทานปรับค่าได้ ให้มีแรงดัน Vrefประมาณเท่าใด 
- 2.28 V
3. เมื่อหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ จากซ้ายสุดไปขวาสุด จะได้ค่า Vref อยู่ในช่วง 0 ถึง 5 โวลต์ และได้ค่า Duty Cycle ของสัญญาณเอาต์พุตอยู่ในช่วง 0 ถึง 78 เปอร์เซ็นต์

วันศุกร์ที่ 5 กันยายน พ.ศ. 2557

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

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

รายการอุปกรณ์
1.แผงต่อวงจร
2.บอร์ด Arduino
3.ตัวต้านทาน 100/150 ohm
4.ตัวต้านทาน 330/470 ohm
5.ไดโอดเปล่าแสง
6.สายไฟสำหรับต่อวงจร
7.เครื่องกำเนิดสัญญาณ
8.ออสซิลโลสโคป

ขั้นตอนการทดลอง
1.สร้างสัญญาณดิจิทับแบบมีคาบมีรูปสัญญาณสี่เหลี่นม หรือแบบ Pulse มีคสามถี่ 10Hz จากเครื่องกำเนิดสัญญาณ โดยต่อผ่านตัวต้านทาน 100/150 ohm ไปยังขา D3 ของบอร์ด Arduino เพื่อใช้เป็นอินพุต
2.ต่อวงจร LED พร้อมตัวต้านทานจำกัดกระแสที่ขา D5 ของบอร์ด Arduino เพื่อใช้เป็นสถานะ
3.เขียนโค้ด Arduino Sketch เพื่อทำให้หลอด LED บนแผงวงจร กระพริบตามความถี่ของสัญญาณอินพุต
4.ปรับความถี่ของสัญญาณอินพุตในช่วง 5Hz .. 20Hz (เพิ่มทีละ 5Hz)และใช้ออสซิลโลสโคป 2 ช่องวัดสัญญาณอินพุตที่ขา D3 และสัญญาณเอาต์พุตที่ขา D5 พร้อมกัน และบันทึกรูปคลื่นสัญญาณที่ได้สำหรับความถี่ต่างๆในการทดลอง
5.เขียนรายงานการทดลองในการวาด และโค้ด Arduino Sketch พร้อมคำอธบายโค้ด รูปตัวอย่างที่วัดได้จากสัญญาณ และภาพถ่ายการต่อทดลองวงจรจริง

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


โค้ด Arduino
const byte A = 3;
const byte B = 5;

void setup(){
  pinMode(A,INPUT);
  pinMode(B,OUTPUT);
}
void loop(){
  if(digitalRead(A)==HIGH){
    digitalWrite(B,HIGH);
  }
  if(digitalRead(A)==LOW){
    digitalWrite(B,LOW);
  }
}

คลื่นสัญญาณ 5Hz
คลื่นสัญญาณ 10Hz
คลื่นสัญญาณ 15 Hz
คลื่นสัญญาณ 20Hz





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

การทดลองที่ 3.3
การต่อวงจรอินพตุ -เอาต์พุตดิจิทัลเบื้องต้นสำหรับ Arduino
วัตถุประสงค์
1.ฝึกการต่อวงจรในไอซี 74HC00N เพื่อสร้าง RS Lacth
2.เขียนโปรแกรมสำหรับArduino

รายการอุปกรณ์
1.แผงต่อวงจร
2.บอร์ดArduino
3.ไอซี 74HC00N
4.ไดโอดเปล่งแสง
5.ปุ่มกดแบบสี่ขา
6.ตัวต้านทาน  330/470 ohm
7.ตัวต้านทาน 10 k ohm
8.สายไฟสำหรับต่อวงจร
9.มัลติมิเตอร์
10.แหล่งจ่ายแรงดัน

ขั้นตอนการทดลอง
1.ต่อวงจรเบรดบอร์ด โดยใช้ไอซี 74HC00N เพื่อลอจิก RS Latch และป้อนแรงดันไฟเลี้ย Vcc = 5v และ GND จากแหล่งจ่ายแรงดันให้วงจร
2.กำหนดสถานะของสัญญาณอินพุต A และ ฺB ทั้งหมด 4 กรณี โดยการกดค้างไว้(LOW)หรือไม่ กดปุ่ม(HIGH) ใช้มิบติมิเตอร์วัดแรงดันของสัญญาณ Q และ /Q รวมถึงสังเกต สถานะติด/ดับของ LED ทั้งสอง สำหรับแต่ละกรณี้ของอินพุต แล้วบันทึกที่ได้ลงในตาราง
3.ต่อวงจรตามวงจรโดยใช้บอร์ด Arduino ปุ่มกดแบบสี่ขา ไดโอดเปล่งแสง และตัวต้านทาน และให้เขียนโปรแกรมสำหรัย Arduinoเพื่อเลียนแบบพฤติกรรมการทำงานของ RS Latch


โค้ด Arduino ข้อ 3
const byte SW1 = 2;
const byte SW2 = 3;
const byte LED1 = 4;
const byte LED2 = 5;

void setup(){
 pinMode(SW1,INPUT);
 pinMode(SW2,INPUT);
 pinMode(LED1,OUTPUT);
 pinMode(LED2,OUTPUT);
 digitalWrite(LED1,HIGH);
}

void loop(){
 if(digitalRead(SW1)==LOW){
  digitalWrite(LED1,HIGH);
  digitalWrite(LED2,LOW);
}
 if(digitalRead(SW2)==LOW){
  digitalWrite(LED1,LOW);
  digitalWrite(LED2,HIGH);
}
 if(digitalRead(SW1)==LOW && digitalRead(SW2)==LOW){
  digitalWrite(LED1,HIGH);
  digitalWrite(LED2,HIGH);
}
}


ผลที่ได้จากการทดลอง