วันพฤหัสบดีที่ 22 มีนาคม พ.ศ. 2561

ใบงานที่ 3 การแสดงค่าความเข้มของแสงด้วย 7 - segment


ผู้จัดทำ
1.นางสาวณัฐธิชา ชนเก่าน้อย 011
2. นางสาวกุลจิรา      ทองคง 003


 LDR : Light Dependent Resistor) 
                   
แอลดีอาร์ (LDR : Light Dependent Resistor)  คือ ความต้านทานชนิดที่ไวต่อแสง กล่าวคือ ตัวความต้านทานนี้สามารถเปลี่ยนสภาพทางความนำไฟฟ้า ได้เมื่อมีแสงมาตกกระทบ บางครั้งเรียกว่าโฟโตรีซีสเตอร์ ( Photo  Resistor)   หรือ โฟโตคอนดัคเตอร์   (Photo Conductor)   เป็นตัวต้านทานที่ทำมาจากสารกึ่งตัวนำ  
(Semiconductor)   ประเภทแคดเมี่ยมซัลไฟด์ ( Cds : Cadmium Sulfide)   หรือแคดเมี่ยมซิลินายส์ ( CdSe : Cadmium Selenide)   ซึ่งทั้งสองตัวนี้ก็เป็นสารประเภทกึ่งตัวนำ เอามาฉาบลงบนแผ่นเซรามิกที่ใช้เป็นฐานรองแล้วต่อขาจากสารที่ฉาบ ไว้ออกมา
รูปที่ 1 โครงสร้าง LDR

รูปร่างของ LDR ในรูปที่ 1 ส่วนที่ขดเป็นแนวเล็กๆสี ดำทำหน้าที่เป็นตัวต้านทานไวแสง และ แนวสีดำ นั้นจะแบ่งพื้นที่ของตัวมันออกเป็น 2 ข้าง สีทองนั้น เป็นตัวนำไฟฟ้าที่ทำหน้าที่สัมผัส กับตัวต้านทานไวแสง เป็นที่สำหรับต่อขาออกมาภายนอก หรือ เรียกว่าอิเล็กโทรด ที่เหลือก็จะเป็นฐานเซรามิก และ อุปกรณ์ สำหรับห่อหุ้มมัน ซึ่งมีได้หลายแบบ
สมบัติทางแสง การทำงานของ LDR เพราะว่าเป็นสารกึ่งตัวนำ เวลามีแสงตกกระทบลงไปก็จะถ่ายทอดพลังงาน ให้กับสาร ที่ฉาบอยู่ ทำให้เกิดโฮลกับอิเล็กตรอนวิ่งกันพล่าน. การที่มีโฮล กับอิเล็กตรอนอิสระนี้มากก็เท่ากับ ความต้านทานลดลงนั่นเอง ยิ่ง ความเข้มของแสงที่ตกกระทบมากเท่าไร ความต้านทานก็ยิ่งลดลงมากเท่านั้น
รูปที่ 2 ตัวอย่างกราฟแสดงความไวต่อแสงความถี่ต่าง ๆ ของ LDR ทั้ง 2 แบบ เมื่อเทียบกับความไวของตาคน
ในส่วนที่ว่าแสงตกกระทบนั้น มิใช่ว่าจะเป็นแสงอะไรก็ได้ เฉพาะแสงในช่วงความยาวคลื่นประมาณ 4,000 อังสตรอม ( 1 อังสตรอม เท่ากับ 10 - 10 เมตร ) ถึงแระมาณ 10,000 อังสตรอมเท่านั้นที่จะใช้ได้ ( สายตาคนจะเห็นได้ ในช่วงประมาณ 4,000 อังสตรอม ถึง 7,000 อังสตรอม ) ซึ่งคิดแล้วก็เป็นช่วงคลื่นเพียงแคบ ๆ


