arduino+i2c 1602 画面表示 シリアル入力データ 注意事項
1602の配線
まず、アダプターボードをLCDディスプレイにはんだ付けします(向きは上と同じ)。
<テーブル PCF8574T Arduino GND -> GND VCC -> 5V SDA -> A4 SCL -> A5このsdaのsclポートは固定なので、プログラムを書くときにピン宣言を書く必要もなく、ピンのi2cアドレスを宣言するだけでいいのです。
arduino用1602 LCDライブラリの追加
購入した1602のi2cモジュールはpcf8574です。これはi2c to 1602専用チップではなく、i2cインターフェース用のI/O拡張チップなので、arduinoライブラリで検索すると、pcf8574を使用していると表記されているものと、されていないものがある。
実験してみると、赤い矢印のものが一番よく使われていることがわかりました。このライブラリは多くの神が持っていて、liquidcrystal_pcf8574もあり、ルーチンにカスタム文字もありますが、比較的使い方が複雑です。
I2Cアドレスのスキャンとアドレスの欠点と修正点
ソフトウェアでデバイスのi2cアドレスを取得する
Ref.Japanに良いi2cデバイスアドレススキャンプログラムがありました。それは以下の通りです。
以下のコードをArduino IDEにコピーして実行します。次に、以下を選択します。
tool
->
Serial Monitor
に変更し、右下のボーレートを
115200
をクリックすると、シリアルモニターにI2Cアドレスが読み出されます。
// I2C Scanner
#include <Wire.h>
void setup() {
Serial.begin (115200); // Leonardo: wait for serial port to connect
while (!Serial) { }
Serial.println ();
Serial.println ("I2C scanner. Scanning ... ");
byte count = 0;
Wire.begin();
for (byte i = 8; i < 120; i++) {
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0) {
Serial.print ("Found address: ");
Serial.print (i, DEC);
Serial.print (" (0x");
Serial.print (i, HEX);
Serial.println (")");
count++;
delay (1); // maybe unneeded?
} // end of good response
} // end of for loop
Serial.println ("Done.");
Serial.print ("Found ");
Serial.print (count, DEC);
Serial.println (" device(s). ");
} // end of setup
void loop() {}
ハードウェアハンダジョイントによるi2cアドレスの変更
以下のように
シリアルデータ表示プログラム
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //change here to your own i2c device address
void setup(){
lcd.init();
lcd.backlight();
Serial.begin(9600);
}
void loop(){
if (Serial.available()) {
delay(100);
lcd.clear();
while (Serial.available() > 0) {
lcd.write(Serial.read());
}
}
}
プログラムが書けたら、シリアルデバッガでデバッグして、ボーレートを設定して、1602に表示させるテキストを送ればよい。
トラブルシューティング
- 液晶ディスプレイのアドレスが実態に即して変更されていない。
- LCDのサイズが目的のサイズ(16x2)と異なっている。
- pcf8574モジュールのブルーセレクターは、文字のグレースケールを制御します。グレースケールが正しくないとLCDに表示されませんが、明るさは制御できます( 1602が表示されないと遭遇した問題点 ).
- LCD_I2c ライブラリを非 I2c ディスプレイで使用する、またはその逆を行う。
- LCDが正しく接続されていない。
- Arduinoが正しく接続されていない。
- ドライバ(CH340[中国Arduino用])がインストールされていません。
- あなたはとても運が悪いです。
参考
https://create.arduino.cc/projecthub/thesahilsaluja/cpu-and-ram-usage-monitor-windows-linux-921282?ref=similar&ref_id=32069& amp;offset=0
https://create.arduino.cc/projecthub/zakrzu/arduino-pc-monitor-66c07a
https://www.arduino.cn/thread-49987-1-1.html
https://www.jianshu.com/p/eee98fb5e68f
関連
-
[解決済み】Arduinoのエラー:型に名前がない?
-
[解決済み] arduinoが最後のアップロードで突然 "avrdude: ser_open(): can't open device "\.\COM3""" と表示される。
-
[解決済み] Esp32cam ESP32への接続に失敗:パケットヘッダ待ちでタイムアウト
-
[解決済み] ESP32-WROOM-32とESP32-WROVERを比較。
-
[解決済み] ArduinoでLEDストリップに虹色の波を作るには?
-
[解決済み] Javaベースのマイクロコントローラ?[クローズド]
-
Luat Module Air724開発ボード スタートガイド (1)
-
arduino upload error, avrdude: ser_open(): can't open device &quot;\. \COM3&quot;: 指定されたファイルが見つかりません。という問題が発生しました。
-
Arduino 003 Ubuntu (Linux)でボードを焼く方法
-
Arduino ide 1.6.9のエラーに関する問題: 'TKD2' はこのスコープで宣言されていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン