一般的なカソードデジタルチューブ実験

一般的なカソードデジタルチューブ実験

目的

デジタルチューブは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);//延迟一秒
    }
}

おすすめ

転載: blog.csdn.net/qq_45671732/article/details/108938076