เมื่อเทียบกับการทำงาน ของอุปกรณ์ไวแสง ประเภทอื่น ๆ แต่ถึงอย่างไรแสงในช่วงคลื่นนี้ ก็มีอยู่ในแสงอาทิตย์ แสงจากหลอดไฟแบบไส้ และ แสงจากหลอดฟลูออเรสเซนต์ ด้วย หรือ ถ้าจะคิดถึงความยาวคลื่น ที่ LDR จะตอบสนองไวที่สุดแล้ว ก็มีอยู่หลาย ความยาวคลื่น โดยทั่วไป LDR ที่ทำจากแคดเมียมซัลไฟด์ จะไวต่อแสงที่มีความยาวคลื่นในช่วง 5,000 กว่า อังสตรอม. ซึ่งเราจะเห็นเป็นสีเขียว ไปจนถึงสีเหลือง สำหรับ บางตัวแล้ว ความ ยาวคลื่นที่ไวที่สุดของมันใกล้เคียงกับความยาวคลื่นที่ไวที่สุดของตาคนมาก ( ตาคนไวต่อความ ยาวคลื่น ประมาณ 5,550 อังสตรอม ) จึงมักจะใช้ทำเป็นเครื่องวัดแสง ในกล้องถ่ายรูป ถ้า LDR ทำจาก แคดเมียมซีลิไนด์ก็จะไวต่อ ความ ยาวคลื่นในช่วง 7,000 กว่า อังสตรอม ซึ่งไปอยู่ใน ช่วงอินฟราเรดแล้ว
ผลตอบสนองทางไฟฟ้า
อัตราส่วนระหว่างความต้านทานของ LDR ในขณะที่ไม่มีแสง กับขณะที่มีแสง อาจจะเป็นได้ตั้งแต่ 100 เท่า 1,000 เท่า หรือ 10,000 เท่า แล้วแต่รุ่น แต่โดยทั่วไปแล้วค่าความต้านทานในขณะที่ไม่มีแสงจะอยู่ในช่วง ประมาณ 0.5 MW ขึ้นไป ในที่มืดสนิทอาจขึ้นไปได้มากกว่า 2 MW และ ในขณะที่มีแสงจะเป็นประมาณ 10 - 20kW ลง ไป อาจจะเหลือเพียงไม่กี่โอห์ม หรือ ไม่ถึงโอห์มก็ได้. ทนแรงดันสูงสุดได้ไม่ต่ำกว่า 100 V และ กำลังสูญเสีย อย่างต่ำประมาณ 50 mW
รูปที่ 3 ผลของการเปลี่ยนความเข้มแสงในทันทีทันใดกับ LDR
นอกเหนือจากลักษณะสมบัติต่างๆ เหล่านี้แล้วยังมีอีกอย่างหนึ่งที่สำคัญ คือ ปรากฏการณ์ที่เกิดขึ้นจากความ เข้มแสดง เปลี่ยนแปลงอย่างฉับพลัน ซึ่งจะดูตัวอย่างได้ในรูปที่ 3 ถ้า LDR ได้รับแสงที่มีความเข้มสูงดังเส้น ( ก ) ความต้านทานจะมีค่า ต่ำ และ ในทันทีที่ความเข้มของแสงถูกลดลงหลือเพียงระดับอ้างอิง ความต้านทานก็จะค่อยๆ เพิ่มขึ้นไปจนถึงค่าความต้านทาน ที่มันควรจะเป็นในระดับอ้างอิง. แต่แทนที่มันจะไปหยุดอยู่ระดับอ้างอิง มันกลับ เพิ่มเลยขึ้นไปอีกแล้วจึงจะลดลงมาอยู่ในระดับ อ้างอิง เหมือนกับว่า เบรกมันไม่ค่อยดี และ ในทำนองเดียวกันถ้า เก็บมันไว้ในที่ความเข้มแสงน้อยๆ แล้วเปลี่ยนความเข้มเป็นระดับ อ้างอิงทันที ดังในรูป (ข ) ความต้านทานก็จะลด เลยต่ำลงมาจากระดับอ้างอิงแล้วจึงขึ้นไปใหม่ ยิ่งความเข้มของแสงเท่ากัน LDR แบบแคดเมียมซีนิไนด์ จะใช้เวลา ในการเข้าสู่สภาวะที่มันควรจะเป็นน้อยกว่า แบบ แคดเมียมซัลไฟต์ แต่ก็จะวิ่งเลยไปไกลกว่าด้วย และ อีกอย่างหนึ่ง ความเร็วในการเปลี่ยนระดับความต้านทานจากค่าหนึ่งไปอีกค่า

