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

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

สัญญาณอินพุต-แอนะล็อก

และการใช้งานร่วมกับบอร์ด Arduino 



วัตถุประสงค์ในการทดลอง

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


อุปกรณ์ที่ใช้ในการทดลอง  

1.    แผงต่อวงจร (เบรดบอร์ด)                                          1 อัน
2.   บอร์ด Ardunio (ใช้แรงดัน +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 ตามลําดับ)

ผังวงจร  4.4.1 


 ภาพการต่อวงจรตามรูปที่ 4.4.1  

ภาพการต่อวงจรบนเบรดบอร์ด



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


โค้ดตัวอย่างสำหรับ Ardunio


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


ภาพวงจร

บันทึกผลการทดลอง

จากการทดลองข้อที่ 2 : ผลคือ LED ไม่ติด เนื่องจากใน code คำสั่งไม่มีการกำหนดค่าให้ไฟให้ติด แต่เมื่อสังเกตจากข้อความที่ถูกส่งออกมาจาก Ardunio แล้วพบว่า ค่าที่ออกมา ยกตัวอย่างเช่น Read802, 954 ค่าตัวเลขข้างหลัง Read คือค่าความต้านทานของ LDR และตัวเลขข้างหลัง (,) คือ ค่าตัวต้านทานที่หมุนปรับค่าได้ (Trimport)  

จากการทดลองข้อที่ 3 : เราสามารถปรับแก้ code ตัวอย่างได้โดย สร้างเงื่อนไข ให้ LDR_PIN มีค่ามากกว่า 420 (ค่าที่ได้เกิดจากการสังเกตค่า LDR เมื่อใช้นิ้วปิดไร้แสง) ให้ LED1_PIN มี OUTPUT ที่ออกมามีค่าเป็น LOW และถ้าน้อยกว่าหรือเท่ากับ 420 ให้แสดลงผลเป็น  HIGH
ดั่งเช่น Code ต่อไปนี้

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);
  if (value1 >= 420) {
    digitalWrite (LED1_PIN, LOW);
  }
  else {
      digitalWrite (LED1_PIN, HIGH);
  }
  Serial.print ("Read");
  Serial.print (value1, DEC);
  Serial.print (",");
  Serial.println (value2, DEC);
  delay (200);
}

วีดิโอเมื่อปรับแก้ code ตามที่โจทย์บอกแล้ว

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

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

      2. จะต้องปรับแก้โค้ดอย่างไรสําหรับบอร์ด Arduino ถ้าจะทําให้ LED1 มีความสว่างมากน้อยได้ตามปริมาณแสงที่ได้รับ เช่น ถ้า LDR ได้แสงสวางน้อย จะทําให้ LED1 สว่างมาก แต่ถ้า LDR ได้แสงสว่างมาก จะทําให้ LED1 สว่างน้อย หรือไม่ติดเลย
      ตอบ  สังเกตค่าที่ Ardunio ส่งออกมา โดยสร้างเงื่อนไข ให้ LDR_PIN มีค่ามากกว่า 420 ให้ LED1_PIN มี OUTPUT ที่ออกมามีค่าเป็น LOW และถ้าน้อยกว่าหรือเท่ากับ 420 (ค่าที่ได้เกิดจากการสังเกตค่า LDR เมื่อใช้นิ้วปิดไร้แสง) ให้แสดลงผลเป็น  HIGH
ดั่งเช่น Code ต่อไปนี้

if (value1 >= 420) {
    digitalWrite (LED1_PIN, LOW);
  }
  else {
      digitalWrite (LED1_PIN, HIGH);
  }


วันพฤหัสบดีที่ 11 กันยายน พ.ศ. 2557

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

การต่อวงจรสําหรับเปรียบเทียบช่วงแรงดัน

วัตถุประสงค์ในการทดลอง

1.    ฝึกการอ่าน Data Sheet พร้อมต่อวงจรโดยใช้ตัวต้านทานปรับค่าได้และไอซีLM393N
2.   ใช้การเปรียบเทียบแรงดันตัวใดตัวหนึ่งภายในวงจรไอซี LM393N กับแรงดันเอาต์พุตโดยแบ่ง  เป็นสองระดับ
3.    ฝึกการใช้ออสซิโลสโคปและการต่อวงจรโดยใช้เบรดบอร์ด

