Goal
- Arduinoを利用する
- I2Cの使い方を学ぶ
はじめに
はんだ付けや一般的なプログラミング方法を学ぶため、壊しても痛くないLCDモジュールをつかって遊んでみよう。
使用したもの
I2C接続小型LCDモジュール(8×2行)ピッチ変換キット
http://akizukidenshi.com/catalog/g/gK-06795/
コントローラに ST7032i
を使っているので「オレ工房」さまのライブラリが使えそうです!感謝!
https://ore-kb.net/archives/195
参考にさせていただいたサイト
「オレ工房さま」が公開されていたgithub
https://github.com/tomozh/arduino_ST7032
情報をあつめる
とっても製品ページを見るだけなんですが。製品ページには丁寧に
- 動作に必須なコンデンサが実装済み
- プルアップ抵抗付き
と記載あります。詳細は製品ページに記載のPDFに記載されていますが、とにかくはんだ付けだけすればOKなようなので、やってみます。
はんだ付け
クッソへたくそなはんだづけですが、張り付けてしまいます。いつか笑える日が来ますように
改めて見ても裏は特にひどいですね…
ちなみにこの作業中、キーボードのWindowsボタンをはんだで溶かしてしまいました。よい勉強になりましたなぁ
接続方法について調べる
外部のIFが5つのみのシンプルな回路図なんですが、記号の意味がわからんので調べてみました。
- VDD
- Voltage Drain Drainの略らしい。VSS(Voltage Source Source)は見たことあるんですが。違いはよくわかない(し、なんで2回繰り返すんだろう)けど、電源で間違いないはず。Arudinoの3.3Vにつないでみよう
- GND
- これはグランドだろうから普通につなげばよいはず。
- SCL
- I2C接続で利用。クロック線。ArduinoUnoだときちんと印字されていた!
- SDA
- SCLと同じくI2C接続で利用。データ線。同じく印字されていました。
- RESET
- 一般的なI2Cの回路図には出てこないな。必要なのかな?とりあえず線をつなげないでやってみます。もし駄目でも動かないだけだろうし1
- 一般的なI2Cの回路図には出てこないな。必要なのかな?とりあえず線をつなげないでやってみます。もし駄目でも動かないだけだろうし1
回路図
シンプルにつなげてみました。
ご注意
回路図のLCDモジュールは AE-AQM080
ではないので、実際のつなぎ方はことなりますのでご注意ください!端子名をあわせて接続するだけでよいので、難しくはないはずです。
スケッチ
# include <Wire.h>
# include <ST7032.h>
ST7032 lcd;
unsigned long sec;
void setup() {
lcd.begin(8, 2); // この指定がないと表示すらされなかった
lcd.clear();
lcd.setContrast(30); //0~63が指定可能みたい
lcd.setCursor(0,0);
lcd.print("Hello!!!");
delay(1000);
}
void loop() {
sec = millis() / 1000;
lcd.setCursor(3,1);
lcd.print(String(sec));
lcd.setCursor(7, 1);
lcd.print("s");
}
動かしてみた
感想
- はんだごては武器。散らかった机の上では使っちゃダメという知見を得た。
- 部品についてくる説明書を読み取れるようにならないといけないな。
- 楽しい。
-
ライブラリの作者さまのサイトでもRESETつないでいないので、大丈夫みたいです!https://ore-kb.net/archives/195 ↩