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);
}