หนึ่งช้ามาก. ซึ่งจะอยู่ในช่วงของมิลลิวินาทีหรือ บาง ทีก็เป็นวินาที เลย จึงทำให้ LDR ใช้ได้ กับงานความถี่ต่ำๆ เท่านั้น
ทำเป็นเครื่องวัดแสง ในรูปที่ 4 เป็นวงจรเครื่องวัดแสงแบบง่ายจริงๆ LDR ที่ใช้ก็ควรจะมีอัตราส่วนของค่าความต้านทาน ระหว่างไม่มีแสง กับมีแสงมากๆ หน่อย เวลาใช้ต้องระวังอย่าให้เข็มมิเตอร์ตีเกินสเกล ของแพงมาเสียง่ายๆ อย่าง นี้มันน่าเจ็บใจตัวเอง
รูปที่ 4 เครื่องวัดแสงแบบง่ายที่สุด
อีกวงจรหนึ่งในรูปที่ 5 เป็นวงจรที่ดัดแปลงให้ดีขึ้นแล้วโดยเอาออปแอมป์เบอร์ 741 เข้ามาช่วยทำให้ไวขึ้น มาก จะเอา ดิจิตอลมัลติมิเตอร์มาต่อแทนแบบเข็มก็ได้ แต่ต้องระวังแสงจาก LED จะไปกวนการทำงานของ LDR
รูปที่ 5 วงจรเครื่องวัดแสงที่ปรับปรุงขึ้นแล้ว
สวิตซ์ทำงานด้วยแสง การใช้ LDR ทำงานในวงจรปิดเปิดสวิตซ์ เราก็ จะใช้เพียง 2 อย่างเท่านั้น คือ มีแสง หรือ ไม่มีแสง. โดย ทั่วไปเราจะ ใช้วิธีเอามาอนุกรมกับตัวต้านทานตัวหนึ่ง แล้วต่อเป็นวงจรแบ่งแรงดันออกมาตามรูปที่ 6 อย่างในรูป ( ก ) จะทำงานดังนี้ คือ ถ้ามีแสงสว่าง LDR จะมีความต้านทานต่ำ ทำให้แรงดันส่วนใหญ่มาตกคร่อม R 1

