วันศุกร์ที่ 17 ตุลาคม พ.ศ. 2557

การทดลองที่ 5.3 การต่อวงจรสวิตช์ควบคุมด้วยแสง

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

- ฝึกต่อวงจรโดยใช้อุปกรณ์สวิตช์ควบคุมด้วยแสง(Opto-Interrupter) เช่น เบอร์ H21A1
- ประยุกต์ใช้งานอุปกรณ์ชนิดนี้ร่วมกับบอร์ด Arduino

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

-  แผงต่อวงจร(เบรดบอร์ด)                1 อัน
-  อุปกรณ์สวิตช์ควบคุมด้วยแสงH21A1 หรือTCST2202    1 ตัว
-  ไดโอดเปล่งแสงสีแดงหรือสีเขียว   1 ตัว
-  ตัวต้านทาน220Ω                    1 ตัว
-  ตัวต้านทาน330Ω หรือ470Ω   1 ตัว
-  ตัวต้านทาน10kΩ                    1 ตัว
-  บัซเซอร์แบบเปียโซ(Piezo Buzzer)     1 ตัว *
-  สายไฟสําหรับต่อวงจร            1 ชุด
-  มัลติมิเตอร์                              1 เครื่อง


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

1.  ต่อวงจรบนเบรดบอร์ดตามรูปที่ 5.3.1 โดยใช้แรงดันไฟเลี้ยง +5V และ GND จากบอร์ด Arduino

ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์

2.  เขียนโค้ด Arduino เพื่อรับค่าอินพุตแบบดิจิทัลที่ขา D3(จากสัญญาณ Vout ของวงจรบนเบรด
บอร์ด) แล้วสร้ างสัญญาณเอาต์พุตที่ขา D5 เพื่อแสดงค่าของอินพุตที่รับโดยใช้ LED เป็นตัวแสดง
สถานะทางลอจิก(ถ้าไม่มีวัตถุมาปิดกั้นช่องรับแสง LED จะต้องไม่ติด)
3.  ใช้กระดาษสีดําปิดกั้น(หรือวัตถุอื่น เช่น ไม้บรรทัดเหล็ก) บริเวณช่องรับแสงของอุปกรณ์สวิตช์
ควบคุมด้วยแสง สังเกตความแตกต่างระหว่างกรณีที่มีวัตถุปิดกั้นและไม่มี (เช่น ใช้มัลติมิ เตอร์วัด
แรงดัน Vout)
4.  ทดลองต่อบัซเซอร์แบบเปียโซ(สร้างเสียงเตือน) แทนวงจร LED ในวงจรบนเบรดบอร์ด(โดยนําไปต่อ
อนุกรมกับตัวต้านทานขนาด330Ω และให้ สังเกตว่า บัซเซอร์แบบเปียโซมีขาบวกและขาลบ)
5.  แก้ไขโค้ด Arduino เพื่อนับเวลาตั้งแต่เริ่มนํากระดาษไปปิดกั้นจนถึงเมื่อนํากระดาษออกในแต่ละครั้ง
โดยวัดช่วงเวลาเป็นหน่วยมิลลิวินาที(msec) และให้แสดงผลออกทางพอร์ตอนุกรมผ่านทาง Serial
Monitor ของ Arduino IDE(ให้ศึกษาการใช้คําสั่ง millis() สําหรับการเขียนโค้ด Arduino)
6.  เขียนรายงานการทดลอง ซึ่ งประกอบด้วยคําอธิ บายการทดลองตามขั้ นตอน ผั งวงจรที่ถูกต้อง
ครบถ้วนตามหลักไฟฟ้ า(ให้วาดด้วยโปรแกรมCadsoft Eagle) รูปถ่ายของการต่ อวงจรบน
เบรดบอร์ด และตอบคําถามท้ายการทดลอง

ผลการทดลอง

ภาพวงจร แบบ วงจร Schemetic


ภาพวงจร แบบ Breadboard View




เมื่อ ไม่มีวัตถุมาปิดกั้นช่องรับแสง LED ดับ
เมื่อ มีวัตถุมาปิดกั้นช่องรับแสง LED ติด

























ภาพวงจร แบบ วงจร Schemetic


ภาพวงจร แบบ Breadboard View










ระยะเวลาของเสียงที่ดังออกมา หน่วยเป็น millisecond


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

