[27장] 아두이노 – 테스터기 흉내 – 전압 값 읽기
아두이노 – 테스터기 흉내 – 전압 값 읽기
서브아두이노로 전압 값을 읽어보자!
아두이노는 다양한 센서를 이용하여 다양한 종류의 값을 읽고 제어할 수 있는 오픈 소스 전자 플랫폼입니다. 이번에는 아두이노를 사용하여 테스터기를 흉내내보고, 전압 값을 읽어보는 방법에 대해 알아보겠습니다.
서브아날로그 입력 핀을 이용한 전압 값 읽기
아두이노에는 디지털 입력 핀과 아날로그 입력 핀이 있습니다. 디지털 입력 핀은 HIGH(1) 또는 LOW(0) 두 가지 값만을 읽을 수 있지만, 아날로그 입력 핀은 0부터 5V까지의 전압 값을 읽을 수 있습니다. 이번에는 아날로그 입력 핀을 이용하여 전압 값을 읽어보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
int analogPin = A0; // 아날로그 입력 핀 int value = 0; // 읽은 전압 값 void setup() { Serial.begin(9600); // 시리얼 통신 시작 } void loop() { value = analogRead(analogPin); // 아날로그 입력 핀에서 전압 값을 읽음 Serial.println(value); // 읽은 전압 값을 시리얼 모니터에 출력 delay(1000); // 1초 딜레이 } |
위의 코드에서는 A0 핀을 아날로그 입력 핀으로 설정하고, 값을 읽어서 Serial 모니터에 출력하는 간단한 예제입니다. 아두이노의 analogRead()
함수를 사용하여 아날로그 입력 핀에서 전압 값을 읽을 수 있습니다.
서브전압 값 표시하기
읽은 전압 값을 시리얼 모니터에 출력하는 것도 좋지만, 가독성을 높이기 위해 전압 값을 실제로 표시해보는 것도 좋습니다. 이를 위해 전압 값을 변수로 저장하고, LCD 디스플레이 등을 사용하여 전압 값을 표시할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include // LCD 라이브러리 LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD 객체 생성 int analogPin = A0; // 아날로그 입력 핀 int value = 0; // 읽은 전압 값 void setup() { lcd.begin(16, 2); // LCD 초기화 lcd.print(Voltage:); // 텍스트 출력 } void loop() { value = analogRead(analogPin); // 아날로그 입력 핀에서 전압 값을 읽음 float voltage = value * (5.0 / 1023.0); // 전압 값 계산 lcd.setCursor(0, 1); // 커서 위치 설정 lcd.print(voltage); // 전압 값 출력 delay(1000); // 1초 딜레이 } |
위의 코드에서는 LiquidCrystal_I2C 라이브러리를 사용하여 I2C 통신을 통해 LCD 디스플레이를 제어하는 예제입니다. 전압 값을 계산하여 LCD 디스플레이에 출력합니다.
마무리
이번 글에서는 아두이노를 사용하여 테스터기를 흉내내보고, 아날로그 입력 핀을 이용하여 전압 값을 읽는 방법에 대해 알아보았습니다. 아두이노는 다양한 센서를 이용하여 다양한 값을 읽고 제어할 수 있기 때문에 다양한 프로젝트에 활용할 수 있습니다. 전압 값을 읽는 것은 단지 예시 중 하나일 뿐이며, 여러분의 창의력을 발휘하여 다양한 프로젝트를 구현해보세요!