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

การทดลองที่ 3.3 การจำลองการทำงานของลอจิกเกต


การทดลองที่ 3.3
การจำลองการทำงานของลอจิกเกต

วัตถุประสงค์
  • ฝึกต่อวงจรโดยใช้ไอซี 74HCT00 บนเบรดบอร์ด เพื่อสร้างเป็นวงจร RS Latch
  • เขียนโปรแกรมสำหรับ Arduino เพื่อเลียนแบบบพฤติกรรมการทำงานของ RS Latch
อุปกรณ์การทดลอง
  • แผงต่อวงจร                                                1  อัน
  • บอร์ด Arduino (ใช้แรงดัน +5V)                   1 บอร์ด
  • ไอซี 74HCT00N                                         1  ตัว
  • ไดโอดเปล่งแสงขนาด 5 มม.                      2 ตัว
  • ปุ่มกดสี่ขา                                                   2  ตัว
  • ตัวต้านทาน 330Ω หรือ 470Ω                     2 ตัว
  • ตัวต้านทาน 10Ω                                         2 ตัว
  • สายไฟต่อวงจร                                           1 ชุด
  • แหล่งจ่ายควบคุมแรงดัน                             1 ชุด
  • มัลติมิเตอร์                                                  1 เครื่อง
ขั้นตอนการทดลอง
  1. ต่อวงจรบนเบรดบอร์ด  โดยใช้ไอซี 74HCT00N เพื่อสร้างลอจิกเกต RS Latch ตามผังวงจรในรูปที่ 3.3.1 และป้อนแรงดันที่ไฟเลี้ยง Vcc = 5V และ GND จากแหล่งจ่ายควบคุมแรงดัน ให้ไอซีและวงจรบนเบรดบอร์ด
  2. กำหนดสถานะของสัญญาณอินพุต A และ B ทั้งหมด 4 กรณี โดยการกดปุ่มค้างไว้(LOW) หรือ ไม่กดปุ่ม(HIGH) ตามตารางที่ 3.3.1 ใช้มัลติมิเตอร์วัดแรงดันของสัญญาณ Q และ /Q รวมถึงสังเกตสถานะติด/ดับของ LED ทั้งสอง สำหรับแต่ละกรณีของอินพุต แลัวบันทึกผลที่ได้ลงในตาราง
  3. ต่อวงจรตามผังวงจรในรูปที่ 3.3.2 โดยใช้บอร์ด Arduino ปุ่มกดแบบสี่ขา ไดโอดเปล่งแสง และตัวต้านทาน แล้วให้เขียนโปรแกรมสำหรับ Arduino เพื่อเลียนแบบพฤติกรรมการทำงานของ Rs Latch (ความสัมพันธ์ระหว่างอินพุตและเอาต์พุต) ตามที่ได้จากโจทย์การทดลองในข้อ 2



ผลการทดลอง




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

S1 S2 LED1 (ติด/ดับ) LED2 (ติด/ดับ) Q(V) /Q(V)
ไม่กดปุ่ม ไม่กดปุ่ม ติด ดับ 4.610 0
ไม่กดปุ่ม กดปุ่มค้างไว้ ดับ ติด 0 4.665
กดปุ่มค้างไว้ ไม่กดปุ่ม ติด ดับ 4.581 0
กดปุ่มค้างไว้ กดปุ่มค้างไว้ ติด ติด 4.699 4.689

-------------------------------------------*O*-------------------------------------------

โปรแกรมสำหรับ Arduino เพื่อเลียนแบบพฤติกรรมการทำงานของ Rs Latch
const byte LED_PIN = 4; //ใช้ขาหมายเลข D4 เพื่อสร้างสัญญาณดิจิทัล
const byte LED_PIN_2 = 5; //ใช้ขาหมายเลข D5 เพื่อสร้างสัญญาณดิจิทัล
const byte PB_1 = 2;  //ใช้ขาหมายเลข D2 เพื่อรับสัญญาณจาก switch ตัวที่ 1
const byte PB_2 = 3;  //ใช้ขาหมายเลข D3 เพื่อรับสัญญาณจาก switch ตัวที่ 2


void setup() {
  pinMode(PB_1,INPUT); //ใช้ PB_1 เป็นอินพุต
  pinMode(PB_2,INPUT);  //ใช้ PB_2 เป็นอินพุต
  pinMode(LED_PIN,OUTPUT);  //ใช้ขา D4 เป็นเอาต์พุต
  pinMode(LED_PIN_2,OUTPUT);  //ใช้ขา D5 เป็นเอาต์พุต
}

void loop() {
  digitalWrite(LED_PIN,(digitalRead(PB_1)==LOW)? HIGH : LOW);
//ให้เอาต์พุตที่ขา D4 เป็น HIGHT เมื่อกด switch ตัวที่ 1 (PB_1 เป็น LOW)
  digitalWrite(LED_PIN,(digitalRead(PB_2)==LOW)? LOW : HIGH);
//ให้เอาต์พุตที่ขา D4 เป็น LOW เมื่อกด switch ตัวที่ 2 (PB_2 เป็น LOW)
  digitalWrite(LED_PIN_2,(digitalRead(PB_2)==LOW)? HIGH : LOW);  
//ให้เอาต์พุตที่ขา D5 เป็น HIGHT เมื่อกด switch (PB_2 เป็น LOW)
}

      -------------------------------------------*O*-------------------------------------------

ไม่มีความคิดเห็น:

แสดงความคิดเห็น