อุปกรณ์ที่ใช้ในการทดลอง

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


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

1. ต่อวงจรบนเบรดบอร์ด โดยใช้ไอซีLM393N ตามผังวงจรในรูปที่4.2.1 และป้อนแรงดันไฟเลี้ยง
VCC= +5V และ Gnd จากแหล่งจ่ายควบคุมแรงดัน



ผังวงจร รูปที่ 4.2.1


 ภาพการต่อวงจรตามรูปที่ 4.2.1  
(หมายเหตุ ในการทดลองใช้ LM393 แค่ตัวเดียว ตัวอย่างการต่อนี้มีสองตัวเพียงเพื่อให้ดูเข้าใจง่าย)


ภาพการต่อวงจรบนเบรดบอร์ด



2. ใช้มัลติมิเตอร์วัดแรงดัน V1 และ V2 เทียบกับ Gnd ของวงจร ตามลําดับ แล้วจดบันทึกค่าที่ได


ภาพการมช้ทัลติมิเตอร์วัดแรงดัน V1 เทียบ GND
 ภาพการมช้ทัลติมิเตอร์วัดแรงดัน V2 เทียบ GND


3. สร้างสัญญาณแบบสามเหลี่ยม (Triangular Wave) ให้อยู่ในช่วงแรงดนั 0V ถึง 5V โดยใช้เครื่องกําเนิดสัญญาณ (Function Generator) โดยกําหนดให้Vpp = 5V (Peak-to-Peak Voltage) และแรงดัน Offset = 2.5V และความถี่ f = 1kHz เพื่อใช้เป็นสัญญาณอินพุต Vin สําหรับวงจร

ภาพการสร้างสัญญาณแบบสามเหลี่ยม โดยใช้ function Gen. และการป้อนแรงดัน 5v.



 ภาพการต่อวงจรตามภาพที่ 4.2.1 ป้อนแรงดันไเลี้ยง 5v. และ Function GEN.


4. ใช้ออสซิลโลสโคปวัดสัญญาณ โดยใช้ช่อง A สําหรับวัดสัญญาณที่มาจากเครื่องกําเนิดสัญญาณ (Vin) และช่อง B สําหรับวัดสัญญาณเอาต์พุตที่ขาหมายเลข 1 (V3) ของตัวเปรียบเทียบแรงดัน (บันทึกภาพที่ได้จากออสซลโลสโคป ิ เพื่อใช้ประกอบการเขียนรายงานการทดลอง)


 ภาพการวัดสัญญาณอินพุต และเอาต์พุตที่ V3 โดยใช้ออสซิโลสโคป



5. ใช้ออสซิลโลสโคปวัดสัญญาณ โดยใช้ช่อง A สําหรับวัดสัญญาณที่มาจากเครื่องกําเนิดสัญญาณ (Vin) และช่อง B สําหรับวัดสัญญาณเอาต์พุตที่ขาหมายเลข 7 (V4) ของตัวเปรียบเทียบแรงดัน (บันทึกภาพที่ได้จากออสซลโลสโคป  เพื่อใช้ประกอบการเขียนรายงานการทดลอง)


 ภาพการวัดสัญญาณอินพุต และเอาต์พุตที่ V3 โดยใช้ออสซิโลสโคป



6. ต่อวงจรบนเบรดบอร์ด ตามผังวงจรในรูปที่4.2.2 โดยตัวต้านทานปรับค่าได้ขนาด 10kΩ หรือ 20kΩ

ผังวงจร รูปที่ 4.2.2


 ภาพการต่อวงจรตามรูปที่ 4.2.2  
(หมายเหตุ ในการทดลองใช้ LM393 แค่ตัวเดียว ตัวอย่างการต่อนี้มีสองตัวเพียงเพื่อให้ดูเข้าใจง่าย)

 ภาพการต่อวงจรบนเบรดบอร์ด



 ภาพการต่อวงจรตามภาพที่ 4.2.2 และป้อนแรงดันไเลี้ยง 5v.


7. ใช้มัลติมิเตอร์วัดแรงดัน Vin ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้แล้วสังเกตสถานะของการติด/ดับของ LED1 ให้จดบันทึกค่าแรงดัน Vin ที่ทําให้ LED1 เกิดการเปลี่ยนสถานะติด/ดับ


