Quick

    아두이노 FSR 압력 센서 완벽 가이드

 

목록으로

안녕하세요, 나도메이커입니다.

'광센서'는 스마트 조명부터 스마트팜까지 활용 범위가 매우 넓습니다. 오늘은 아두이노와 라즈베리파이, 젯슨 사용자를 위해 광센서의 종류별 특징과 실무적인 연결 팁을 알려드리겠습니다.

◆ 1. 광센서, 프로젝트 목적에 맞춰 고르자

광센서는 빛을 감지하는 원리에 따라 선택지가 나뉩니다. 목적에 맞는 센서를 고르는 것이 프로젝트 완성도를 결정짓는 첫걸음입니다.

▶ CDS(조도센서)
빛이 밝아지면 저항값이 낮아지는 소자입니다. 저렴하고 제어가 단순해 아두이노 입문용 조명 프로젝트에 제격입니다.

▶ 포토 다이오드
빛을 전류로 변환하며 반응 속도가 매우 빠릅니다. 로봇의 라인 트레이싱이나 고속 광통신에 적합합니다.

▶ 디지털 조도센서(BH1750)
I2C 통신으로 정확한 럭스(Lux)값을 출력합니다. 라즈베리파이나 젯슨처럼 정밀한 데이터 수집이 필요한 환경에서 필수적으로 활용됩니다.

◆ 2. 아두이노에서 CDS 센서 제대로 쓰는 법

CDS는 저항 변화를 감지해야 하므로 전압 분배 회로 구성이 필수입니다.

▶ 회로 연결
[5V 전원] → [CDS] → (아두이노 A0 핀 연결) → [10kΩ 저항] → [GND] 순으로 직렬 연결하세요.

▶ 저항 선정
보통 10k옴 고정 저항을 풀다운 저항으로 사용합니다. 센서 민감도를 높이고 싶다면 저항값을 4.7k옴이나 22k옴으로 변경해 감지 범위를 조정할 수 있습니다.

▶ 데이터 확인
analogRead(A0) 함수로 0~1023 값을 읽은 뒤, map() 함수를 통해 PWM값(0~255)으로 변환하면 LED 밝기를 손쉽게 제어할 수 있습니다.

◆ 3. 라즈베리파이와 젯슨 활용 전략

라즈베리파이와 젯슨은 아날로그 입력(ADC) 핀이 없으므로 CDS 센서를 직접 연결하기 어렵습니다. 아래 방법으로 대응하세요.

▶ 디지털 센서 활용
BH1750과 같은 I2C 방식 센서를 사용하면 점퍼 케이블 4개(VCC, GND, SDA, SCL)만 연결해도 라이브러리를 통해 즉시 정밀한 조도 값을 읽을 수 있습니다.

▶ 카메라 활용
젯슨 보드라면 카메라 모듈의 영상 밝기를 계산해 광센서처럼 활용하는 고도화된 방식도 가능합니다. 단순 조도 측정을 넘어 영상 기반의 지능형 조명 제어로 확장할 수 있습니다.

◆ 4. 센서 노이즈 잡는 2가지 방법

데이터가 튀는 현상(Hunting)은 프로젝트의 신뢰도를 떨어뜨립니다. 다음 두 가지 방법으로 해결하세요.

▶ 첫째, 이동 평균 필터(Moving Average Filter)
한 번의 값을 믿지 말고, 10번 정도 연속으로 측정해 평균을 내세요. 데이터가 한결 부드러워집니다.

// 이동 평균 필터 예시 코드
int total = 0;
for(int i=0; i<10; i++) {
??total += analogRead(A0);
??delay(10);
}
int averageValue = total / 10;

▶ 둘째, 하드웨어 바이패스 커패시터
센서의 전원 단자와 GND 사이에 0.1μF 세라믹 커패시터를 배치하세요. 미세한 전원 노이즈를 걸러주어 센서 값을 훨씬 안정적으로 잡아줍니다.

◆ 5. 기준값 자동 설정으로 완성도 높이기

광센서를 쓸 때 가장 중요한 것이 '기준값 잡기'입니다.

고정된 숫자를 문턱값으로 쓰면 설치 환경이 바뀔 때마다 동작이 달라져 신뢰성이 크게 떨어집니다. 시스템이 켜지면 3초 정도 주변 빛을 먼저 측정해 평균치를 계산하고, 그 값을 기준으로 문턱값을 자동으로 설정하도록 코드를 구성해보세요. 이 방법 하나만으로도 단순한 실험 장치에서 벗어나 실생활 환경에서 안정적으로 동작하는 제대로 된 기기를 만들 수 있습니다.

?▼?해당 프로젝트에서 나온 상품은 아래에서 확인 가능합니다 ▼

실습준비물

연관 컨텐츠

결제 및 주문

공지사항 목록