Arduino Nanoで1kgまで量れるはかりを作る。
動作テストだけして放置してある「ひずみゲージ用パーツ」の1年ぶりの続きだ。
ひずみゲージとHX711の組み合わせでデータを取り、Nokia5110用のグラフィックLCDに表示するという仕様にする。
HX711用のライブラリは、Visual Studio Codeを使い始める前のArduino IDEの頃に手動で入れたものだと思う。
確認したら、ここからもらったものだった。
https://github.com/aguegu/ardulibs/tree/master/hx711
スケッチ内に、
1 2 |
// HX711.DOUT - pin #A1 // HX711.PD_SCK - pin #A0 |
と書いてあるのでそのまま配線するだけだ。
ひずみゲージとの配線は以下のようにした。
赤 — E+
黒 — E-
白 — A-
緑 — A+
こらに関しては「HX711」で検索すればいくらでも例が出てくる。
一方、Nokia5110用のLCDの方は、大きなフォントが扱えるライブラリを探していたら、U8g2というのを小耳にはさんだのでインストールした。
Arduino ExamplesからU8g2内のHelloWorldを開き、
スケッチの中で下の行のコメント・アウトを解除したらそのまますぐに動作した。
1 |
//U8G2_PCD8544_84X48_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Nokia 5110 Display |
配線もとりあえずは上の行に書いてある通りに接続したが、うちの基板を見たらCDとDCが逆だったのと、何で13だけ飛ぶのか分からなかったので、結局下のようにした。
1 |
U8G2_PCD8544_84X48_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 12, /* data=*/ 11, /* cs=*/ 9, /* dc=*/ 10, /* reset=*/ 8); // Nokia 5110 Display |
こうすれば配線がクロスしないで1列に並ぶ。
肝心のフォントのサイズだが、やはりスケッチを眺めていたら以下のように書いてある。
1 |
u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font |
経験から08とかがサイズをあらわしていることがほとんどだ。
一応、ライブラリのフォルダ内を探ると、案の定、いろんなサイズのデータが入っていた。
上の行を以下のように書き換えた。
1 |
u8g2.setFont(u8g2_font_ncenB18_tr); |
下のように大きなフォントで見やすく表示できるようになった。
ここ(https://github.com/olikraus/u8g2/wiki/fntlistall)にフォントの一覧がある。
「Arduino Nano + HX711 + Nokia5110 LCD -ケース作成-」
「Arduino Nano + HX711 + Nokia5110 LCD – 10kgロードセル用にキャリブレーション –」