ニキシー管 IN-12B - その2
つぎは、ドライバを使ってみる
制御成功の写真
Raspbery pi からドライバを制御し、3と9を交互に表示させました。
K155ID1
SN74141
互換ということなので SN74141 でデータシートを探した。
電圧について
動作電圧Vcc 4.75v ~ 5.25v
VIH High-level input Min 2v
VIL Low-level input Max 0.8v
ということなので、Vcc に Raspberry pi の 5v を流し、VIH,VIL には、GPIOの3.3v を流したり止めたりすればOK。
ものすごく当たり前のことなのだけど、16本も配線しないといけない。
なんてこった。。。
面倒なので、制御用の A-D と、適当に2箇所だけGND接続することにした。
A-D に High, Low を設定することで、 0-9 の設定になる模様。
その組み合わせが上記。
配線
Raspberry pi | K155ID1 | ニキシー | 電源 |
---|---|---|---|
5v | VCC | ||
GND | GND | GND | |
GPIO 12 | A | ||
GPIO 16 | B | ||
GPIO 20 | C | ||
GPIO 21 | D | ||
1 | 180v | ||
0 | 3 | ||
1 | 9 | ||
2 |
以下略
※注意
鰐口?で配線したため、距離を取るために、3と9を0と1につないでいます。
ほかは結線していないので、光りません。
コーディング
とりあえず、プログラムで光ればいいやーということで、GPIO直接書くような感じです。 ダサいです。
# -*- coding: utf-8 -*- import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(12, GPIO.OUT) GPIO.setup(16, GPIO.OUT) GPIO.setup(20, GPIO.OUT) GPIO.setup(21, GPIO.OUT) time.sleep(0.1) GPIO.output(12, GPIO.LOW) GPIO.output(16, GPIO.LOW) GPIO.output(20, GPIO.LOW) GPIO.output(21, GPIO.LOW) time.sleep(1) ~ GPIO.output(12, GPIO.HIGH) time.sleep(2) GPIO.output(12, GPIO.LOW) time.sleep(2) GPIO.output(12, GPIO.HIGH) time.sleep(2) GPIO.output(12, GPIO.LOW) time.sleep(2) ~ GPIO.cleanup()