IchigoJam(7) <OUT8~OUT11使用 4桁時計ダイナミック表示>
IchigoJam Ver1.1 beta6 で IN1~IN4をOUT8~OUT11で使えるようになったらしい。
IchigoJam(6) <4桁ダイナミック表示>(2015/10/13) で作った4桁LED時計はVer1.1 beta5で作った。出力ポートがOUT1~OUT7の7本しかなかったので、桁ドライブ用に74HC4017を使った。
OUT8~OUT11が使えるなら、新たに使えるようななった出力ポートを桁ドライブ用に使用するとちょうどよい。
シンプルになった。
プログラムの変更が少なくなるように、OUT8~OUT11を桁ドライブに使用すると3桁目(OUT10)が点灯しない。?_?) 出力電圧を測ってみると1.7vしか出ていない。配線を間違えたかと確認したが、間違えていない。
IchigoJamの回路図を眺めたら気がついた。OUT10(IN3)はI2CのSDAだ。I2CバスはOpenDrainでドライブするので、IN3をOUT10で使った場合は当然OD出力となる。(データシートにも書いてある)
ODは"L"を出力(電流吸込み)できるが、"H"は出力(電流吐出し)できないないので、プルアップ抵抗で"H"にする。
ところが、桁ドライブは電流を吐出さなければならないので、LEDを点灯させることができない。
カソードコモンの7SegLEDを使おうかとも考えたが、安易に、OUT1~OUT4を桁ドライブに使用して、OUT5~OUT11をセグメントドライブに使用するように変えた。(赤色が変更した行)
1 'IchigoClock / dynamic lighting use OUT8-11 |
↓こんな感じ
IchigoJam(6) <4桁ダイナミック表示>(2015/10/13)にあった74HC4017が無い。
↑リンク先にAVI(IchigoClockDynamic2.avi (1020.9K))
動画は明るく見えるけど、蛍光灯の真下では見えないくらい暗い。
R1~R8を0Ωにする(IchigoDotのように直結する)、つまりLPC1114のOUT5~OUT11を直接LEDに繋ぐと蛍光灯の下でも見えるくらい明るくなる。
教科書にはLEDは必ず電流制限用の抵抗が必要と書いてあるが、マイコンのI/OでLEDを駆動する場合には直結することも可能だ。
電流制限用の抵抗を省略しているわけではなく、I/Oポートには内部抵抗があるので電流が制限される。データーシートで出力電流と出力電圧の特性を確認すると、
Fig38はI/Oピンに"L"を出力(OUT4,0 etc.)したときの電圧と電流の関係だ。I/Oピンに電流を吸い込むとI/Oピンの電圧が上がる。つまり内部に抵抗がある。
一方Fig39はI/Oピンに"H"を出力(OUT1,1)したときの電圧と電流の関係だ。I/Oポートから出力する電流が増えると、出力電圧が下がる。つまり内部に抵抗がある。
そして、LEDに流す電流とLEDの電圧降下の特性もデータシートで確認すると
LEDは流れる電流で順方向の降下電圧が異なる。教科書で見かけるLEDの順方向降下電圧2.0vは20mA流したときの値だ。
マイコンのI/Oポート直結でLEDを点灯するときは↓のような回路になっている。
つまり、VoH=VoL+Vfになるように電流が流れる。
"8"を表示(LEDが7個点灯)したときは、LEDに2.5mAくらい電流が流れる。また、"1"を表示(LEDが2個点灯)したときは、LEDに3mAくらい電流が流れる。
OUT1は点灯しているLEDの電流を全て吐き出しているので、点灯しているLEDの個数で降下する電圧が異なり、点灯しているLEDを流れる電流が変わる。2.5mAと3mAの変化は見た目にはわからない。
"H"を出力したときの内部抵抗 Rohより、"L"を出力したときの内部抵抗 Rolのほうが値が小さいので、カソードコモンの7セグLEDを使うとより電流が流せることになる。
カソードコモンの7セグLEDを使うと5mAくらい流せるので明るくなる。
- IchigoJam(2015/03/30)
- IchigoJam BASICのFOR/NEXT(2015/04/05)
- IchigoJam BASICのFOR/NEXT(2)(2015/04/07)
- IchigoJam(2) -IchigoJamそっくりさんを作る-(2015/05/17)
- IchigoJam(3) -超小型ARMマイコン基板- (2015/05/)
- IchigoJam(4) -モリダンプ・プログラム-(2015/06/01)
- IchigoJam(5) -HDSP0670を使った4digit clock-(2015/09/24)
- IchigoJam(6) <4桁時計ダイナミック表示>(2015/10/13)
- IchigoJam(7) <OUT8~OUT11使用 4桁時計ダイナミック表示>(2015/10/19)
- IchigoJam,(8) <8x8LED>
- IchigoJam(9) <8x8LEDで8Qeen問題>(2015/11/10)
- IchigoJam(10) <8x8LEDを光センサーにする>(2015/11/17)
- IchigoJam(10) <LED&KEY>(2018/04/08)
- IchigoJam(11) <LED&KEYを機械語で>(2018/04/15)
« 愚痴を吐く人に、如何に処するか | トップページ | 小さい時から考えてきたこと »
「CPUボード」カテゴリの記事
- 久々の物欲(2022.05.21)
- stcgal <質問に答える>(2021.02.21)
- micro:bitで跳び上がると表示する名札 <ウケ狙い>(2020.11.18)
- micro:bit <BLEが乗った低価格マイコンボード>(2020.09.15)
- Google日本語モールス入力(2020.05.01)
「IchigoJam」カテゴリの記事
- IchigoJam(11) <LED&KEYを機械語で>(2018.04.15)
- IchigoJam(10) <LED&KEY>(2018.04.08)
- IchigoJam(10) <8x8LEDを光センサーにする>(2015.11.17)
- IchigoJam(9) <8x8LEDで8Qeen問題>(2015.11.10)
- IchigoJam(8) <8x8LED>(2015.11.04)
「プログラミング」カテゴリの記事
- GMC-4で動く3連ナイトライダー(2022.12.30)
- プログラミング言語ランキング(2022.11.19)
- AWSでサービス構築(2022.05.29)
- Excelの配列式(2022.01.06)
- ローコード・プログラミング(2021.11.07)
コメント