เสียหมด แรงดันเอาต์พุต จึงสูงเกือบเท่า แรงดันไฟเลี้ยง และ ถ้าไม่มี แสง LDR จะมีความต้านทานสูง แรงดันส่วนใหญ่จะ ไปตกที่ LDR แรงดันเอาต์พุต จึงเกือบเป็น 0 โวลต์
รูปที่ 6 หลักการใช้ LDR ในวงจรปิดเปิดสวิตซ์
ในรูปที่ 6 ( ข ) วงจรจะทำงาน ในทางตรงข้าม เพียงแต่สลับที่ระหว่าง LDR กับ R 1 เวลามีแสงสว่าง เอาต์พุตก็จะเกือบ เป็น 0 โวลต์ เวลาไม่มีแสงสว่างเอาต์พุตก็เกือบเท่าแรงดันไฟเลี้ยงจะเห็นได้ว่ากลับกับกรณีแรก
รูปที่ 7 ตัวอย่างวงจรควบคุมสวิตซ์โดยรีเลย์จะทำงานเมื่อไม่มีแสงสว่าง
ทั้ง 2 กรณี จะมีวงจรที่ต่อออกไปสำหรับจับสัญญาณว่ามีแสงสว่างหรือไม่. แล้วนำไปควบคุมสวิตช์ อีกทีให้ ทำงานใน กรณีที่ต้องการ. ในรูปที่ 7 เป็นตัวอย่างวงจรซึ่งรีเลย์จะทำงานเมื่อไม่มีแสงสว่าง ซึ่งถ้าเราไม่ต้องการแบบนี้ และ อยากให้รีเลย์ ทำงาน เมื่อมีแสงสว่างก็เพียงแต่สลับที่ระหว่าง LDR กับความต้านทานปรับค่าได้ 100 kW เท่านั้น
รูปที่ 8 วงจรเตือนภัยเป็นเสียงเมื่อมีแสงสว่างกระทบ LDR
ในรูปที่ 8 ก็เป็น ตัวอย่างวงจรอีกอันหนึ่งทำงานเมื่อมีแสงสว่าง ตัวอย่างอื่นๆ ก็ได้แก่ วงจรจับควันไฟ , วงจรกะพริบ เพื่อความปลอดภัยเมื่อมีรถยนต์แล่นผ่านมา. ซึ่งโดยหลักการแล้วไม่ยาก คงจะนำไปดัดแปลงใช้กันได้
ใช้ LDR ตลอดช่วง
รูปที่ 9 ตัวอย่างวงจรเปลี่ยนสัญญาณแสงเป็นสัญญาณเสียง
นอกจากวงจรเครื่องวัดแสง ซึ่งเป็นที่รู้จักกันดีในการประยุกต์ LDR ให้ใช้งานแบบทุกช่วงการเปลี่ยนแปลงแล้ว ยังมีคน ดัดแปลงไปใช้ในวงจรอื่นๆ อีก เช่น วงจรแปลงสัญญาณอะนาลอก เป็นสัญญาณดิจิตอล เพื่อเชื่อมต่อส่วนที่เป็น วงจรอะนาล็อก ให้ส่งสัญญาณผ่านเข้าไปทำงานในวงจรดิจิตอลได้ ดังเช่น รูปที่ 9 เป็นวงจรแปลงระดับความเข้มแสง ซึ่งเป็นสัญญาณ อะนาล็อกให้ออกมาเป็นจำนวนลูกคลื่นสี่เหลี่ยม ยิ่งความเข้มแสงมากเท่าไหร่ จำนวนลูกคลื่น สี่เหลี่ยมก็จะยิ่งออกมามากเท่านั้น วงจรนี้ ใช้ไอซี 555 ความถี่ของคลื่นที่ออกมาจะได้ประมาณ 22kHz ถ้าเอาไป รับแสงใกล้ๆ หลอดไฟขนาด 60 วัตต์ แต่จะ เหลือเพียงประมาณ 1Hz ในที่มืด ถ้าเอาลำโพงอนุกรมกับตัวต้านทาน 220W ไปต่อเข้ากับขา 3 และ ไฟบวกก็จะได้ยินเสียง สูงๆ

ต่ำๆ ตามความเข้มของแสง ลองดูก็ได้คงจะสนุกไม่เลว และ ตัวอย่างอีกอันหนึ่งจะเห็นได้ในรูปที่ 10 เป็นวงจรเปิด - หรี่ - ปิดไฟ ซึ่งจะควบคุมให้หลอดไฟสว่างขึ้นในขณะ ที่แสงสว่างของสภาพแวดล้อมลดลงเป็นตัวอย่างที่ดีเหมือนกัน
รูปที่ 10 วงจรเปิด-หรี่-ปิดไฟ

อุปกรณที่ใช้
1. บอร์ด Arduino 1 บอร์ด
2. โฟโต้บอร์ด 1 บอร์ด
3. สายไฟผู้-ผู้ 15 เส้น
4. ตัวต้านทาน 220 โอห์ม 1 ตัว
5. ตัวต้านทาน 10 โอห์ม 1 ตัว
6. สายอัปโหลด 1 เส้น
7. Seven Segment 1 ตัว
8. LED 4 ดวง
9. LDR 1 ตัว

code วงจร LED
/*
Switch statement

Demonstrates the use of a switch statement. The switch statement allows you
to choose from among a set of discrete values of a variable. It's like a
series of if statements.

To see this sketch in action, put the board and sensor in a well-lit room,
open the Serial Monitor, and move your hand gradually down over the sensor.

The circuit:
- photoresistor from analog in 0 to +5V
- 10K resistor from analog in 0 to ground

created 1 Jul 2009
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/SwitchCase
*/

// these constants won't change. They are the lowest and highest readings you
// get from your sensor:
const int sensorMin = 0; // sensor minimum, discovered through experiment
const int sensorMax = 600; // sensor maximum, discovered through experiment
int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
void setup() {
// initialize serial communication:
Serial.begin(9600);
pinMode (LED1,OUTPUT);
pinMode (LED2,OUTPUT);
pinMode (LED3,OUTPUT);
pinMode (LED4,OUTPUT);
}

