1 https github commarcoschwartzLiquid CrystalI 2 C include
• 라이브러리 다운로드 및 설치 1 https: //github. com/marcoschwartz/Liquid. Crystal_I 2 C
#include <Wire. h> // i 2 C 통신을 위한 라이브러리 #include <Liquid. Crystal_I 2 C. h> // LCD 1602 I 2 C용 라이브러리 Liquid. Crystal_I 2 C lcd(0 x 27, 16, 2); // 접근 주소 : 0 x 3 F or 0 x 27 void setup() { lcd. begin(); // LCD 초기화 // Print a message to the LCD. lcd. backlight(); // backlight 켜기 lcd. set. Cursor(0, 0); // 1번째, 1라인 lcd. print("Hello, world!"); lcd. set. Cursor(0, 1); // 1번째, 2라인 lcd. print("Enjoy - Arduino"); } void loop() {}
#include <Wire. h> #include <Liquid. Crystal_I 2 C. h> Liquid. Crystal_I 2 C lcd(0 x 27, 16, 2); void setup() { lcd. begin(); } void loop() { //Backlight on/off lcd. backlight(); lcd. print("BACKLIGHT ON"); lcd. set. Cursor(0, 1); lcd. print("AFTER 5 SEC OFF"); delay(5000); lcd. no. Backlight(); delay(3000); lcd. clear(); //display on/off lcd. backlight(); lcd. display(); lcd. print("DISPLAY ON!"); lcd. set. Cursor(0, 1); lcd. print("AFTER 5 SEC OFF"); delay(5000); lcd. no. Display(); delay(3000); lcd. display(); lcd. clear(); //cursor lcd. print("CURSOR APPEAR"); lcd. set. Cursor(0, 1); lcd. cursor(); delay(5000); lcd. clear(); //corsor move lcd. print("CURSOR MOVE"); for (int i=0; i < 10 ; i++) { lcd. set. Cursor(i, 1); delay(500); } lcd. clear(); //blink cursor lcd. print("CURSOR BLINK"); lcd. set. Cursor(5, 1); lcd. blink(); delay(5000); lcd. no. Cursor(); lcd. clear();
//write function lcd. print("ASCII CODE WRITE"); lcd. set. Cursor(0, 1); lcd. write(36); lcd. write(37); lcd. write(38); delay(5000); lcd. clear(); //scroll right, left lcd. print("SCROLL RIGHT"); for (int position. Counter = 0; position. Counter < 16; position. Counter++) { lcd. scroll. Display. Right(); delay(500); } lcd. clear(); lcd. print(" SCROLL LEFT"); for (int position. Counter = 0; position. Counter < 16; position. Counter++) { lcd. scroll. Display. Left(); delay(500); } lcd. clear(); //autoscroll lcd. print(" AUTO SCROLL"); lcd. set. Cursor(15, 1); lcd. autoscroll(); for (int i=0; i < 10 ; i++) { lcd. print(i); delay(500); } lcd. clear(); lcd. begin(); }
int analog. Pin = 0; // 워터센서 analog port 0 연결 선언 int val = 0; // 전류변화값 변수선언 void setup () { pin. Mode(13, OUTPUT); Serial. begin (9600); } // 디지털 13번 포트를 LED OUTPUT 으로 설정 // 시리얼모니터 설정 void loop() { val = analog. Read(analog. Pin); // analog. Pin 의 변화 값(전류 값)을 읽음 if (val > 100) // val 값이 100이 넘으면 (전류가 100이 넘으면) { digital. Write(13, HIGH); // LED ON } else // val 값이 100이하면 (전류가 100이하면) { digital. Write(13, LOW); // LED OFF } Serial. println(val); // 시리얼모니터에 전류 값 표시 delay (500); }
void loop(){ val = digital. Read(7); // 센서 신호값을 읽어와서 val에 저장 if (val == HIGH) { // 센서 신호값이 HIGH면(인체 감지가 되면) digital. Write(9, HIGH); // 1번 LED ON digital. Write(8, LOW); // 2번 LED OFF if (pir. State == LOW){ Serial. println("Welcome!"); // 시리얼 모니터 출력 pir. State = HIGH; } } else { // 센서 신호값이 LOW면(인체감지가 없으면) digital. Write(9, LOW); // 1번 LED OFF digital. Write(8, HIGH); // 2번 LED ON if (pir. State == HIGH){ Serial. println("Good Bye~"); // 시리얼 모니터 출력 pir. State = LOW; } } }
int trig = 4; int echo = 3; int led[] = { 8, 12, 13}; //각 핀 변수로 설정 void setup() { pin. Mode(trig, OUTPUT); pin. Mode(echo, INPUT); //음파를 받아야 하니 INPUT으로 for(int i=0; i<3; i++) pin. Mode(led[i], OUTPUT); //각 변수 출력으로 설정 Serial. begin(9600); //시리얼통신 시작 } void loop() { digital. Write(trig, HIGH); delay. Microseconds(10); digital. Write(trig, LOW); //초음파를 발사!
int duration = pulse. In(echo, HIGH); //초음파가 발사되면 물체까지의 시간을 측정하여 //변수 duration에 넣어준다. int dis = duration / 29 / 2; //측정된 시간을 cm단위로 바꿔준다. if(dis < 10) //거리가 12 cm보다 가까워지면 digital. Write(led[0], HIGH); //led[0]을 켜라 else //아니면 digital. Write(led[0], LOW); // led[0]을 꺼줘라. if(dis < 5) digital. Write(led[1], HIGH); else digital. Write(led[1], LOW); if(dis <4) digital. Write(led[2], HIGH); else digital. Write(led[2], LOW); delay(10); // 0. 1초대기 작동을 빠르게 하고 싶다면 delay를 // 낮춰주면 된다.
- Slides: 26