ภาพการวัดแรงดันของ V1


ภาพการวัดแรงดันของ V1 เมื่อปรับแรงดันสูงสุด


บันทึกผลการทดลอง

จากวิธีการทดลองข้อที่ 2 :
จากวิธีการทดลองข้อที่ 4 :  

สัญญาณอินพุต และเอาต์พุตที่ V3 จากออสซิโลสโคป


จากวิธีการทดลองข้อที่ 5 :  

สัญญาณอินพุต และเอาต์พุตที่ V4 จากออสซิโลสโคป


จากวิธีการทดลองข้อที่ 7 :  




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

1. แรงดัน V1 และ V2 มีค่าประมาณ 1.713 v.โวลต์และ 3.422 v.โวลต์ตามลําดับ 

2. แรงดัน Vin จะต้องมีค่าอยู่ในช่วง 0 v. ถึง 80 mv.โวลต์และ 1 v. ถึง 5 v.โวลต์
จึงจะทําให้แรงดัน V3 ที่ขาหมายเลข 1 ของ LM393N (วงจรในรูปที่ 4.2.1) ได้ลอจิก LOW และ
HIGH ตามลําดับ

3. แรงดัน Vin จะต้องมีค่าอยู่ในช่วง 0 v. ถึง 120 mv. โวลต์และ 1 v. ถึง 5 v. โวลต์จึงจะทําให้แรงดัน V4 ที่ขาหมายเลข 7 ของ LM393N (วงจรในรูปที่ 4.2.1) ได้ลอจิก LOW และHIGH ตามลําดับ

4. แรงดัน Vin ที่ได้จากการหมุนปรับค่าของตัวต้านทานปรับค่าได้จะต้องมีค่าอยู่ในช่วงใด จึงจะทําให้
LED1 สว่าง
ตอบ  อยู่ในช่วง 2 v. ถึง 5 v.

วันพฤหัสบดีที่ 4 กันยายน พ.ศ. 2557

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

การสร้างสัญญาณเอาต์พุต

ตามจังหวะสัญญาณอินพุตด้วย Ardunio

วัตถุประสงค์ในการทดลอง

1. รู้วิธีการใช้เครื่องกำเนิดสัญญาณดิจิทัลแบบมีคาบ เพื่อป้อนอินพุตให้กับบอร์ด Ardunio 
2. สามารถเขียนโค้ด  Ardunio  ให้เป็นไปตามเงื่อนไขเอาพุตที่กำหนดได้
3. ฝึกการสังเกต และวิเคราะห์ การเปลี่ยนแปลงของวงจรที่เกิดขึ้นเมื่อ เพื่อความถี่ทีละ 5Hz. ไปเรื่อยๆ


อุปกรณ์ที่ใช้ในการทดลอง

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


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

1. สร้างสัญญาณดิจิทัลแบบมีคาบ (แรงดันในช่วง 0v. และ 5v. เท่านั้น ห้ามใช้แรงดันสูงกว่า หรือแรงดันเป็นลบ) มีรูปคลื่นสี่เหลี่ยม หรือแบบ Pluse (Duty Cycle = 50%) มีความถี่ 10Hz. จากเครื่องกำเนิดสัญญาณ โดยต่อผ่านตัวต้านทาน 100 หรือ 150 โอห์ม ไปยังขา D3 ของบอร์ด Ardunio เพื่อใช้เป็นอินพุต


ภาพการปรับเครื่องกำเนิดสัญญาณดิจิทัล แบบมีคาบ

ภาพการต่ออินพุตที่ขา D3 ของ Ardunio


2. ต่อวงจร LED พร้อมตัวต้านทานจำกัดกระแส ที่ขาD5 ของบอร์ด Ardunio เพื่อใช้แสดงสถานะ



ภาพการต่อวงจรไปยังขา D3 และ D5 ของ Ardunio


3. เขียนโค้ด Ardunio Sketch เพื่อทำให้หลอด LED บนแผงวงจร กระพริบตามความถี่ของสัญญาณอินพุต (อัตราการกระพริบของ LED จะต้องสอดคล้องกับความถี่ของสัญญาณอินพุต)

Ardunio
void setup() {
  pinMode(3, INPUT);
  pinMode(5, OUTPUT);
} /*กำหนดให้ D3 เป็นอินพุต และ D5 เป็นเอาต์พุต*/

void loop() {
   digitalWrite(5, digitalRead(3));

} /*กำหนดการแสดงผล โดยให้เอาต์พุตขึ้นอยู่กับสัญญาณอินพุต*/


4. ปรับความถี่ของสัญญาณอินพุตในช่วง 5Hz....20Hz (เพิ่มทีละ 5 Hz.) และใช้ออสซิโลสโคป 2 ช่องวัดสัญญาณอินพุตที่ขอ D3 และเอาต์พุตที่ขา D5 พร้อมกัน และบันทึกรูปคลื่นสัญญาณที่ได้ สำหรับความถี่ต่างๆในการทดลอง


ภาพการปรับความถี่ของสัญญาณอินพุตไปที่ 5Hz.

ใช้ออสซิโลสโคป 2 ช่องวัดสัญญาณที่ขา D3 และ D5






ภาพการปรับความถี่ของสัญญาณอินพุตไปที่ 10Hz.


ใช้ออสซิโลสโคป 2 ช่องวัดสัญญาณที่ขา D3 และ D5






ภาพการปรับความถี่ของสัญญาณอินพุตไปที่ 15Hz.


ใช้ออสซิโลสโคป 2 ช่องวัดสัญญาณที่ขา D3 และ D5






ภาพการปรับความถี่ของสัญญาณอินพุตไปที่ 20 Hz.


ใช้ออสซิโลสโคป 2 ช่องวัดสัญญาณที่ขา D3 และ D5






5. เขียนรายงานการทดลอง (เขียนโจทย์ แนวทางการทำโจทย์ ผังวงจรโดยรวมซึ่งใช้โปรแกรม Fritzing ในการวาด และโค้ด Ardunio Sketch พร้อมคำอธิบายโค้ด รูปตัวอย่างที่ได้จากการวัดสัญญาณ และ ภาพถ่ายการต่อทดลองวงจรจริง)


ผังวงจร

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


บันทึกผลการทดลอง

เมื่อปรับสัญญาณความถี่ของสัญญาณอินพุตให้สูงขึ้น จะพบว่า LED มีการกระพริบถี่ขึ้น ดังคลิปวีดิโอนี้

  • ความถี่เป็น 5Hz.
  • ความถี่เป็น 10Hz.


  • ความถี่เป็น 20 Hz.

  • ภาพที่ได้จากออสซิโลสโคปเมื่อ f = 5Hz.




  • ภาพที่ได้จากออสซิโลสโคปเมื่อ f = 10Hz.





  • ภาพที่ได้จากออสซิโลสโคปเมื่อ f = 15Hz.





  • ภาพที่ได้จากออสซิโลสโคปเมื่อ f = 20Hz.




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

การจำลองการทำงานขอลอจิกเกต

วัตถุประสงค์ในการทดลอง

1. รู้วิธีต่อวงจรโดยใช้ไอซี  74HC00N บนเบรดบอร์ดโดยศึกษาได้จาก Data Sheet ของอุปกรณ์
2. เข้าใจโค้ดและคำสั่งต่างๆ ของ Ardunio  ซึ่งสามารถเลียนแบบพฤิกรรมการทำงานของ RS Latch ได้
3. ฝึกการใช้แหล่งจ่ายแรงดัน เพื่อจ่ายแรงดันในย่านต่างๆ ให้กับวงจร

อุปกรณ์ที่ใช้ในการทดลอง

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



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

1. ต่อวงจรบนเบรดบอร์ด โดยใช้ไอซี 74HCT00N เพื่อสร้างลอจิกเกต RS Latch ตามผังวงจรในรูปที่ 3.3.1. และป้อนแรงดันไฟเลี้ยง Vcc = 5v. และ GND จากแหล่งจ่ายควบคุมแรงดัน ให้ไอซีและวงจรบนเบรดบอร์ด




ภาพการต่อวงจรตามรูปที่ 3.3.1


