忍者ブログ

Azukish

消えゆく世界と流れる未来に最後の灯を since 2006/4/3

2014/10/05

【Arduino】SC1602B(16桁LCDディスプレイ)を使ってみる。

この間、アキバに行った時にマルツで衝動買いしてしまったArduino。
そのままだと何の魅力もないので、一緒に一番安かったバックライト無しのLCDディスプレイ、SC1602BS-B(SUNLIKE製?)を買いました。
で、いざやるぞという段階で、ジャンパケーブルとか可変抵抗とか無いのに気づき、やっと買い足すことができました。

nekosanさんの「PIC AVR 工作室別館 ”arduinoの館 - 各種ライブラリ キャラクターLCD”」を参考というか、モロパクリ&劣化な内容です。


なお、自分のはArduino UNO Rev.3です。
3.3V出力しかついてないタイプのArduinoもあるとかなんとかいう情報があるらしいのですが、それだと動かないっぽい?

まず、配線。
1→5V
2→GND
3→10kΩ半固定可変抵抗の真ん中のピン
4→DIGITAL12番ピン
5→GND
6→10番ピン
7、8、9、10→接続せず
11→DIGITAL5番ピン
12→DIGITAL4番ピン
13→DIGITAL3番ピン
14→DIGITAL2番ピン

なお、可変抵抗の両端はそれぞれ5VとGNDにつなげてあります。

で、スケッチは次の通り。


#include

LiquidCrystal lcd(12, 10, 5, 4, 3, 2);

void setup()
{
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("hello, world!");
lcd.setCursor(1, 1);
lcd.print("I'm arduino.");
}

void loop() {}


画面が映らなかった場合、可変抵抗の設定がおかしいかもです。
適当に精密ドライバーでぐりぐりやると映るかと。

簡単に補足すると、
LiquidCrystal型の変数lcdを用意
lcd.beginでどんなLCDディスプレイなのか定義
lcd.clearで初期化
lcd.setCursorで文字の書き出し開始地点を指定
lcd.printで文字を書き出し
特にループさせるような内容でもないのでloop()関数は定義のみ

みたいな感じですかね?
初心者だからよく分からんが。

ああ、ついでに結果は次の感じ。ついったにうpったのと同じですが。

こんなに安く、しかもお手軽にマイコンの練習機が買えるのは良い時代になったものですね。
また機会があったら遊びましょう。

拍手

コメント













カレンダー

12 2025/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

アーカイブ

AD

Azkishはamazon.co.jpを宣伝しリンクすることによって サイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。