void loop() {
// read the sensor:
int sensorReading = analogRead(A0);
// map the sensor range to a range of four options:
int range = map(sensorReading, sensorMin, sensorMax, 0, 3);

// do something different depending on the range value:
switch (range) {
case 0: // your hand is on the sensor
Serial.println("dark");
digitalWrite (LED1,1);
digitalWrite (LED2,0);
digitalWrite (LED3,0);
digitalWrite (LED4,0);
break;
case 1: // your hand is close to the sensor
Serial.println("dim");
digitalWrite (LED1,0);
digitalWrite (LED2,2);
digitalWrite (LED3,0);
digitalWrite (LED4,0);
break;
case 2: // your hand is a few inches from the sensor
Serial.println("medium");
digitalWrite (LED1,0);
digitalWrite (LED2,0);
digitalWrite (LED3,1);
digitalWrite (LED4,0);
break;
case 3: // your hand is nowhere near the sensor
Serial.println("bright");
digitalWrite (LED1,0);
digitalWrite (LED2,0);
digitalWrite (LED3,0);
digitalWrite (LED4,1);
break;
}
delay(1); // delay in between reads for stability
}
หลักการทำงาน มีดังนี้ - เมื่อเปิด Serial monitor ขึ้นมา ทำให้ LDR มึดสนิท ใน Serial monitor จะขึ้นคำว่า dark และ LED1 จะติด LED2 ,3 และ 4 จะดับ ทำให้ LDR สลัว ใน Serial monitor จะขึ้นคำว่า dim และ LED2 จะติด LED1 ,3 และ 4 จะดับ ทำให้ LDR แสงปกติ ใน Serial monitor จะขึ้นคำว่า medium และ LED3 จะติด LED1 ,2 และ 4 จะดับ ทำให้ LDR แสงสว่างมาก ใน Serial monitor จะขึ้นคำว่า bright และ LED4 จะติด LED1 ,2 และ 3 จะดับ

code วงจร 7-Segment
int LED1=2; int LED2=3; int LED3=4; int LED4=5; int LED5=6; int LED6=7; int LED7=8; const int sensorMin = 0; // sensor minimum, discovered through experiment const int sensorMax = 600; // sensor maximum, discovered through experiment void setup() { pinMode (LED1,OUTPUT); pinMode (LED2,OUTPUT); pinMode (LED3,OUTPUT); pinMode (LED4,OUTPUT); pinMode (LED5,OUTPUT); pinMode (LED6,OUTPUT); pinMode (LED7,OUTPUT); // initialize serial communication: Serial.begin(9600); } void loop() { // read the sensor: int sensorReading = analogRead(A0); // map the sensor range to a range of four options: int range = map(sensorReading, sensorMin, sensorMax, 0, 3); // do something different depending on the range value: switch (range) { case 0: // your hand is on the sensor Serial.println("dark"); //1 digitalWrite(8, HIGH); digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); break; case 1: // your hand is close to the sensor Serial.println("dim"); //2 digitalWrite(8, LOW); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); break; case 2: Serial.println("medium");//3 digitalWrite(8, LOW); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); break; case 3: Serial.println("bright");//4 digitalWrite(8, LOW); digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, LOW); break; } delay(1); }
หลักการทำงาน มีดังนี้ - เมื่อเปิด Serial monitor ขึ้นมา ทำให้ LDR มึดสนิท ใน Serial monitor จะขึ้นคำว่า dark และเลข 1 จะขึ้นที่ 7 Segment ทำให้ LDR สลัว ใน Serial monitor จะขึ้นคำว่า dim และเลข 2 จะขึ้นที่ 7 Segment ทำให้ LDR แสงปกติ ใน Serial monitor จะขึ้นคำว่า medium และเลข 3 จะขึ้นที่ 7 Segment ทำให้ LDR แสงสว่างมาก ใน Serial monitor จะขึ้นคำว่า bright และเลข 4 จะขึ้นที่ 7 Segment

วงจร 7-Segment



วิดีโอวงจร LED



วิดีโอวงจร 7-Segment





วันพุธที่ 21 มีนาคม พ.ศ. 2561