2. กำหนดสถานะของสัญญาณอินพุต A และ B ทั้งหมด 4 กรณี โดยการกดปุ่มค้างไว้ (LOW) หรือไม่ กดปุ่ม (HIGH) ตามตารางที่ 3.3.1 ใช้มัลติมิเตอร์วัดแรงดันของสัญญาณ Q และ /Q  รวมถึงสังเกตสถานะติด/ดับของ LED ทั้งสอง สำหรับแต่ละกรณีของอินพุต แล้วบันทึกผลที่ได้ลงในตาราง

ภาพการวัด Q โดยไม่กดปุ่มทั้ง S1 และ S2


ภาพการวัด /Q โดยไม่กดปุ่มทั้ง S1 และ S2



ภาพการวัด Q โดยไม่กดปุ่ม S1 แต่กดปุ่ม S2 ไว้



ภาพการวัด /Q โดยไม่กดปุ่ม S1 แต่กดปุ่ม S2 ไว้



ภาพการวัด Q โดยกดปุ่ม S1 แต่ไม่กดปุ่ม S2 ไว้



ภาพการวัด /Q โดยกดปุ่ม S1 แต่ไม่กดปุ่ม S2 ไว้



ภาพการวัด Q โดยกดปุ่มทั้ง S1 และ S2



ภาพการวัด /Q โดยกดปุ่มทั้ง S1 และ S2




3. ต่อวงจรตามผังวงจรในรูปที่ 3.3.2 โดยใช้บอร์ด Ardunio ปุ่มกดแบบสี่ขา ไดโอดเปล่งแสง และตัวต้านทาน และให้เขียนโปรแกรมสำหรับ Ardunio เพื่อเลียนแบบพฤติกรรมการทำงานของ RS Latch (ความสัมพันธ์ระหว่างอินพุต และเอาต์พุต) ตามที่ได้จากการทดลองในข้อที่ 2 


Ardunio Code

const byte a = 2;   /*เป็นการกำหนดตัวแปรเพื่อเป็นขาของบอร์ด Ardunio */
const byte b= 3;
const byte c = 4;
const byte d = 5;

void setup() {
    pinMode(a, INPUT);
    pinMode(b, INPUT);
    pinMode(c, OUTPUT);
    pinMode(d, OUTPUT);
}  /*เป็นการประกาศฟังก์ชั่น ที่ถูกเรียกใช้งานก่อนเสมอ โดยทำหน้าที่กำหนดขาอินพุต เอาต์พุตของบอร์ด */

void loop() {
    if (digitalRead(a)== LOW && digitalRead(b)== LOW) {
        digitalWrite(c , HIGH);
        digitalWrite(d , HIGH);
         }  /* ถ้ากด S1 และ S2 ให้ LED สว่างทั้งคุ่ */

    else {
        if (digitalRead(a)== LOW && digitalRead(b)== HIGH) {
        digitalWrite(c, HIGH);
        digitalWrite(d , LOW);
           } 
 /* ถ้ากด S1 แต่ไม่กด S2 ให้ LED1 สว่าง */
   else {
        if (digitalRead(a)== HIGH && digitalRead(b)== LOW) {
        digitalWrite(c , LOW);
        digitalWrite(d , HIGH);
         } 
 /* ถ้ากด S2 แต่ไม่กด S1 ให้ LED2 สว่าง */
   else{
        if (digitalRead(a)== HIGH && digitalRead(b)== HIGH) {//????????
        digitalWrite(c , HIGH);
        digitalWrite(d , LOW);
            } /* ถ้าไม่กดทั้ง S1 และ S2 ให้ LED1 สว่าง */
        }
     }
  }
}

ภาพการต่อวงจรตามรูปที่ 3.3.2

บันทึกผลการทดลอง

ตารางที่ 3.3.1 บันทึกผลการทดลอง


การทดลองตามภาพที่ 3.3.2


ผังวงจรการทดลอง

รูปที่ 3.3.1: ผังวงจรสำหรับสร้าง RS Latch โดยใช้เกต NAND2 


ภาพการต่อวงจรสำหรับสร้าง RS Latch โดยใช้เกต NAND2






รูปที่ 3.3.2: ผังวงจรสำหรับใช้ Ardunio เลียนแบบการทำงานของ RS Latch

 ภาพการต่อวงจรสำหรับใช้ Ardunio เลียนแบบการทำงานของ RS Latch