一般的なカソードデジタルチューブ実験
目的
デジタルチューブは0〜9を順番に表示します
理論
- 発光ダイオードユニットの接続モードにより、コモンアノードデジタルチューブとコモンカソードデジタルチューブに分けることができます。共通アノードデジタルチューブとは、すべての発光ダイオードのアノードを接続して共通アノード(COM)を形成するデジタルチューブを指します。共通アノードデジタルチューブを使用する場合、発光ダイオードの特定のフィールドのカソードが+ 5Vの場合、共通電極COMを+ 5Vに接続する必要があります。低レベルの場合、対応するフィールドが点灯し、フィールドのカソードが高の場合、対応するフィールドは点灯しません。コモンカソードデジタルチューブとは、すべての発光ダイオードのカソードを接続してコモンカソード(COM)を形成するデジタルチューブのことです。コモンカソードデジタルチューブを使用する場合は、アース線GNDに接続する必要があります。発光ダイオードの特定のフィールドの場合aのアノードが高い場合、対応するフィールドが点灯し、特定のフィールドのアノードが低い場合、対応するフィールドは点灯しません。
一般的なカソードデジタルチューブピン図:
セグメントLEDを点灯する場合は、ピンが必要です。高レベルを提供し、comポートは低レベルを提供します
コードの記述
#include<Arduino.h>
//I/O定义
#define seg_a 2
#define seg_b 3
#define seg_c 4
#define seg_d 5
#define seg_e 6
#define seg_f 7
#define seg_g 8
#define seg_h 9
unsigned char table[10][8] = {
{
0,0,1,1,1,1,1,1},
{
0,0,0,0,0,1,1,0},
{
0,1,0,1,1,0,1,1},
{
0,1,0,0,1,1,1,1},
{
0,1,1,0,0,1,1,0},
{
0,1,1,0,1,1,0,1},
{
0,1,1,1,1,1,0,1},
{
0,0,0,0,0,1,1,1},
{
0,1,1,1,1,1,1,1},
{
0,1,1,0,1,1,1,1}
};
void setup() {
// put your setup code here, to run once:
//将引脚设置为输出
pinMode(seg_a,OUTPUT);
pinMode(seg_b,OUTPUT);
pinMode(seg_c,OUTPUT);
pinMode(seg_d,OUTPUT);
pinMode(seg_e,OUTPUT);
pinMode(seg_f,OUTPUT);
pinMode(seg_g,OUTPUT);
pinMode(seg_h,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned char i;
for(i = 0;i < 0;i++){
//循环显示0-9
digitalWrite(seg_a,table[i][7]);
digitalWrite(seg_b,table[i][6]);
digitalWrite(seg_c,table[i][5]);
digitalWrite(seg_d,table[i][4]);
digitalWrite(seg_e,table[i][3]);
digitalWrite(seg_f,table[i][2]);
digitalWrite(seg_g,table[i][1]);
digitalWrite(seg_h,table[i][0]);
delay(1000);//延迟一秒
}
}