วันพุธที่ 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...