ใบงานที่ 2 LED 7 Segment

LED 7 Segment


วันนี้เรามารู้จักกับ LED 7 Segment กันนะครับว่ามันคืออะไร แล้วเอาไปใช้อะไรได้บ้าง

7 Segment หรือ อุปกรณ์ที่ใช้สำหรับการแสดงผลในอุปกรณ์ อิเล็กทรอนิกส์ และ วงจรอิเล็กทรอนิกส์นั้น จะสามารถพบเห็นได้ทั่วไป และบางคนอาจจะคุ้นตากันเป็นอย่างดี แต่อาจจะไม่รู้ว่าเป็น 7 Segment ก็เลยอยากจะนำเสนอข้อมูลที่เป็นประโยชน์เกี่ยวกับเจ้าตัว 7 Segment ให้ได้รู้จักกันมากยิ่งขึ้น

ตัวแสดงผล 7 ส่วน หรือที่เราเรียกว่า 7 Segment เป็นอุปกรณ์อิเล็กทรอนิกส์ประเภท Display เช่นเดียวกับไดโอดแปลงแสง หรือ LED ตัว 7 Segment เองนั้นภายในก็คือ LED 7ตัว(หรือมากกว่า) มาต่อกันเป็นรูปตัวเลข 8 นั้นเองครับ ดังนั้นการใช้งาน 7 Segment จะเหมือนกับการใช้งาน LED

 

รูปแบบต่างๆ และ สัญลักษณ์


ที่ตัว ส่วนแสดงผล 7 Segment จะมีชื่อกำกับอยู่ (อันนี้ต้องจำให้ได้นะครับ) โดยจะไล่จาก A,B, C, D, E, F, G และจุด เป็นต้น



แสดงตำแหน่งส่วนแสดงผล A- G


แอลอีดี 7 ส่วน แบ่งออกเป็น 2 ชนิด คือ

1.แบบคอมมอนแอโนด (Common Anode) เป็นการนำเอาขาแอโนด ของแอลอีดีแต่ละตัวมาต่อร่วมกันเป็นจุดร่วม (Common) ส่วนขาที่เหลือใช้เป็นอินพุต คอยรับสถานะลอจิก  ซึ่ง(Common Anode) จะต้องป้อนอินพุตลอจิกลอจิกเป็น "1" 
 
2.แบบคอมมอนคาโทด (Common cathode) คือการนำเอาขาคาโทดของแอลอีดีแต่ละตัวมาต่อร่วมกันเป็นจุดร่วม (Common) เหมือนกับ Common  Anode แต่ Common  cathode  จะต้องป้อนอินพุตเป็นลอจิก "0"


การต่อ LED ภายในตัว7 Segment
7 Segment นั้นจะมีอยู่ 2 คอมมอนหลักๆ คือ แบบคอมมอน A (อาโนด) และแบบคอมมอนK (คาโทด)



รูป แสดงการนำเอา LED มาต่อกัน แบบคแมมอน K



รูป แสดงการนำเอา LED มาต่อกัน แบบคอมมอน A



การต่อแบบคอมมอน A เราจะใช้ขั้วลบ (-) ป้อนให้ที่ขา A - G ส่วนไฟบวก (+) จะมาป้อนที่จุดรวมของขา A
การต่อแบบคอมมอน K เราจะใช้ขั้วบวก (+) ป้อนให้ที่ขา A - G ส่วนไฟลบ (-) จะมาป้อนที่จุดรวมของขา K

จากรูปจะเห็นว่าเป็นการจำลองโดยการใช้ LED มาต่อกัน 8 ตัว จะได้เป็นเลข 8 แทนการใช้ 7 Segment


การดูสัญลักษณ์การต่อภายใน 7 Segment


รูป ดังกล่าวต่อไปนี้จะแสดงการต่อ LED ไว้ภายใน ซึ่งจะมีทั้งคอมมอน A และ K และแบบรวม โดยที่สัญลักษณ์ จะแสดงตำแหน่งของขา LED ไว้ให้ด้วย




แสดง 1 หลัก คอมมอน A ที่ขา 3 กับ 14 ส่วนขา 4,5,6,12 ไม่ได้ใช้


