안녕하세요!~ 어느덧 이번 주말이 돌아왔네요.
먹고 살기 바빠서 그런지 일주일에 한번씩 포스팅을 하게되네요ㅎㅎ
이번에는 제목 그대로 빛의 세기에 따라 LED의 밝기를 조절해보겠습니다.
빛이 부족하면 LED의 빛이 더 밝게하고 반대로 빛이 많이 들어오면 다시 LED가 덜 밝게하는 실습입니다.
준비물은 다음과 같습니다.
아두이노보드: 1개
저항기: 2개(270옴, 1K옴)
브레드보드: 1개
LED: 1개
점프선
CdS셀:1개
배선은 저번에한 LCD실습보다 간단한 합니다.
아래 그림과 같이 참고 하셔서 구성을 하시면 됩니다.(신나는 프로토타이핑 책 참고)
그럼 랩뷰 코드를 한 번 보실까요?
부분적으로 어떻게 구성되어있는지 보겠습니다.
아두이노 Init 함수를 넣어준 후 Set Digital Pin mode VI를 사용해줍니다. 나중에 포토쎌에서 들어오는 값에 따라 LED를 작동시켜주기 위한 사전 작업이라 생각하시면 됩니다. 아웃풋으로 설정해 주시고 9번 핀을 설정해 줍니다. 9번 핀을 설정해주는 이유는 단순히 LED를 켜고 끄기 위한 과정이 아닌 빛의 밝기를 조절하기 위한 과정이기 때문에 PWM 설정이 필요합니다. 아두이노에서 9,10,11번이 PWM 설정이 가능한 곳이기 때문에 9번을 설정해 놓았습니다.
다음으로 While 루프안의 과정을 설명하자면 포토셀 VI와 PWM Write Pin VI 설정에 관한 것 입니다. 포토셀 VI에서는 0~5 AI 채널을 포토셀 핀으로 사용하겠다는 것과 5V를 공급하겠다는 설정을 해주고 빛의 강도를 인디게이터로 나타내겠다는 설정을 했습니다. 빛의 강도는 0~100의 단위로 나타날 것 입니다. 그리고 빛의 세기를 PWM입력과 연결 시켜줘야 합니다. 대신 포토쎌에서 받아들이는 빛의 세기에 따라 LED의 밝기는 반비례 해야하므로 위와 같이 코딩하였습니다. 식으로 표현하자면 다음과 같습니다. 이렇게 해주면 포토쎌에 들어오는 빛이 많으면 LED는 어두워지고 반대로, 포토쎌에 들어오는 빛이 적으면 밝아집니다. 가로등처럼 말이죠
PWM = 255-(2.55 X 빛의 세기)
마지막으로 동작이 끝났을 때 아두이노와 연결을 끊는 VI를 설정해주면 코딩이 완료 됩니다.
화면이 안보이시거나 궁금하시면 첨부한 VI 파일을 확인해보시면 될 것 같습니다.
이상입니다. 문의사항 있으시면 댓글 남겨주세요 ㅎㅎ
즐거운 주말 되세요 ㅎㅎ
'아두이노를 활용한 프로토타이핑' 카테고리의 다른 글
[랩뷰&아두이노]풀업저항, 풀다운저항/싱킹,소싱 (0) | 2012.06.25 |
---|---|
택트 스위치로 LED 켜기_디지털인풋[랩뷰&아두이노] (3) | 2012.06.11 |
랩뷰와 아두이노를 통해 케릭터 LCD에 Hello World를 써보자! (1) | 2012.05.11 |
[아두이노]랩뷰를 이용해서 아두이노 LED 켜기 (0) | 2012.04.14 |
[아두이노] Arduino UNO R3 드라이버 잡기 (0) | 2012.04.12 |