PR 記事には広告が含まれています
スポンサーリンク
Translate

Canon Canola L1211の表示器をESP32で制御して1桁の数字が表示されました

スポンサーリンク

Canon Canola L1211の表示器の各セグメントをESP32でON,OFFできるようにしました。Canon Canola L1211の表示器であるJRC(日本無線)のSEPTANIX J4923Aに関しては、こちらをご覧ください。

SEPTANIX J4923Aは、セグメントの制御と桁の制御と2つの制御を行う必要があります。

今回は、セグメントの制御回路を作りたいと思います。

スポンサーリンク

トランジスタでセグメントの制御

各セグメントは、抵抗接続して電流をトランジスタを使ってGNDへ流すことで点灯します。

こちらが、セグメントのドライバ回路です。以前ニキシー管の点灯制御にも使用した、高耐圧トランジスタMPSA42を使っています。詳しくは、こちらの記事をご覧ください。

トランジスタの回路を小さな基板に作りました。

スポンサーリンク

プログラム

シンプルに0から9までの数字を表示するプログラムを作りました。

const int a_PIN = 5; //7
const int b_PIN = 16;  //5
const int c_PIN = 2;  //2
const int d_PIN = 15; //1
const int e_PIN = 0; //3
const int f_PIN = 17; //6
const int g_PIN = 4;  //4
const int dp_PIN = 18;  //8
const int com_PIN = 19; //9
const int SEG_PIN[9] = { a_PIN, b_PIN, c_PIN, d_PIN, e_PIN, f_PIN, g_PIN, dp_PIN, com_PIN };
const int SEG_NUM = 9;

//                            a  b  c  d  e  f  g 
const bool CHAR[10][7] =   { {1, 1, 1, 1, 1, 1, 0},{0, 1, 1, 0, 0, 0, 0},{1, 1, 0, 1, 1, 0, 1},{1, 1, 1, 1, 0, 0, 1},{0, 1, 1, 0, 0, 1, 1},{1, 0, 1, 1, 0, 1, 1},{1, 0, 1, 1, 1, 1, 1},{1, 1, 1, 0, 0, 0, 0},{1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 0, 1, 1} };

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println("start");
  for( int i=0 ; i< SEG_NUM ; i++)
  {
    pinMode(SEG_PIN[i], OUTPUT);
    digitalWrite(SEG_PIN[i], LOW);
  }
}

void loop() {
  for( int i=0 ; i< 10 ; i++)
  {
    for( int j=0 ; j<7 ; j++ )
    {
      digitalWrite(SEG_PIN[j], CHAR[i][j]);
    }
    Serial.printf("%d\n",i);
    delay(500);
  }
}

プログラムも書き込んで準備完了です。

スポンサーリンク

数字が表示された!

電源を入れると、無事表示管に数字が表示されました!ニキシー管と同じような色合いですが、7セグメントの表示器になっています。LEDには無い暖かい感じのとても綺麗な色をしています。

セグメントの制御はうまくいきました。次回は桁の制御を追加したいと思います。

2021.4.11 追加 つづきはこちら

追加終わり