1.  จากการทดลองพบว่า จะวัดแรงดัน Vout ได้เท่ากับ  0.109 โวลต์ เมื่อไม่มีวัตถุไปปิดกั้นช่องรับแสง
ของอุปกรณ์ H21A1 และจะวัด Vout ได้เท่ากับ   4.971  โวลต์ เมื่อมีวัตถุไปปิดกั้นช่องรับแสง
ของอุปกรณ์ดังกล่าว

2.  ถ้านํากระดาษสีขาวและกระดาษสีดํา ไปปิดกั้นช่องรับแสง ในแต่ละกรณี จะให้ ผลการทํางานของ
วงจรที่แตกต่างกันหรือไม่ จงอธิบาย
ไม่มีผลเนื่องจากวัตถุทั้งสองชนิดที่ใช้เป็นวัตถุทึบแสงทำให้เมื่อนำไปกั้นระหว่างช่องรับแสงแล้วจะทำให้แสงอินฟาเรดไม่สามารถผ่านไปฝั่งรับแสงได้

วันศุกร์ที่ 3 ตุลาคม พ.ศ. 2557

การทดลองที่ 5.2 การตรวจจับวัตถุในระยะใกล้ด้วยแสงอินฟราเรด

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

-  ฝึกต่อวงจรโดยใช้ไดโอดเปล่งแสงอินฟราเรดและโฟโต้ทรานซิสเตอร์
-  ประยุกต์ใช้งานอุปกรณ์ทั้งสองชนิดร่วมกับบอร์ด Arduino เพื่อใช้ตรวจจับวัตถุในระยะใกล้

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

-  แผงต่อวงจร(เบรดบอร์ด)          1 อัน
-  ไดโอดเปล่งแสงอินฟราเรด       1 ตัว
-  ไดโอดเปล่งแสงสีแดงหรือสีเขียว          1 ตัว
-  โฟโต้ทรานซิสเตอร์                  1 ตัว
-  ตัวต้านทาน220Ω                      1 ตัว
-  ตัวต้านทาน330Ω หรือ470Ω     1 ตัว
-  ตัวต้านทาน10kΩ                      1 ตัว
-  ตัวเก็บประจุแบบElectrolytic 1uF หรือ10uF (มีขั้ว) 1 ตัว
-  สายไฟสําหรับต่อวงจร              1 ชุด
-  มัลติมิเตอร์1 เครื่อง

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

1.  ออกแบบวงจร(วาดผังวงจร) โดยใช้ไดโอดเปล่งแสงอินฟราเรดและโฟโต้ทรานซิสเตอร์1 ชุด พร้อม
ตัวต้านทานตามที่กําหนดให้ แล้วนําสัญญาณเอาต์พุตของวงจรส่วนนี้ ไปต่อเข้าที่ขาอินพุตA1 ของ
บอร์ด Arduino และให้มีวงจรไดโอดเปล่งแสง(LED) พร้อมตัวต้านทานจํากัดกระแส 330Ω หรือ
470Ω ที่ต่อกับขาเอาต์พุต D5 ของบอร์ด Arduino เพื่อใช้เป็นเอาต์พุตในการแสดงผล
2.  ต่อวงจรตามผังวงจรที่ได้วาดไว้บนเบรดบอร์ด ให้ใช้ แรงดันไฟเลี้ยง VCC=+5V และGnd
จากบอร์ด Arduino เท่านั้น
3.  เขียนโค้ดสําหรับ Arduino ให้แสดงพฤติกรรมดังนี้ เมื่อมี วัตถุเข้าใกล้(อยู่เหนือ) ตัวส่งและตัวรับแสง
อินฟราเรดของวงจร(เช่น ที่ระยะห่างประมาณ10 cm หรือน้อยกว่า) จะทําให้ LED เริ่มกระพริบ
ด้วยความถี่ต่ํา(อย่างช้าๆ) แต่ถ้าวัตถุเข้าใกล้มากขึ้น LED จะกระพริบด้วยความถี่สูงขึ้น แต่ถ้าไม่มี
วัตถุอยู่ในระยะใกล้ LED จะต้องไม่ติด(ไม่กระพริบ) ให้ทดลองกับวัตถุต่างสีกัน เช่น สี ขาวและสีดํา
4.  เขียนรายงานการทดลอง ซึ่ งประกอบด้วยคําอธิ บายการทดลองตามขั้ นตอน ผั งวงจรที่ถูกต้อง
ครบถ้วนตามหลักไฟฟ้ า(ให้วาดด้วยโปรแกรมCadsoft Eagle) รูปถ่ายของการต่ อวงจรบน
เบรดบอร์ด และตอบคําถามท้ายการทดลอง

ผลการทดลอง












ผลการทำงานจากวงจรและโค้ด




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

1.  ในการทดลอง ถ้าใช้วัตถุต่างสีกัน จะมีผลต่อการทํางานของวงจรที่แตกต่างกันหรือไม่ จงอธิบาย
- แตกต่างกันเนื่องจากวัตถุสีขาวจะสะท้อนแสงขาวออกมาทำให้โฟโต้ทรานซิสเตอร์ได้รับแสงเพิ่มมากขึ้น แต่วัตถุสีดำจะดูดกลืนแสงขาวทำให้เมื่อนำวัตถุดำไปใกล้โฟโต้ทรานซิสเตอร์จะทำให้ได้รับแสงน้อยกว่าวัตถุสีขาว

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

การทดลองที่ 4.7 การสร้างวงจรสร้างและควบคุมแรงไฟฟ้ากระแสตรงแบบปรับค่าได้

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

- ฝึกออกแบบและต่อวงจรสร้างและควบคุมแรงดันไฟฟ้ากระแสตรงแบบปรับค่าได้ โดยใช้ไอซี
LM317T เพื่อใช้เป็นแหล่งจ่ายให้วงจรอิเล็กทรอนิกส์

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

- แผงต่อวงจร (เบรดบอร์ด) 1 อัน
- ไอซี LM317T   1 ตัว
- ตัวเก็บประจุ 0.1uF และ 10uF อย่างละ   1 ตัว
- ตัวต้านทานค่าคงที่ เลือกค่าในช่วง 220Ω ถึง 1kΩ   1 ตัว
- ตัวต้านทานปรับค่าได้แบบสามขา 4.7kΩ หรือ 10kΩ    1 ตัว
- ไดโอด 1N4001 อย่างน้อย   1 ตัว
- สายไฟสำหรับต่อวงจร   1 ชุด
- แหล่งจ่ายแรงดันควบคุม   1 เครื่อง
- มัลติมิเตอร์   1 เครื่อง

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

1. ออกแบบวงจร วาดผังวงจร และต่อวงจรบนเบรดบอร์ด เพื่อสร้างวงจรควบคุมแรงดันแบบปรับค่าได้
โดยใช้ไอซี LM317T และอุปกรณ์ตามรายการที่ได้ระบุไว้ (ศึกษาตัวอย่างวงจรได้จากดาต้าชีท
LM317T และจากอินเทอร์เน็ต)
ที่มา  :   http://vakits.com/lm317t-adjustable-voltage-regulator

2. ใช้แรงดันจากแหล่งจ่ายภายนอก โดยป้อนแรงดัน +9V เป็นแรงดันอินพุต และปรับค่าตัวต้านทาน
ปรับค่าได้ในวงจร ให้ได้แรงดันเอาต์พุต +5V และ +3.3V ตามลำดับ ตรวจสอบและวัดระดับแรงดัน
เอาต์พุตด้วยมัลติมิเตอร์

ผลการทดลอง


ภาพวงจร แบบ Breadboard View 




ค่า แรงดัน Vout  =  3.311 V  ค่าความต้านทาน  =  973 



ค่า แรงดัน Vout  =  5.048  V     ค่าความต้านทาน  =  522.7 



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

การทดลองที่ 4.3 การต่อวงจรตัวต้านทานไวแสงและตรวจวัดการเปลี่ยนแปลงของปริมาณแสง

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

1. ฝึกต่อวงจรโดยตัวต้านทานไวแสง (LDR) ร่วมกับไอซีเปรียบเทียบแรงดัน เบอร์ LM393N และใช้เป็น
อุปกรณ์ตรวจจับการเปลี่ยนแปลงปริมาณแสง


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

- แผงต่อวงจร (เบรดบอร์ด)        1 อัน
- ไอซีเปรียบเทียบแรงดัน เบอร์ LM393N              1 ตัว
- ตัวต้านทานปรับค่าได้แบบสามขา ขนาด 10kΩ หรือ 20kΩ            1 ตัว
- ตัวต้านทานไวแสง               1 ตัว
- ตัวต้านทาน 330Ω หรือ 470Ω               1 ตัว
- ตัวต้านทาน 4.7kΩ                 1 ตัว
- ตัวต้านทาน 10kΩ                   1 ตัว
- ทรานซิสเตอร์ NPN เบอร์ PN2222A                    1 ตัว
- สายไฟสำหรับต่อวงจร                     1 ชุด
- มัลติมิเตอร์                    1 เครื่อง

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

