[아두이노]
전압센서 모듈을 이용하여 LCD에 센서값을 표시하기
안녕하세요 이번에는 전압센서 모듈(voltage module)과 LCD(I2C LCD)에 대해서 알아보도록 하겠습니다.
간단소개
1. 전압센서모듈(voltage module)을 이용하여 건전지의 전압을 측정
2. 전압센서모듈에서 측정된 값을 LCD에 표시
핵심부품
- 아두이노 전압센서 모듈
작동 전압: 2.5V~ 6V
I2C 프로토콜 지원
I2C 주소값: 0x27
기존의 핀 대신 4개의 핀으로 제어가 가능
부품목록
브레드보드
회로도
소스코드
라이브러리 설치
스케치 - 라이브러리 포함하기 - 라이브러리 관리
LiquidCrystal 를 검색하여 설치
// I2C LCD를 쉽게 제어하기 위한 라이브러리를 추가해줍니다.
#include <LiquidCrystal_I2C.h>
// 16X2 크기의 LCD 객체를 생성합니다.
// 만약 LCD 화면이 나오지 않으면 0x3F 대신 0x27를 넣어주세요.
LiquidCrystal_I2C lcd(0x27, 16, 2);
int analogPin = A0; // 빗물감지센서 analog in A0 연결 선언
int led = 13; // LED 디지털 13번 포트 연결 선언
int data = 0; // 센서값의 변수 연결 선언
void setup(){
pinMode(led, OUTPUT); // 디지털 13번 포트를 LED OUTPUT 으로 설정
Serial.begin (9600); // 시리얼모니터 설정
lcd.init(); // LCD를 초기화 합니다.
lcd.backlight(); // LCD의 백라이트를 켜줍니다.
}
void loop(){
int data = analogRead(analogPin); // analogPin 의 변화값(전류값)을 읽음
if(isnan(data)){
Serial.println("Failed to read from rain_drop sensor!");
}
else if(data < 800){ // val 값이 800미만 (전류가 800 미만이면)
digitalWrite(led, HIGH); // LED ON
}
else{ // val 값이 800이상 (전류가 800 이상이면)
digitalWrite(led, LOW); // LED OFF
}
show(data);
delay (500);
}
void show(int val){
// LCD를 초기화 합니다.
lcd.init();
// 센서값을 시리얼 모니터에 출력해 줍니다.
Serial.println((int)val);
// LCD에 출력할 메세지를 만듭니다.
String text = "Rain Value";
// 첫번째 줄, 첫번째 칸에 text 출력
lcd.setCursor(0, 0);
lcd.print(text);
// 두번째 줄, 첫번째 칸부터 출력
lcd.setCursor(0, 1);
lcd.print(val);
}
구현사진
시리얼 모니터를 이용하여 확인해보시면 아래와 같이 값이 정상적으로 확인이 됩니다!
감사합니다.
'프로그래밍 > 아두이노[Arduino]&라즈베리파이[Raspberry Pi]' 카테고리의 다른 글
[아두이노] OLED 사용해보기 [OLED에 텍스트 표시, 예제 실습] (3) | 2019.05.01 |
---|---|
[아두이노] 조이스틱[joystick] 모듈을 사용하여 LED제어하기 (4) | 2019.04.29 |
[아두이노] 빗물감지센서 모듈을 사용하여 LCD에 센서값을 표시하기 + LED 제어 (0) | 2019.04.26 |
[아두이노] 수위센서[Water sensor]모듈을 사용하여 LCD에 센서값을 표시하기 + LED 제어 (0) | 2019.04.26 |
[아두이노] 1채널 릴레이(Relay) 모듈 간단 사용법(LED 제어) (0) | 2019.04.25 |