LCDの使い方、回路の作成について
mbedでLCDを制御し、表示をする方法について書きます。
使用部品
・PC(なんでも可)
今後やるなら持っていた方が良いかも?
ただし、ジャンパーワイヤ オス・オスとメス・メスは必要
接続回路図
https://gyazo.com/e8eb4846b8b131f1c0e9fd6a9d2bb5ff
説明:
購入したLCDのモジュールを下記のように接続する。
1番ピンと8番ピンをGNDを接続
2番ピンと7番ピンを3.3V(mbedの3.3V出力端子)に接続
3番ピンをmbedのD14(PB9)ピンに接続
4番ピンをmbedのD15(PB8)ピンに接続
3番ピンを可変抵抗の真ん中の足に接続
ABSOLUTE MAXIMUM RATINGS:絶対最大定格
→絶対にこの値を超えてはいけない値。超えると壊れる。
Power Supply Voltage :LCDを動かすのに必要な電圧
→LCDの電源電圧(Vdd) :3.3V
Power Supply Current:LCDを動かすのに必要な電流
LCDの消費電流(Idd) :3.5mA
Input voltage(high):LCDのSCL及びSDAのHighとみられる電圧 0.7Vdd以上
→通常 電源電圧(3.3V)と同じ電源を入れる場合が多い。
Input voltage(low):LCDのSCL及びSDAのLowとみられる電圧 0.6V以下
→通常 0Vとする場合が多い。
LC Driving voltage(Vo):LCDの輝度調整電圧 推奨5V程度
→今回は最初は3.3Vでやります。 5Vの時と比較予定
Forward Voltage:Backlightにかける順方向電源の値
→3.3V
グラフより、3.3Vの時、大体15mA流れる。 2.5V以下になるとほぼ0mAになる事がわかる。
プログラミング:
code:c
/* mbed Microcontroller Library
* Copyright (c) 2019 ARM Limited
* SPDX-License-Identifier: Apache-2.0
data:2020/09/23
mbed:nucleo f401
LCD動作プログラム
起動すると、
1行目:LCDOK
2行目:Saikou
と表示する。
常にLEDを点滅する。
*/
// Blinking rate in milliseconds
Ticker tick1;
DigitalOut led(LED1);
LcdAcm1602ni lcd(D14, D15);// sda,scl
void led1_toggle(void)
{
led = !led;
}
int main()
{
tick1.attach(&led1_toggle, 1);
lcd.initialize();
lcd.locate(0,0);
lcd.printf("LCDOK");
lcd.locate(1,0);
lcd.printf("Saikou");
while (true) {
}
}
ツェナーダイオードについて: