0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

7セグをデジタル時計にするPythonコード

Last updated at Posted at 2023-07-28

1. はじめに

本記事では、弊社のAD7SGPR USBコンパクト7セグディスプレイ「Nanapo」をデジタル時計として使用するためのPythonを公開します。社内の人間がコーディングしてくれました。

AD7SGPRは、シリアル通信で文字列を送るだけで値を表示できる7セグメントディスプレイです。そのためシリアル通信可能なWEBアプリやターミナルソフトから制御が可能です。
あまりハードのことを考えずに7セグの制御が可能です。
AD7SGPR接続系統図

2. 必要なモジュール

今回使用するPythonのモジュールは以下の2つです。

  • serial: シリアル通信を行うためのモジュールです。
  • time: 時刻を取得・制御するためのモジュールです。

これらは標準のPythonライブラリに含まれているため、特別なインストールは必要ありません。

3. Pythonコード

以下が今回の主役、デジタル時計を制御するPythonのコードです。

import serial
import time

# AD7SGPRのシリアルポートを開く
com = serial.Serial('COM12', 115200)

while True:
    # 現在時刻を取得
    current_time = time.strftime('%H:%M:%S\n')

    # AD7SGPRに現在時刻を送信
    time_data = current_time.encode('ascii')
    com.write(time_data)

    # データが待っていれば一斉に読み込む
    dummy = com.read_all()
    print(dummy.decode('ascii'))  # データをデコードしてプリント

    # 1秒待機
    time.sleep(1)

# シリアルポートを閉じる
com.close()

注意すべき点として、serial.Serialで指定するシリアルポート(上記コードでは'COM12')は、使用する環境により変更してください。

4.動作の様子

20230728_110825.GIF

Thonny4.0.2、
AD7SGPRファームウェアバージョン1.1で動作を確認しました。

5. まとめ

PythonとNanapoを用いて自作のデジタル時計を作る方法について解説しました。本コードを参考に様々な使い方をしていただけますと幸いです。
ほかにもWEBのAPIを絡めた表示ソフトのサンプルやNanapo自体のファームウェアも掲載しているためGitHubを覗いてみてください。
・AD7SGPRのGitHub

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?