2025. 2. 11. 13:34ㆍ프로그래밍/시스템
디지털 신호와 아날로그 신호의 차이
GPIO 핀은 일반적으로 **디지털 신호(0과 1)**를 주고받지만, 일부 마이크로컨트롤러(아두이노 등)에서는 **아날로그 신호(연속적인 전압 값)**도 처리할 수 있다.
이 두 가지 신호의 차이를 이해하는 것은 센서, LED, 모터 제어 등 GPIO를 활용한 프로젝트에서 매우 중요하다.
📌 1. 디지털 신호 (Digital Signal)
디지털 신호는 **이진수(0과 1)**로만 구성되며, GPIO 핀에서는 보통 HIGH(1) 또는 LOW(0) 값으로 표현된다.
이는 단순한 ON/OFF 상태를 나타내므로, 버튼, 스위치, LED 같은 장치를 제어하는 데 적합하다.
✔ 디지털 신호의 특징
✅ 신호가 0 또는 1 (LOW 또는 HIGH) 만 가질 수 있음.
✅ 일반적으로 3.3V 또는 5V가 HIGH(1), 0V가 LOW(0) 로 사용됨.
✅ 잡음(Noise)에 강하며, 신뢰성이 높음.
✅ 단순한 ON/OFF 상태만 표현 가능하여, 정확한 센서 데이터 측정에는 부적합.
💡 디지털 신호 활용 예시
✅ 버튼 입력 감지 → 버튼을 눌렀는가? (Yes: 1, No: 0)
✅ LED 점멸 → LED가 켜져 있는가? (Yes: 1, No: 0)
✅ 릴레이 스위치 제어 → 특정 전자기기 ON/OFF
🔧 디지털 신호 읽기 예제 (C++)
아래 예제는 버튼이 눌렸는지(0 또는 1)를 감지하는 코드이다.
#include <wiringPi.h>
#define BUTTON_PIN 2 // GPIO 2번 핀
int main() {
wiringPiSetup();
pinMode(BUTTON_PIN, INPUT); // GPIO 2번을 입력 모드로 설정
while (1) {
int buttonState = digitalRead(BUTTON_PIN); // 버튼 상태 읽기
if (buttonState == HIGH) {
printf("버튼이 눌렸습니다!\n");
}
delay(100); // 0.1초 간격으로 확인
}
return 0;
}
📌 2. 아날로그 신호 (Analog Signal)
아날로그 신호는 연속적인 값을 가지며, 일반적으로 전압(0V ~ 5V 등) 으로 표현된다.
센서(온도, 조도, 거리 센서 등)는 측정된 물리량을 연속적인 전압 값으로 출력하며, 이를 **아날로그-디지털 변환기(ADC)**를 사용하여 디지털 값으로 변환해야 한다.
✔ 아날로그 신호의 특징
✅ 신호가 **연속적인 값(0V ~ 5V 등)**을 가짐.
✅ 온도, 조도, 거리 등 정확한 센서 데이터 측정 가능.
✅ 노이즈(Noise)에 취약하여 필터링이 필요할 수 있음.
✅ 마이크로컨트롤러에 따라 ADC 기능이 없는 경우 별도의 ADC 칩 필요.
💡 아날로그 신호 활용 예시
✅ 온도 센서 → 온도 변화에 따라 전압이 0V~5V로 변함.
✅ 조도 센서 → 빛의 강도에 따라 출력값이 달라짐.
✅ 가변 저항 (Potentiometer) → 다이얼을 돌려 LED 밝기 조절 가능.
🔧 아날로그 신호 읽기 예제 (Arduino C)
아래 코드는 아두이노에서 온도 센서(아날로그 값)를 읽어오는 예제이다.
int sensorPin = A0; // 아날로그 핀 A0 사용
int sensorValue;
void setup() {
Serial.begin(9600); // 시리얼 통신 시작
}
void loop() {
sensorValue = analogRead(sensorPin); // 아날로그 핀 A0에서 값 읽기 (0~1023)
Serial.print("센서 값: ");
Serial.println(sensorValue);
delay(1000);
}
🔹 동작 방식
✅ 센서의 출력값(0~5V)을 아날로그 핀(A0)에서 읽음.
✅ ADC(Analog to Digital Converter)를 통해 0~1023 범위의 디지털 값으로 변환.
✅ 시리얼 모니터에 현재 센서 값을 출력.
📌 디지털 vs 아날로그 신호 비교
비교 항목 | 디지털 신호 | 아날로그 신호 |
신호 형태 | 0과 1 (이진수) | 연속적인 값 |
전압 범위 | 0V 또는 5V | 0V ~ 5V (변화 가능) |
사용 예 | 버튼, LED, 릴레이 | 온도 센서, 조도 센서 |
장점 | 잡음에 강함, 신뢰성 높음 | 센서 데이터 정확하게 측정 가능 |
단점 | ON/OFF만 가능 (세밀한 조정 불가) | 노이즈에 취약 |
결론
- 디지털 신호는 0 또는 1 (HIGH 또는 LOW) 만 가지며, 버튼/LED 제어에 적합하다.
- 아날로그 신호는 연속적인 값(0V~5V) 을 가지며, 온도, 조도 등 센서 데이터 측정에 필수적이다.
- 아날로그 신호를 처리하려면 ADC 변환 과정이 필요하다.
- GPIO를 사용하여 디지털 및 아날로그 장치를 적절히 제어하면 다양한 프로젝트를 구현할 수 있다. 🚀
'프로그래밍 > 시스템' 카테고리의 다른 글
GPIO 기본 개념 - 3. 풀업 저항과 풀다운 저항 개념 (0) | 2025.02.11 |
---|---|
GPIO 기본 개념 - 2. 입력(센서, 버튼) vs 출력(LED, 모터) 개념 (0) | 2025.02.11 |
GPIO 개요 - 3. GPIO가 사용되는 대표적인 플랫폼 (0) | 2025.02.11 |
GPIO 개요 - 2. GPIO의 주요 역할 및 활용 사례 (0) | 2025.02.11 |
GPIO 개요 - 1. GPIO란? (General Purpose Input/Output 개념) (0) | 2025.02.11 |