Arduinoを使って、LCDの動作(配線)確認をします。作った回路通りにブレッドボードとジャンパーワイヤーで回路を作っていきます。ArduinoのPin番号とATmega328PのPin番号の対比は、googleでATmega328Pで検索すればゴロゴロ出てきます。
Arduinoで「ファイル」「スケッチ例」「LiquidCrystal」「HelloWorld」でひな型を開いて、ピン番号を変更していきます。Arduinoの例では固定値も変数として割り当てている(intとかで宣言している)のをよく見かけるけど、何となく#defineのほうが好きなので修正しました。
- /*
- * LCD RS pin to digital pin 8
- * LCD Enable pin to digital pin 10
- * LCD D4 pin to digital pin 4
- * LCD D5 pin to digital pin 5
- * LCD D6 pin to digital pin 6
- * LCD D7 pin to digital pin 7
- * LCD R/W pin to pin 9
- * LCD VSS pin to ground
- * LCD VCC pin to 5V
- * 10K resistor:
- * ends to +5V and ground
- * wiper to LCD VO pin (pin 3)
- */
- #define pinRS (8)
- #define pinE (10)
- #define pinRW (9)
- #define pinD4 (4)
- #define pinD5 (5)
- #define pinD6 (6)
- #define pinD7 (7)
- // include the library code:
- #include <LiquidCrystal.h>
- // initialize the library by associating any needed LCD interface pin
- // with the arduino pin number it is connected to
- LiquidCrystal lcd(pinRS, pinE, pinD4, pinD5, pinD6, pinD7);
- void setup() {
- pinMode(pinRW,OUTPUT);
- digitalWrite(pinRW,LOW);
- // set up the LCD's number of columns and rows:
- lcd.begin(16, 2);
- // Print a message to the LCD.
- lcd.print("hello, world!");
- }
- void loop() {
- // set the cursor to column 0, line 1
- // (note: line 1 is the second row, since counting begins with 0):
- lcd.setCursor(0, 1);
- // print the number of seconds since reset:
- lcd.print(millis() / 1000);
- }
うまくいきました。
コメントをお書きください