1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Aliexpressで買った格安LCDとArduinoNANO互換を試す

Last updated at Posted at 2025-09-27

積みボード消化中です

・1年ほど前に買ったAliexpressで買った格安LCDとArduinoNANOの動作確認を行いました。
・Aruduinoは書き込み失敗が続き、①ドライバや②IDEバージョン、③ブートローダを変更しました。
・最終的に①と③を変更することで、書き込めるようになりました。
・以下、備忘録として残します。

250925 追記

・ch340ですが、PC起動のたびに勝手に最新にアップデートされてしまい、再度3.14をダウングレードしないと書き込めないことがわかりました。かなり面倒です。
・MicrochipStdioでHEXを書き込む運用にするか、正規版を買ったほうが良さそうです
・I2Cモジュールなし(HD44780直接操作)も動作できました。最後に記載しています。

Aliexpressで購入したNANO互換品とLCD

液晶とNANOを合わせても300円くらいで購入しました。
image.png

image.png

液晶はIC:HD44780  I/Oエキスパンダ:PCF8574T

・定番の液晶モジュールのHD44780を、I/Oエキスパンダで制御する構成です。
・I2Cでマイコンとやり取りして、さすが線2本で通信できるのはお手頃でいいです。
・2本のバス(SDA,SCL)はプルアップ抵抗が必要です。速度にもよりますが10Kで問題なし。

・以下にモジュールの詳しいデータシートがありました。
https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/5773/CN0295D%20DATASHEET.pdf
・ドライバIDは「0x27」でした。上記リンク記載のサンプルコードをそのまま使いました。

#include <LiquidCrystal.h>

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/**********************************************************/
LiquidCrystal_I2C lcd(0x27, 16, 2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
/*********************************************************/
void setup() {
  lcd.init();       //initialize the lcd
  lcd.backlight();  //open the backlight
}
/*********************************************************/
void loop() {
  lcd.setCursor(2, 0);         // set the cursor to column 3, line 0
  lcd.print("YAKUN DEBUGS");     // Print a message to the LCD
  lcd.setCursor(2, 1);         // set the cursor to column 2, line 1
  lcd.print("Hello! WORLD!");  // Print a message to the LCD.
}
/************************************************************/

・ライブラリ(wire.h)にI2Cのポート設定が入っています。
・そのためA4をSDA,A5をSCLに接続する必要があります。

・使い方は、以下のノートもわかりやすくまとめておられます。
https://note.com/imashroom/n/n85011afb6f26

書き込み失敗が続く

・書き込もうとすると、シリアルポートが認識されていないとエラーが出ました。
・CH340のドライバは入れており、認識しています
・CH340の最新バージョンだと、互換NANOには認識されないようです。
・同じ症状について、以下のサイトに詳しく記載がありました
https://www.ja2ptq.jp/maintenance/2024/08/arduino14arduino_nano.html
・CH340のV3.14は以下からダウンロードできます
https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all

CH340のデバイスドライバのダウングレードをしても変わらず...

・3.14(2017年)を入れ直しても、自分の環境では書きこめませんでした。。。
・しかしエラー文言は変わり、シリアルは認識されました。
・今度はマイコン(ATMEGA328P)と通信できないようです

IDEを変えてみる

・続いて最新の2.3.xのIDEをLEGACYの1.8.xに変更しました
・公式ホームページからLegacy IDE (1.8.x)を選択し、zipを落とします。
・任意のフォルダに環境を設定します。
image.png
・しかし、結局同じエラーで書き込めませんでした。

BOOTLOADER を変更する

・次にブートを書き換えてみました
・ブートは先ほどダウンロード1.8.xのフォルダの「optiboot/optiboot_atmega328.hex」を使います。

image.png

・AVRISP mkⅡをNANOと接続します。
・コネクタは逆でもささるので、向きに注意必要です。
・MicrochipStdioをインストールします。

Microchip Studio を使う

・Tools⇒Device programmingを選択します。

image.png

・interface settingsを選択します
・Interface「ISP」にて「apply」を押すと、デバイスが認識されれば、デバイス識別や電源電圧が表示されます。

image.png

・memoriesタブにて、「optiboot_atmega328.hex」を選択して書き込みます。

image.png

・Fusesでレジスターを確認します。
・EXTENDEDが「0xFD」HIGHが「0xDA」LOWが「0xFF」になっていたらOK。

image.png

長い道のりだった...

・BOOTを変更することで、正常に書き込むことができました。
・以下は詳細ログを出しています。
image.png

まとめ

・Aliexpressで買った格安LCDとArduinoNANOの動作確認を行いました。
・案の定書き込み失敗が続き、以下を実施しました。

  1. CH340ドライバのダウングレード(3.14に戻す)

  2. IDEバージョンの変更(少し古い1.8.xに戻す)

  3. ブートローダの変更(optiboot_atmega328.hexを使用)

・2番は不要かもしれませんが、1と3は必要だと思います。
・Aliexpressの安い互換品は、安いだけの理由があります。
・回り道することで、色々知識は増えてくるので、そこが電子工作の面白みの一つかなとも思いました。

250925 追記

HD44780を直接操作することもできました。ピンアサインは以下の通りにしています。

image.png

ピンアサイン

LCD 機能 Nano(ピン名)
1 VSS GND
2 VDD 5V
3 VO 20kΩトリマ中央(0.6Vくらい)
4 RS D12
5 RW GND(固定)
6 E D11
11 D4 D5
12 D5 D4
13 D6 D3
14 D7 D2
15 A(LED+) 5V(100Ω制限)
16 K(LED−) GND

サンプルコード

・用意されているLiquidCrystal lcd関数を使うだけです。

#include <LiquidCrystal.h>

// LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);           // 16x2
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Yakun Debug");
  lcd.setCursor(0, 1);
  lcd.print("HELLO WORLD!");
}

void loop() {
  // 何もしない(表示維持)
}

以上

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?