แสดง 1 หลัก คอมมอน K ที่ขา 3 กับ 8


แสดง 2 หลัก คอมมอน K ที่ขา 10(ตัวที่1) กับ 5(ตัวที่ 2)


แสดง 2 หลัก คอมมอน A ที่ขา 10(ตัวที่1) กับ 5(ตัวที่ 2)


แสดง 4 หลัก คอมมอน K ที่ขา 3(ตัวที่1) กับ 5(ตัวที่ 2) กับ 8(ตัวที่3) กับ 10(ตัวที่ 4)



การดูขา

LED 7-Segment ส่วนใหญ่แบบตัวเดียวเดี่ยวๆ มันจะมีขาทั้งหมด 10 ขา ข้างละ 5 ขาใช่ไหมครับ และขาที่เป็น Common ส่วนใหญ่มันจะเป็นขา กลาง ของทั้งสองด้าน วิธีวัดก็เอามิเตอร์ มาแล้วบิดมาที่ x1 เหมือนวัดค่า R แล้วเอาสายสีแดงของมิเตอร์มาจับที่ขากลางใช่ไหมครับ ส่วนสายสีดำก็ กวาดเลยทุกขาอย่างรวดเร็วเลยครับ ถ้ามันติดมีไฟออกเป็นสี ก็แสดงว่า7-Segment นั้นเป็น Common Cathode ครับ แต่ถ้าไม่ติดก็สลับเอาสายสีดำของมิเตอร์มาจับที่ขากลาง แล้วใช้สายสีแดงมากวาดที่ขาอื่นๆแทน มันควรจะติดล่ะทีนี้ ซึ่งหมายความว่า 7-Segment ตัวนั้นเป็น Common Anode ครับ


การตรวจสอบขาของ 7-Segment (ถ้าไม่มี datasheet)

โดยปกติถ้าเราไปซื้อ 7 Segment ตามร้านทั่วๆไปนั้นเขาจะไม่มี datasheet ครับ ซึ่งจะต้องเป็นหน้าที่ของเราเองครับ ว่าจะต้องตรวจสอบตำแหน่งขา ตรวจสอบคอมมอนให้แน่ใจเสียก่อนครับ ซึ่งการตรวจสอบก็ไม่ได้ยากเย็นอะไรนักหรอกครับแต่ต้องใช้เวลาและความอดทนนิด หน่อยเท่านั้นเอง ( 7Segment บางขาก็ไม่ได้ใช้งานครับ) ซึ่งจะแนะนำวิธีที่ผมเคยใช้อยู่บ่อยๆดังนี้

   1. การตรวจสอบโดยใช้มัลติมิเตอร์แบบเข็ม
      จะใช้ย่านวัดโอห์มในการวัด โดยปรับย่านวัดไปที่ X1 ก่อน จากนั้นใช้ที่วัด วัดไปที่ขาของ 7 segment เรื่อยๆ จนกว่าจะเจอว่าขาอะไรเป็นขารวม หรือขาคอมมอน หากแน่ใจแล้วว่าขาที่ได้เป็นขาคอมมอน ให้ดูที่มิเตอร์ว่าขาคอมมอนของเรานั้นต่อกับสายสีอะไรของมัลติมิเตอร์
      ถ้าต่ออยู่กับสายสีดำ แสดงว่าเป็นคอมมอน A
      ถ้าต่ออยู่กับสายสีแดง แสดงว่าเป็นคอมมอน K
      ** การจ่ายไฟของย่านวัดค่าโอห์มจะจ่ายสลับขั้วกัน
      จากนั้นเมื่อเราหาได้แล้ว เราก็ทำการหาขาทีเหลือคือ ขา A - G และ จุด ต่อไปได้ไม่ยากเลย
   2. การตรวจสอบโดยใช้ถ่านไฟฉายธรรมดานี่หละ
      เราจะใช้ไฟประมาณ 3V ในการตรวจสอบ โดยทำแบบเดียวกับการใช้มิเตอร์ คือต้องหาขาร่วมให้ได้ก่อน และเมื่อแน่ใจแล้วว่าได้ขาร่วมหรือขาคอมมอนแล้วดูที่สายไฟว่าต่ออยู่กับขั้ว ไปอะไร
      ถ้าต่ออยู่กับขั้วบวก(+) แสดงว่าเป็นคอมมอน A
      ถ้าต่ออยู่กับขั้วลบ(-) แสดงว่าเป็นคอมมอน K
      ** ซึ่งจะกลับกับขั้วของมัลติมิเตอร์
      จากนั้นเมื่อเราหาได้แล้ว เราก็ทำการหาขาทีเหลือคือ ขา A - G และ จุด ต่อไปได้ไม่ยากเลย