1. ใช้มัลติมิเตอร์วัดค่าความต้านทานของตัวต้านทานไวแสง (LDR) ในสภาวะแสงที่แตกต่างกันในสาม
ระดับ (ปริมาณแสงน้อย ปานกลาง และมาก) แล้วจดบันทึกค่าที่วัดได้ สังเกตการเปลี่ยนแปลงของค่า
ความต้านทานเมื่อปริมาณแสงเปลี่ยน
2. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.1 แล้ววัดแรงดัน Vx ในสภาวะแสงที่แตกต่างกัน (ปริมาณแสง
น้อย ปานกลาง มาก) แล้วจดบันทึกค่าที่วัดได้ สังเกตการเปลี่ยนแปลงของระดับแรงดันเมื่อปริมาณ
แสงเปลี่ยน
ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์

3. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.2 (แบบที่ 1) โดยใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd
จากแหล่งจ่ายแรงดันควบคุม ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ และวัดแรงดัน Vref ที่ได้
สังเกตสถานะติด/ดับของ LED
ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์
4. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.3 (แบบที่ 2) โดยใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd
จากแหล่งจ่ายแรงดันควบคุม ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ และวัดแรงดัน Vref ที่ได้
สังเกตสถานะติด/ดับของ LED
ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์
5. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.4 (แบบที่ 3) โดยใช้แรงดันไฟเลี้ยง +5V +9V และ Gnd
จากแหล่งจ่ายแรงดันควบคุม ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ เพื่อให้ LED “สว่าง”
เมื่อปริมาณแสงน้อย และให้ LED “ไม่ติด” เมื่อปริมาณแสงมาก
ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์
6. เขียนรายงานการทดลอง ซึ่งประกอบด้วยคำอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง
ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบน
เบรดบอร์ด และตอบคำถามท้ายการทดลอง


ผลการทดลอง

แสงปานกลาง มีค่าความต้านทาน 1.955 k

แสงน้อย มีค่าความต้านทาน 36.9 k
แสงมาก มีค่าความต้านทาน 429.5 k




















สรุป  ปริมาณแสงที่รับของ LDR มีผลคือ เมื่อได้รับแสงมากจะให้ความต้านทานมาก แต่ถ้าได้รับแสงน้อย ค่าความต้านทานก็จะน้อยลง

วงจร 4.3.1

แสงปานกลาง    Vref =  4.141 V

แสงน้อย   Vref =  1.155 V
แสงมาก    Vref =  4.912 V
 สรุป  ปริมาณแสงที่รับของ LDR มีผลคือ เมื่อได้รับแสงมากจะทำให้แรงดันมาก แต่ถ้าได้รับแสงน้อย แรงดันก็จะน้อยลง
วงจร 4.3.2 แบบที่ 1























วงจร 4.3.3 แบบที่  2









วงจร 4.3.4







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

1. ค่าความต้านทานของ LDR จะเปลี่ยนแปลงอย่างไร เมื่อปริมาณแสงเปลี่ยน และค่าความ
ต้านทานของ LDR ที่ได้จากการทดลอง จะอยู่ในช่วงใด
- ค่าความต้านทานของ LDR จะเพิ่มขึ้นเมื่อปริมาณแสงมากขึ้น จากการทดลอง คือช่วง 1.955 kΩ -492.5 k
2. สำหรับวงจรแบบที่ 1 และ 2 แรงดัน Vx จะเปลี่ยนแปลงอย่างไร เมื่อปริมาณแสงเปลี่ยน
(เปลี่ยนจากปริมาณแสงน้อยเป็นปริมาณแสงมาก)
 งจรแบบที่ 1 เมื่อ LDR รับแสงมากขึ้น  >> จะทำให้ค่า Vx มากขึ้น
    วงจรแบบที่ 2 เมื่อ LDR รับแสงมากขึ้น  >> จะทำให้ค่า Vx น้อยลง
