LCDシールドキット

No Image

Amazonで注文していたArduinoのLCDシールドキットが届きました(∩´∀`)∩ワーイ
早速組み立てて遊んでみました。

スポンサーリンク

LCDシールドキット

はんだづけして思ったのがランドが結構小さい・・・
はんだがはみ出さないかドキドキです。
キットに入っていた半固定抵抗はちょっとした黒歴史があるのでいいものに変えました。
高専祭の準備の時に調節してたらポロッと上部がとれたんですよね(\'A`
それ以来、その半固定抵抗は買わないと決めています(´・ω・`)
足の配置が若干違うので大丈夫かなと思ったら基板のほうが既に対応してましたよ。
スイッチサイエンスさんさすがです、というかありがとうございます。

というわけで、そんなに苦労することなく完成しました。
LCDシールドキット完成
どうでもいいけどピンヘッダとかピンソケットとかを折るのって緊張するよね。
私は変なところで几帳面なので本来切るところの前のピンを切ってガリガリ削って整えます。
1本無駄になるけど気にしません。

完成したのでサンプルプログラムを手当たり次第やってみました。
大体一緒だったので3個だけですけどね・・・
もうちょっと勉強してなにかのログとかを流してみたいです。

Hello, World!

Hello World!

#include <LiquidCrystal.h>

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

void setup()
{
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Hello, World!");
  lcd.setCursor(5, 1);
  lcd.print("Arduino.");

  byte heart[8] = {
    B00000,
    B01010,
    B11111,
    B11111,
    B01110,
    B00100,
    B00000,
  };

  lcd.createChar(0, heart);
  lcd.setCursor(15, 1);
  lcd.write((uint8_t)0);

}

void loop() {}

ナンデモ ヒトリゴト

ナンデモ ヒトリゴト

#include <LiquidCrystal.h>

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

//ナンデモ ヒトリゴト
char text[] = {0xC5,0xDD,0xC3,0xDE,0xD3,0xA0,0xCB,0xC4,0xD8,0xBA,0xDE,0xC4};

void setup() {
lcd.begin(16, 2);
lcd.print(text);//文章を表示
}

void loop() {}

日付と時刻

DateTime

#include <DateTime.h>
#include <DateTimeStrings.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
time_t prevtime;

int year = 2011;
int month = 10;
int day = 17;
int hour = 20;
int minute = 48;
int second = 34;

void setup() {
  lcd.begin(16, 2);
  prevtime = DateTime.makeTime(second,minute,hour,day,month,year);
  DateTime.sync(prevtime);
}

void loop() {
  while( prevtime == DateTime.now() ){
    delay(100);
  }
  DateTime.available();
  digitalClockDisplay();
}

void digitalClockDisplay(){
  lcd.setCursor(0,0);
  lcd.print(DateTimeStrings.dayStr(DateTime.DayofWeek));
  lcd.print(" ");
  lcd.print(DateTimeStrings.monthStr(DateTime.Month));
  lcd.print(" ");
  lcd.print(DateTime.Day,DEC);
  lcd.print(" ");
  lcd.print(DateTime.Year+1900,DEC);

  lcd.setCursor(0,1);
  lcd.print("     ");
  lcd.print(DateTime.Hour,DEC);
  printDigits(DateTime.Minute);
  printDigits(DateTime.Second);
}

void printDigits(byte digits){
  lcd.print(":");
  if(digits < 10)
    lcd.print(\'0\');
  lcd.print(digits,DEC);
}
LCDシールドキット

スポンサーリンク

Leave a Comment