안녕하세요! 여러분의 AI-IT 멘토, '파이컴'입니다. 😊
밤이 되면 저절로 켜지는 가로등, 스마트폰을 귀에 대면 스르륵 꺼지는 화면. 이런 똑똑한 기능들은 어떻게 가능한 걸까요? 바로 우리 주변의 '빛'을 읽어내는 작은 영웅, 빛 센서 덕분이랍니다.
오늘은 아두이노의 눈이 되어주는 '빛 센서'에 대해 속속들이 파헤쳐 보는 시간을 가질 거예요. 이 작은 부품 하나로 아두이노가 세상을 어떻게 느끼는지, 그 비밀을 함께 알아보러 가시죠!
Slide 1: 3장 센서로 세상 느끼기 - 빛 센서 알아보기
이번 시간에는 아두이노가 주변 환경을 인식하게 해주는 '센서' 시리즈의 첫 주자, 빛 센서에 대해 배워볼 거예요. 빛의 많고 적음을 감지해서 아두이노에게 알려주는 아주 중요한 부품이죠. 준비되셨나요?
Slide 2: 빛 센서의 개념
"빛 센서가 도대체 뭔가요?"
아두이노의 '눈'이라고 생각하면 쉬워요. 주변의 빛을 감지해서 그걸 전기 신호로 바꿔주는 역할을 하거든요.
- 정식 명칭: 광(光) 센서라고 불러요. 만드는 재료인 '황화카드뮴(CdS)'의 이름을 따서 CDS 센서라는 이름으로 더 자주 불린답니다.
- 역할: 빛의 세기를 감지해서 전기 신호로 변환해요.
- 실생활 예시:
- 어두워지면 자동으로 켜지는 가로등
- 통화 시 귀에 대면 화면이 꺼지는 스마트폰 근접 센서
이 작은 친구 하나만 있으면, 우리 아두이노도 "아, 눈부셔!" 혹은 "어휴, 캄캄하네!" 하고 느낄 수 있게 되는 거죠!
Slide 3: 빛 센서의 동작 원리 (1) - 빛에 따라 변신하는 저항
빛 센서는 겉보기에 주황색 꼬불꼬불한 선이 그려진 사탕처럼 생겼어요. 하지만 이 친구의 진짜 정체는 바로 '저항'이랍니다. 그냥 저항이 아니라, 빛의 양에 따라 성격이 확확 바뀌는 아주 특별한 저항이죠. 마치 마법의 도로 같아요!
- 🌑 어두울 때 (밤): "꼼짝 마! 못 지나간다!"
- 빛이 없으면 이 친구는 아주 고집 센 저항으로 변해요. 전기가 흐르는 길을 꽉 막아서 저항값이 엄청나게 커져요. (전기가 거의 흐르지 못해요.)
- ☀️ 밝을 때 (낮): "어서 오세요~ 활짝 열려있어요!"
- 빛을 받으면 갑자기 친절한 저항으로 변신해요. 막고 있던 길을 활짝 열어줘서 저항값이 아주 작아진답니다. (전기가 콸콸 잘 흘러요.)
아두이노는 바로 이 저항값의 변화를 읽어서 "아, 지금 저항이 작은 걸 보니 밖이 환하구나!" 하고 빛의 세기를 알아차리는 거예요.
Slide 4: 빛 센서의 동작 원리 (2) - 혼자는 안돼요! 10kΩ 저항과의 협업
"선생님, 그럼 빛 센서만 아두이노에 꽂으면 되나요?"
땡! 아쉽지만 그건 아니에요. 빛 센서는 혼자서는 아무것도 할 수 없어요. 반드시 짝꿍인 '일반 저항(보통 10kΩ 저항을 사용해요)'과 함께 연결해야만 전압(V)의 변화를 만들어낼 수 있답니다.
이 원리를 전문 용어로 '전압 분배(Voltage Divider)'라고 하는데, 쉽게 말해 '줄다리기 시합'과 같아요.
- 한쪽 팀: 빛의 세기에 따라 힘(저항)이 바뀌는 빛 센서 팀
- 반대쪽 팀: 항상 일정한 힘을 가진 고정 저항(10kΩ) 팀
빛이 밝아져서 빛 센서 팀의 힘이 약해지면, 줄(전압)이 고정 저항 쪽으로 끌려가겠죠? 반대로 어두워져서 빛 센서 팀의 힘이 세지면 줄을 자기 쪽으로 당겨올 거고요. 아두이노는 이 줄다리기에서 줄이 어디쯤 위치하는지를 보고 빛의 세기를 판단하는 거랍니다. 정말 재밌는 원리죠?
Slide 5: 풀다운(Pull-down) 저항 연결 방식
자, 그럼 짝꿍 저항과 어떻게 연결해야 할까요? 가장 많이 쓰는 '풀다운' 방식부터 알아볼게요. 2장에서 버튼의 '유령 신호'를 잡을 때 썼던 개념인데, 기억나시나요?
- 연결 방법: 짝꿍 저항(10kΩ)을 바닥(GND)에 연결하는 방식이에요. 이름처럼 아래(down)로 끌어내려 기준을 잡아주는 거죠.
- 동작 결과: "밝을수록 숫자가 커져요!" (직관적이라 이해하기 쉬워요)
- 🌑 어두울 때: 빛 센서의 저항이 커져서 5V 전기를 막아요. 그럼 아두이노 핀은 바닥(GND)에 연결된 10kΩ 저항의 영향을 받아 전압이 0V에 가까워져요. (읽히는 값: 0에 가까움)
- ☀️ 밝을 때: 빛 센서의 저항이 작아져서 5V 전기가 콸콸 흘러요. 바닥으로 빠지는 것보다 들어오는 힘이 세져서 전압이 5V에 가까워져요. (읽히는 값: 1023에 가까움)
책이나 대부분의 키트에서 이 방식을 사용하니 꼭 기억해두세요!
Slide 6: 풀업(Pull-up) 저항 연결 방식
이번엔 반대 방식인 '풀업'을 알아볼까요?
- 연결 방법: 짝꿍 저항(10kΩ)을 천장(5V)에 연결하는 방식이에요. 위(up)로 끌어올려 기준을 잡아주는 거죠.
- 동작 결과: "밝을수록 숫자가 작아져요!" (마치 청개구리 같아요!)
- ☀️ 밝을 때: 빛 센서 저항이 작아져서 전기가 바닥(GND)으로 쉽게 빠져나가는 길이 열려요. 그래서 전압이 0V에 가까워져요. (읽히는 값: 0에 가까움)
- 🌑 어두울 때: 빛 센서 저항이 커져서 바닥(GND)으로 가는 길을 막아버려요. 전기가 빠져나가지 못하고 고여서, 천장(5V)에 연결된 저항의 영향을 받아 전압이 5V에 가까워져요. (읽히는 값: 1023에 가까움)
풀다운과 결과가 정반대로 나오니, 코드를 짤 때 헷갈리지 않도록 주의해야 해요!
Slide 7: 저항이 꼭 필요한 이유
"귀찮은데 그냥 저항 빼고 센서만 연결하면 안 되나요?"
정말 좋은 호기심이에요! 하지만 결론부터 말하면 절대 안 돼요.
앞서 말했듯, 아두이노가 읽는 전압 값은 '줄다리기 시합'의 결과예요. 그런데 상대팀인 고정 저항 팀이 없으면 시합 자체가 성립되지 않겠죠?
- 저항 없이 연결하면 생기는 문제
- 변화 감지 불가: 줄(전압)이 그냥 5V 쪽에 묶여있는 것과 같아서, 밝든 어둡든 항상 똑같은 값(1023)만 나와요.
- 쇼트(합선) 위험: 경우에 따라 회로에 무리를 주어 아두이노가 망가질 수도 있어요.
따라서 빛의 변화를 감지하려면, 반드시 비교 대상이 되어주는 고정 저항이 필수라는 사실, 꼭 기억해주세요!
Slide 8: 빛 센서 모듈 (귀차니즘 해결사!)
매번 저항을 찾아서 빵판에 꽂는 게 조금 번거롭게 느껴질 수 있어요. 그런 분들을 위해 나온 해결사가 바로 '빛 센서 모듈'입니다.
- 모듈의 장점:
- 귀찮았던 10kΩ 저항이 이미 기판 위에 작은 칩 형태로 내장되어 있어요.
- VCC(5V), GND, SIG(신호) 선 3개만 아두이노에 꽂으면 되니 회로 구성이 아주 간단해져요.
- 연결 방법:
VCC또는+→ 아두이노5VGND또는-→ 아두이노GNDSIG또는S→ 아두이노 아날로그 핀 (A0)
- 🚨 주의사항:
- 이 편한 친구에게도 함정은 있어요. 모듈 제조사 마음대로 회로를 만들기 때문에, 어떤 건 풀다운(밝으면 커짐) 방식이고 어떤 건 풀업(밝으면 작아짐) 방식이에요. '뽑기 운'이 좀 필요하죠.
- 일단 연결해보고, 센서를 손으로 가렸을 때 숫자가 0으로 가는지 1023으로 가는지를 보고 어떤 방식인지 확인한 후에 코딩을 해야 한답니다!
Slide 9: 빛의 밝기, 숫자로 바꿔보기
아두이노는 빛의 밝기를 0부터 1023까지의 숫자로 표현해요. (10kΩ 저항을 GND에 연결한 풀다운 방식 기준)
- 밝기별 대표적인 숫자 범위
- ☀️ 아주 밝은 대낮 (or 손전등): 저항이 매우 작아져서
800 ~ 1000사이의 높은 값이 나와요. - 🌑 칠흑 같은 어둠 (or 손으로 가렸을 때): 저항이 매우 커져서
0 ~ 100사이의 낮은 값이 나와요. - 💡 평범한 실내 형광등: 환경에 따라 다르지만 보통
300 ~ 600사이의 값이 나와요.
- ☀️ 아주 밝은 대낮 (or 손전등): 저항이 매우 작아져서
이 숫자를 이용하면 간단한 '스마트 가로등' 로직을 만들 수 있겠죠?"만약(if) 빛 센서 값이 300보다 작으면(어두우면), LED를 켜라!"
[잠깐!] 왜 센서 값이 계속 미세하게 떨리면서 춤을 추죠? 고장인가요?
아니요, 아주 정상이에요! 우리 눈에는 보이지 않지만, 형광등은 1초에 60번씩 깜빡이고 있답니다. 아두이노는 우리 눈보다 훨씬 눈치가 빨라서 그 미세한 빛의 떨림까지 전부 읽어내기 때문에 숫자가 계속 바뀌는 것처럼 보이는 거예요. 신기하죠?
오늘은 아두이노의 눈, 빛 센서(CDS 센서)에 대해 알아봤어요. 빛의 양에 따라 저항값이 변하는 원리부터, 혼자서는 안되고 꼭 짝꿍 저항과 '줄다리기'를 해야 한다는 사실까지! 이제 여러분은 빛의 세기를 숫자로 읽어 다양한 프로젝트에 활용할 수 있게 되었습니다.
오늘 배운 내용을 바탕으로 '어두워지면 자동으로 켜지는 무드등' 같은 나만의 프로젝트에 도전해보는 건 어떨까요? 다음 시간에도 더 재미있는 센서 이야기로 돌아오겠습니다! 궁금한 점은 언제든 댓글로 남겨주세요. 😊
이 포스팅의 내용은 교재 [주니어 공학교실 아두이노의 기초] **-** 페이지에 수록된 내용입니다.
댓글 없음:
댓글 쓰기