3. สำหรับวงจรแบบที่ 3 การปรับค่าแรงดัน Vref โดยใช้ตัวต้านทานปรับค่าได้ในวงจร มีผลอย่างไร
ต่อการติดหรือดับของ LED
-  เมื่อปรับค่า Vref  ให้น้อยลงจะทำให้ LED ติด

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

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

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

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

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

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

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

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

ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์


2. ใช้มัลติมิเตอร์วัดแรงดัน V1 และ V2 เทียบกับ Gnd ของวงจร ตามลําดับ แล้วจดบันทึกค่าที่ได้
3. สร้างสัญญาณแบบสามเหลี่ยม (Triangular Wave) ให้อยู่ในช่วงแรงดนั 0V ถึง 5V โดยใช้เครื่อง
กําเนิดสัญญาณ (Function Generator) โดยกําหนดให้ Vpp = 5V (Peak-to-Peak Voltage) และ
แรงดัน Offset = 2.5V และความถี่ f = 1kHz เพื่อใช้เป็นสัญญาณอินพุต Vin สําหรับวงจร 
4. ใช้ออสซิลโลสโคปวัดสัญญาณ โดยใช้ช่อง A สําหรับวัดสัญญาณที่มาจากเครื่องกําเนิดสัญญาณ (Vin) 
และช่อง B สําหรับวัดสัญญาณเอาต์พุตที่ขาหมายเลข 1 (V3) ของตัวเปรียบเทียบแรงดัน (บันทึกภาพ
ที่ได้จากออสซลโลสโคป ิ เพื่อใช้ประกอบการเขียนรายงานการทดลอง) 
5. ใช้ออสซิลโลสโคปวัดสัญญาณ โดยใช้ช่อง A สําหรับวัดสัญญาณที่มาจากเครื่องกําเนิดสัญญาณ (Vin) 
และช่อง B สําหรับวัดสัญญาณเอาต์พุตที่ขาหมายเลข 7 (V4) ของตัวเปรียบเทียบแรงดัน (บันทึกภาพ
ที่ได้จากออสซิลโลสโคป เพื่อใช้ประกอบการเขียนรายงานการทดลอง) 
6. ต่อวงจรบนเบรดบอร์ด ตามผังวงจรในรูปที่ 4.2.2 โดยตัวต้านทานปรับค่าได้ขนาด 10kΩ หรือ 20kΩ
ที่มา : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์
7. ใช้มัลติมิเตอร์วัดแรงดัน Vin ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ แล้วสังเกตสถานะของการ
ติด/ดับของ LED1 ให้จดบันทึกค่าแรงดัน Vin ที่ทําให้ LED1 เกิดการเปลี่ยนสถานะติด/ดับ 
8. เขียนรายงานการทดลอง ซงประกอบด้วยคําอธบายการทดลองตามขั้นตอนผังวงจร ที่ถูกต้อง
ครบถ้วนตามหลักไฟฟา้ (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการตอวงจรบน ่ 
เบรดบอร์ด รปคลลื่นสัญญาณที่วัดได้จากออสซิลโลสโคปตามโจทย์การทดลอง และตอบคําถาม
ท้ายการทดลอง 

ผลการทดลอง

สัญญาณที่จุด V3

สัญญาณที่จุด V4







ต่อวงจรในรูป 4.2.1

V1 = 1.67 V
V2 = 3.348 V
 

    


วงจรในรูป 4.2.2 ช่วง แรงดันที่ทำให้ LED ติด ประมาณ 5 V - 3.295 V และ  1.629  V- 1.1 V
                           ช่วง แรงดันที่ทำให้ LED ดับ  ประมาณ  3.295 V - 1.629 V และ 1.1 V - 0 V


                   



วงจร Breadboard ในรูป 4.2.1

วงจร Schemetic ในรูป 4.2.1


วงจร Breadboard ในรูป 4.2.2


วงจร Schemetic ในรูป 4.2.2



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

1. แรงดัน V1 และ V2 มีค่าประมาณ 1.67  โวลต์ และ  3.348  โวลต์ ตามลําดับ 
2. แรงดัน Vin จะต้องมีค่าอยู่ในช่วง 5   ถึง  3.295 โวลต์ และ 1.629  ถึง  1.1  โวลต์ 
จึงจะทําให้แรงดัน V3 ที่ขาหมายเลข 1 ของ LM393N (วงจรในรูปที่ 4.2.1) ได้ลอจิก LOW และ 
HIGH ตามลําดับ 
3. แรงดัน Vin จะต้องมีค่าอยู่ในช่วง 3.295 ถึง 1.629 โวลต์ และ 1.1 ถึง 0  โวลต์
จึงจะทําให้แรงดัน V4 ที่ขาหมายเลข 7 ของ LM393N (วงจรในรูปที่ 4.2.1) ได้ลอจิก LOW และ 
HIGH ตามลําดับ 
4. แรงดัน Vin ที่ได้จากการหมุนปรับค่าของตัวต้านทานปรับค่าได้ จะต้องมีค่าอยู่ในช่วงใด จึงจะทําให้ 
LED1 สว่าง
- 1.629  - 5 V

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

การทดลองที่ 3.2 การใช้อุปกรณ์ 7-Segment Display เพื่อแสดงตัวเลข BCD

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

1. ฝึกต่อวงจรโดยใช้อุปกรณ์ 7-Segment Display บนเบรดบอร์ด และใช้งานร่วมกับบอร์ด Arduino
2. เขียนโปรแกรม Arduino เพื่อแสดงตัวเลข โดยใช้อุปกรณ์ 7-Segment Display

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

- แผงต่อวงจร (เบรดบอร์ด)                       1 อัน
- บอร์ด Arduino (ใช้แรงดันลอจิก +5V)     1 บอร์ด
- อุปกรณ์ 7-Segment Display                      1 ตัว
- ปุ่มกดแบบสี่ขา                                        1 ตัว
- ตัวต้านทาน 330Ω หรือ 470Ω                 7 ตัว
- ตัวต้านทาน 1kΩ                                     1 ตัว
- ตัวต้านทาน 10kΩ                                   1 ตัว
- ทรานซิสเตอร์ NPN เบอร์ PN2222A      1 ตัว
- สายไฟสําหรับต่อวงจร                            1 ชุด

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

1. ศึกษาการใช้งาน และตำแหน่งของขาต่างๆ ของอุปกรณ์ 7-Segment Display (ใช้แบบ Common-
Cathode) จากเอกสาร (ดาต้าชีทของผู้ผลิต) วาดรูปอุปกรณ์ ระบุขาต่างๆ และการกำหนดสถานะ
LOW หรือ HIGH ที่ขาเหล่านั้น เพื่อให้สามารถแสดงตัวเลขในแต่ละกรณีได้ระหว่าง 0 ถึง 9

 ที่มา : http://www.microtivity.com/p/IS211/7-segment-led-display-2-digit-red-static-common-cathode-pack-of-2

2. ต่อตัวต้านทาน 330Ω หรือ 470Ω จำนวน 7 ตัว แบบอนุกรมกับขา a, b, c, d, e, f, g แต่ละขาของ
อุปกรณ์ 7-Segment Display ตามผังวงจรในรูปที่ 3.2.1
credit : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์


3. ต่อขา CC (Common Cathode) ไปยัง Gnd ของวงจร
4. เชื่อมต่อขา D3, D4, D5, D6, D7, D8, D9 ของบอร์ด Arduino ไปยังขา a, b, c, d, e, f, g ของ
อุปกรณ์ 7-Segment Display (ผ่านตัวต้านทาน 330Ω หรือ 470Ω ที่ต่ออนุกรมอยู่สำหรับแต่ละขา)
5. เขียนโค้ดตามตัวอย่างโดยใช้ Arduino IDE แล้วทำขั้นตอนคอมไพล์และอัพโหลดโปรแกรมไปยังบอร์ด Arduino
credit : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์


8. ตรวจสอบความถูกต้องของวงจรบนเบรดบอร์ดก่อน เมื่อถูกต้องแล้ว จึงเชื่อมต่อ +5V และ Gnd
จากบอร์ด Arduino ไปยังเบรดบอร์ด เพื่อใช้เป็นแรงดันไฟเลี้ยง (VCC และ GND) และไม่ต้องใช้
แหล่งจ่ายควบคุมแรงดันจากภายนอก ให้ระวังการต่อสลับขั้วสายไฟ และระวังการต่อถึงกันทางไฟฟ้า
ของสายไฟทั้งสองเส้น
6. แก้ไขโค้ดสำหรับ Arduino ให้สามารถแสดงตัวเลขตั้งแต่ 0 ถึง 9 แล้ววนซ้ำ โดยเว้นระยะเวลาในการ
เปลี่ยนเป็นตัวเลขถัดไปประมาณ 1 วินาที
7. แก้ไขวงจร โดยต่อวงจรตามผังวงจรในรูปที่ 3.2.3 ให้สังเกตว่า มีการต่อวงจรปุ่มกดแบบ Pull-up
เพื่อใช้เป็นอินพุต-ดิจิทัลให้บอร์ด Arduino และมีการต่อวงจรทรานซิสเตอร์แบบ NPN เพื่อใช้ควบคุม
การไหลของกระแสจากขา CC ของ 7-Segment Display ผ่านตัวทรานซิสเตอร์ NPN จากขา
Collector (C) ไปยังขา Emitter (E) และ GND ของวงจรตามลำดับ
credit : เอกสารประกอบการเรียน Logic Design of Digital System ,ดร. เรวัต  ศิริโภคาภิรมย์


8. แก้ไขโค้ดสำหรับ Arduino เพื่อให้แสดงตัวเลขตั้งแต่ 0 ถึง 9 แล้ววนซ้ำ โดยเว้นระยะเวลาในการ
เปลี่ยนเป็นตัวเลขถัดไปประมาณ 1 วินาที แต่จะแสดงผลก็ต่อเมื่อกดปุ่ม PB1 ค้างไว้ แต่ถ้าไม่กด
จะต้องไม่แสดงผลตัวเลขใดๆ (ไม่ติด)


ผลการทดลอง

Example Code Arduino






Code Arduino : 0-9 Digit ( 1 sec )







Code Arduino : Pressed SW to count digit 0-9 






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

1. วงจรทรานซิสเตอร์แบบ NPN ในวงจรนี้ใช้เพื่อวัตถุประสงค์ใด จงอธิบายหลักการทำงาน

- ทรานซิสเตอร์มีหน้าที่ ในการควบคุมการไหลของแรงดันซึ่งเป็นการควบคุมการติด/ดับของ 7-Segment Display ในวงจรนี้ โดยเมื่อทำการกดปุ่มจะทำให้เกิดแรงดันขึ้นที่ ขา  B จึงทำให้ กระแสจะไหลจาก C ไป E ได้ ทำให้วงจรทำงานได้ แต่เมื่อไม่กดปุ่มขา B ไม่รับแรงดัน ทำให้ กระแสจากขา C ไหลผ่านไปไม่ได้ 


2. ถ้าจะใช้ 7-Segment Display สองหลักพร้อมกัน เช่น เพื่อแสดงผลเป็นตัวเลข “00” ถึง “99”
โดยเพิ่มขึ้นทีละหนึ่ง ทุกๆ 1 วินาที (1000 มิลลิวินาที) แล้ววนกลับไปที่ “00” ใหม่ได้ จะต้อง
ออกแบบวงจร และเขียนโค้ด Arduino ควบคุมอย่างไร


Code Arduino :
const byte SEVEN_SEG[7] = {0,1,2,3,4,5,6}; 
const byte SEVEN_SEG2[7] = {7,8,9,10,11,12,13}; 
const byte DIGIT_7SEG[] ={
 B00111111, //0
 B00000110, //1
 B01011011, //2
 B01001111, //3
 B01100110, //4
 B01101101, //5
 B01111100, //6
 B00000111, //7
 B01111111, //8
 B01101111  //9
 };
byte count = 0; 

void setup() { 
  for (int i=0; i < 7; i++) { 
    pinMode( SEVEN_SEG2[i], OUTPUT ); 
    digitalWrite( SEVEN_SEG2[i], HIGH ); 
  }  
  for (int i=0; i < 7; i++) { 
    pinMode( SEVEN_SEG[i], OUTPUT ); 
    digitalWrite( SEVEN_SEG[i], HIGH ); 
  }



void loop() { 
    displayDigit(0, count%10); 
    displayDigit(1, (count-(count%10))/10); 
    count = (count+1) % 100; 
    delay(1000); 


void displayDigit(int switch_digi, byte value) { 
  if ( 0 <= value && value < 10 ) { 
    byte value = DIGIT_7SEG[ count ]; 
    if(switch_digi == 0){ 
      for (int i=0; i<8; i++) {  
        digitalWrite(SEVEN_SEG[i], (value & 1) );
        value>>= 1; 
      } 
    }else{ 
      for (int i=0; i<8; i++) {  
        digitalWrite(SEVEN_SEG2[i], (value & 1) );
        value>>= 1; 
      } 
    }
  } 
}