

void setup() {
  Serial.begin(9600);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  
  // 출력 초기화 
  digitalWrite(7,1);
  digitalWrite(8,1);
}
void loop() {
  delay(1000);
  // Relay ON
  digitalWrite(7,0);
  digitalWrite(8,0);
  
  delay(1000);
  // Relay OFF
  digitalWrite(7,1);
  digitalWrite(8,1);
  
}
-> 이렇게 Relay의 ON/OFF를 하면 기계식 접점이 딸깍 딸깍 하는 소리가 난다.
int timer;
void setup() {
  Serial.begin(9600);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  
  // 출력 초기화 
  digitalWrite(7,1);
  digitalWrite(8,1);
}
void loop() {
  if (timer == 10) {
    digitalWrite(7, 0);
    Serial.println("Relay 1 is ON");
  } else if (timer == 20) {
    digitalWrite(8, 0);
    Serial.println("Relay 2 is ON");
  } else if (timer == 30) {
    digitalWrite(7,1);
    digitalWrite(8,1);
    Serial.println("Relay 1,2 are OFF");
  }
  timer += 1;
  delay(1000);
}
화면에 정해진 형태의 문자를 정해진 갯수만큼 표시할 수 있는 LCD 디스플레이 장치
LCD 표시부 + LCD 제어부
LCD 제어부안에는 명령/데이터 발생을 위한 2개의 레지스터, Busy Flag, Address Counter, 문자 발생 램, 문자 발생 롬, 데이터 표시 램으로 구성
이미 존재하는 library를 활용한다. -> LiquidCrystal.h


LiquidCrystal.h 헤더를 추가한다.
#include <LiquidCrystal.h>
-> Arduino.cc > 예제 > liquiedCrystal을 참고한다.
#include <LiquidCrystal.h>
const int rs = 10, en = 9, d4 = 8, d5 = 7, d6 = 6, d7 = 5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}
void loop() {
  lcd.setCursor(0, 1);
  lcd.print("Timer: ");
  lcd.print(millis() / 1000);
}
#include <LiquidCrystal.h>
const int rs = 10, en = 9, d4 = 8, d5 = 7, d6 = 6, d7 = 5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int timer;
void setup() {
  lcd.begin(16, 2);
  lcd.print("Timer: ");
}
void loop() {
  lcd.setCursor(0, 1);
  lcd.print(timer);
  timer += 1;
  delay(100);
  if (timer >= 999) {
    timer = 0;
  }
}
#include <LiquidCrystal.h>
const int rs = 10, en = 9, d4 = 8, d5 = 7, d6 = 6, d7 = 5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
unsigned long H, M, S, m;
void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.print("Timer: ");
}
void loop() {
  lcd.setCursor(0, 1);
  unsigned long current = millis();
  unsigned long readTime = current/1000;
  m = current%1000;
  S = readTime%60;
  M = (readTime/60)%60;
  H = (readTime/(60*60))%24; 
  
  Serial.print(H);
  Serial.print(":");
  Serial.print(M);
  Serial.print(":");
  Serial.print(S);
  Serial.print(".");
  Serial.println(m);
  
  lcd.print(H);
  lcd.print(":");
  lcd.print(M);
  lcd.print(":");
  lcd.print(S);
  lcd.print(".");
  lcd.print(m);
  
}