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








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