دمج الوحدات · الدرس 3.5

الشاشة سباعية المقاطع ذات أربع خانات (4 Digit 7-Segment Display)

العودة إلى الدروس

المسح السريع للخانات

ستتعلم استخدام شاشة (4 Digit 7-Segment Display) بأربع خانات. في شاشة الخانة الواحدة (4 Digit 7-Segment Display)، يصل المصعد المشترك بالطاقة، والمهبط المشترك بـ GND. في الأربع خانات تستخدم الأطراف المشتركة لاختيار الخانة المعروضة.

تعمل خانة واحدة في اللحظة نفسها، لكن سرعة المسح وبقاء أثر الرؤية يجعلان العين ترى الأرقام كلها، دون ملاحظة الفواصل.

المكونات المطلوبة

شاشة الأربع خانات (4 Digit 7-Segment Display)
شاشة الأربع خانات (4 Digit 7-Segment Display)
أبعاد الشاشة ومخطط أطرافها الوارد
أبعاد الشاشة ومخطط أطرافها الوارد

التوصيل

المخطط الكهربائي لشاشة الأربع خانات (4 Digit 7-Segment Display)
المخطط الكهربائي لشاشة الأربع خانات (4 Digit 7-Segment Display)
توصيل الشاشة والمسجل على لوحة التجارب (Breadboard)
توصيل الشاشة والمسجل على لوحة التجارب (Breadboard)

البرنامج

افتح ملف البرنامج Four_Digital.ino من ملفات الدرس في بيئة Arduino IDE. بعد إتمام التوصيلات، وصّل لوحة أردوينو (UNO R3 Board) بالحاسوب بكابل توصيل (USB Cable)، ثم اضغط زر Upload (رفع) لنقل البرنامج إلى اللوحة وتشغيله عليها.

إذا تعذر نقل البرنامج إلى اللوحة، فراجع قسم «رفع البرنامج ومعالجة خطأ الاتصال» في الدرس 1.5 «وميض LED وإضافة المكتبات» للتحقق من اتصال USB واختيار نوع اللوحة والمنفذ التسلسلي في بيئة Arduino IDE.

الكود

Four_Digital/Four_Digital.ino

//www.elegoo.com
//2016.12.12

int latch=9;  //74HC595  pin 9 STCP
int clock=10; //74HC595  pin 10 SHCP
int data=8;   //74HC595  pin 8 DS

unsigned char table[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c
,0x39,0x5e,0x79,0x71,0x00};//Display digital data

void setup() {
  pinMode(latch,OUTPUT);
  pinMode(clock,OUTPUT);
  pinMode(data,OUTPUT);
}
/*   The most common method of using 74CH595
 *   latch->LOW : Begin transmitting signals.
 *   shiftOut(dataPin, clockPin, bitOrder, value)
 *   dataPin: the pin on which to output each bit. Allowed data types: int.
 *   clockPin: the pin to toggle once the dataPin has been set to the correct value. Allowed data types: int.
 *   bitOrder: which order to shift out the bits; either MSBFIRST or LSBFIRST. (Most Significant Bit First, or, Least Significant Bit First).
 *   value: the data to shift out. Allowed data types: byte. 
 *   latch->HIch : The end of the transmission signal.
*/
void Display(unsigned char num)
{

  digitalWrite(latch,LOW);
  shiftOut(data,clock,MSBFIRST,table[num]);
  digitalWrite(latch,HIGH);
  
}
void loop() {
  Display(1);
  delay(500);
  Display(2);
  delay(500);
  Display(3);
  delay(500);
  Display(4);
  delay(500);
  Display(5);
  delay(500);
  Display(6);
  delay(500);
  Display(7);
  delay(500);
  Display(8);
  delay(500);
  Display(9);
  delay(500);
  Display(10);
  delay(500);
  Display(11);
  delay(500);
  Display(12);
  delay(500);
  Display(13);
  delay(500);
  Display(14);
  delay(500);
  Display(15);
  delay(500);
}

ملفات الدرس والمكتبات

ملفات الدرس

100%

عرض الصورة

استخدم + و− للتكبير والتصغير، أو اضغط Esc للإغلاق.