การเลือกซื้อ 7 Segment มาใช้งานนั้นต้องบอกผู้ขายหรือคำนึงถึงส่วนต่างๆดังนี้

   1. จะใช้แบบกี่หลัก คือว่าจะใช้กี่ตัวต่อกัน
   2. ขาที่ต้องการใช้กี่ขา เพราะ 7 Segment จะมีทั้งแบบรวมขาและแยกขาตามที่ได้กล่าวมาแล้ว
   3. สีที่ต้องการ อันนี้ก็แล้วแต่จะเลือกก็แล้วกันครับ
   4. ต้องการคอมมอนอะไร อันนี้สำคัญครับ เพราะในการออกแบบเราต้องระบุไปก่อนว่าจะออกแบบโดยใช้ 7 Segment แบบ คอมมอนอะไร
   5. ความสูงหรือขนาดนั้นเอง โดยปกติแล้ว ตัว 7 Segment จะบอกความสูงของตัวเลขเป็นนิ้วครับ เช่น 0.4" หรือ 0.56" เป็นต้น



อุปกรณ์ที่ใช้

1. 7 segment 1 ตัว
2. โฟโต้บอร์ด   1 บอร์ด
3. บอร์ด Arduino 1 บอร์ด
4. สาย USB    1 สาย
5. ตัวต้านทาน 220โอห์ม 1 ตัว



code

/*
Switch statement with serial input

Demonstrates the use of a switch statement. The switch statement allows you
to choose from among a set of discrete values of a variable. It's like a
series of if statements.

To see this sketch in action, open the Serial monitor and send any character.
The characters a, b, c, d, and e, will turn on LEDs. Any other character will
turn the LEDs off.

The circuit:
- five LEDs attached to digital pins 2 through 6 through 220 ohm resistors

created 1 Jul 2009
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/SwitchCase2
*/

void setup() {
// initialize serial communication:
Serial.begin(9600);
// initialize the LED pins:
for (int thisPin = 2; thisPin < 10; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}

void loop() {
// read the sensor:
if (Serial.available() > 0) {
int inByte = Serial.read();
// do something different depending on the character received.
// The switch statement expects single number values for each case; in this
// example, though, you're using single quotes to tell the controller to get
// the ASCII value for the character. For example 'a' = 97, 'b' = 98,
// and so forth:

switch (inByte) {
case '0':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
break;
case '1':
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);//c
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);//b
digitalWrite(9, LOW);
break;
case '2':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);//c
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
case '3':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);//c
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
case '4':
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);//c
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
case '5':
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);//c
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
case '6':
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);//c
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
case '7':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);//c
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);//b
digitalWrite(9, LOW);
break;
case '8':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);//c
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
case '9':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);//c
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);//b
digitalWrite(9, LOW);
break;
default:
// turn all the LEDs off:
for (int thisPin = 2; thisPin < 10; thisPin++) {
digitalWrite(thisPin, HIGH);
}
}
}
}
https://drive.google.com/open?id=1PdtIja9p04NTzHcu6dcZw2DbfA7oQf3E
คำอธิบาย
 ให้ต่อวงจร 7-Segment แล้วให้แสดงผลเป็นตัวเลข 0 - 9 

วิดีโอ


ผู้จัดทำ
1.นางสาวณัฐธิชา ชนเก่าน้อย 011
2. นางสาวกุลจิรา        ทองคง 003


ใบงานที่ 8 Ultrasonic Object Radar System

ผู้จัดทำ 1.นางสาวณัฐธิชา ชนเก่าน้อย 011 2. นางสาวกุลจิรา       ทองคง 003 อุปกรณ์ที่ใช้  1. บอร์ด Arduino 1 บอร์ด 2. Servo motor...