ArduinoにLCDを信号線3本で繋ぐ (IDE 1.0対応)
同じタイトルで前に書いた記事のライブラリを、LcdCore使用のIDE1.0以降にも対応させたので、ご紹介します。
回路は前と変わっていません。
シフトレジスタの74HC164を使い、Arduinoの使用ポート数を減らしています。また、74HC164のコントロールに使うData線を、LCDのRSとしても使用することでも使用ポートを増やさない工夫になっています。
ライブラリは以前のものをLcdCoreライブラリ使用タイプに変更しています。IDEは0022, 0023, 1.0, 1.0.1どれでも使えます。
サンプルスケッチ
#include <LcdCore.h> #include <Lcd74HC164.h> Lcd74HC164 lcd(2, 3, 4); void setup() { lcd.begin(16, 2); lcd.print("hello, world!"); } void loop() { lcd.setCursor(0, 1); lcd.print(millis()/1000); }
今回も標準のLiquidCrystalライブラリを使ったスケッチの一部(includeと変数生成部)を書換えるだけで簡単に使えるようになっています。
Lcd74HC164
Lcd74HC164型の変数を生成します。【構文】
Lcd74HC164 生成する変数名(data, clock, enable)
【パラメータ】
data: 74HC164のData(A,B)ピンおよび、LCDのRSピンに接続するArduino側のピン番号
clock: 74HC164のCKピンに接続するArduino側のピン番号
enable: LCDのenableピンに接続するArduino側のピン番号
「Lcd74HC164_20120528.zip」をダウンロード
このライブラリを使用するには、下のライブラリも必要になります。
このライブラリの記事はこちらです。
« 秋月のI2C接続キャラクタLCDモジュールACM1602NIをArduinoで使う | トップページ | LEDバッジの新作です »
「Arduino」カテゴリの記事
- bitDuinoでメロディを奏でてみた(2014.09.09)
- 世界最小?のArduino互換ボードを作ってみた(暫定版)(2014.08.27)
- 知らないとソン!? Arduinoの小ネタ色々(2014.07.05)
- WaveシールドをArduino MegaやArduino Leonardoで使える様にしてみた(2014.06.15)
コメント
この記事へのコメントは終了しました。
« 秋月のI2C接続キャラクタLCDモジュールACM1602NIをArduinoで使う | トップページ | LEDバッジの新作です »
はじめまして。midohajiと申します。
自分が使う、Arduinoクローン+LCD+SD+ブレッドボードをワンセットにした便利ボードに、「ArduinoにLCDを信号線3本で繋ぐ」を使わせて頂いたのですが、今回自分のサイトで製作記的なものを書かせて頂きました。
4/17のほうの記事ばかり見ていて、車輪の再発明というか1.0で似たようなライブラリを作成してしまったのと、ほぼそのまま、まりす様の回路を使わせて頂いたので、ご連絡させて頂きました。
何か不都合などありましたら、ご連絡お願い致します。
投稿: midohaji | 2012年6月18日 (月) 23時34分
コメントありがとうございます。
特に問題は無いですよ。
回路を活用・解説して頂いけるのはありがたいです。
投稿: まりす | 2012年6月19日 (火) 17時52分
はじめまして、宮城県のkkawaと申します。
「LCDを信号線3本で繋ぐ」の記事の簡潔な回路図に魅かれて、
私もPICで作ってみました。(今できたばかり!殆ど徹夜です。)
素晴らしいです!
シフトレジスタの出力と、LCDのデータピンの対応が潔くて、美しいですね~
プログラムもとてもシンプルに作ることができました。
私の頭では、シフトレジスタのデータ入力ピンとLCDのRS信号ピンを繋ぐ、
という発想はとてもできませんでした。
大感謝です!
投稿: kkawa | 2013年2月 4日 (月) 07時58分