Sensor – 7-Segment Serial

概述:

數碼管模組採用四位元共陽極數碼管,用於顯示數位和少數特殊字元。可以在機器人專案中使用該模組,用於顯示速度、時間、分數、溫度、距離等感測器的值。同時,Makeblock提供易於程式設計的Arduino庫,使用戶能夠方便地控制數碼管。本模組介面是藍色色標,說明是雙數位口控制,需要連接到主機板上帶有藍色標識介面。

 

the-connection-type-of-me-7-segment-serial-display.jpg

 

功能特性:

  • 模組的白色區域是與金屬梁接觸的參考區域
  • 4位紅色LED,每位有一個小數點
  • 亮度可調節,使得用戶即使在白天也能看清顯示內容
  • 支援Arduino IDE程式設計, 並且提供運行庫來簡化程式設計
  • 具有反接保護,電源反接不會損壞IC
  • 支援mBlock圖形化程式設計,適合全年齡用戶
  • 使用RJ25介面連線方便
  • 模組化安裝,相容樂高系列
  • 配有CLK、DIO、VCC、GND接頭支援絕大多數Arduino系列主控板

 

技術規格:

  • 工作電壓:5V DC
  • 數字位元數: 4
  • 模組尺寸: 51 x 24 x 23.4 mm (長x寬x高)

 

引腳定義

數碼管模組有四個針腳的接頭,每個針腳的功能如下表

序號

引腳

功能

1GND地線
2VCC電源線
3DIO數據線
4CLK時鐘線

表 1 4-Pin 接頭功能表

接線方式

  • RJ25連接

由於數碼管模組介面是白色色標,當使用RJ25介面時,需要連接到主控板上帶有白色色標的介面。以Makeblock Orion為例,可以連接到3,4,5,6號介面,如圖

1

圖 1 數碼管模組與 Makeblock Orion連接

  • 杜邦線連接

當使用杜邦線連接到Arduino Uno主機板時,模組SCL、SDA引腳需要連接到 I2C介面,即連接到A4、A5介面如下圖所示:

1

圖 2 數碼管模組與 Arduino UNO 連接圖

注:接杜邦線時,模組上需要焊接排針。

程式設計指南

  • Arduino程式設計

如果使用Arduino程式設計,需要調用庫Makeblock-Library-master 來控制數碼管模組

本程式通過Arduino程式設計可以使數碼管顯示15位元數位(1,2,3,4,5,6,7,8,9,A,b,C,d,E,F)從右向左移動。

 

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include “MeOrion.h”
#include <Wire.h>
#include <SoftwareSerial.h>
Me7SegmentDisplay disp(PORT_6);
void setup()
{
disp.init();
disp.set(BRIGHT_2);
}
void loop()
{
int8_t NumTab[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
uint8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;
delay(150);
while(1)
{
i = count;
count++;
if(count == sizeof(NumTab) )
{
count = 0;
}
for(unsigned char BitSelect = 0; BitSelect < 4; BitSelect++)
{
ListDisp[BitSelect] = NumTab[i];
i++;
if(i == sizeof(NumTab) )
{
i = 0;
}
}
disp.display( (uint8_t)0, ListDisp[0]);
disp.display( (uint8_t)1, ListDisp[1]);
disp.display( (uint8_t)2, ListDisp[2]);
disp.display( (uint8_t)3, ListDisp[3]);
delay(300);
}
}

 

函數

功能

Me7SegmentDisplay(uint8_t port)選定介面
void init()初始化模組,清空顯示器
void set(uint8_t brightness, uint8_t SetData, uint8_t SetAddr)調整亮度設定資料到指定位址
void display(float value)
void display(int8_t value)
void display(uint8_t BitAddr,int8_t DispData)
顯示數位

數碼管函數功能清單

 

原理解析

數碼管顯示原理:八段共陽極LED數碼管,八段是指數碼管裡有八個小LED發光二極體,通過控制不同的LED的亮滅來顯示出不同的字形。共陽極就是將八個LED的陽極連在一起,讓其接高電平,這樣給任何一個LED低電平,它便能點亮。一個八段數碼管稱為一位,多個數碼管並列在一起可構成多位數碼管,它們的段選線(即a,b,c,d,e,f,g,dp)連在一起,而各自的公共端稱為位選線。顯示時,都從段選線送入字元編碼,而選中哪個位元選線,那個數碼管便會被點亮。