728x90
안녕하세요. 이번에는 아두이노, 서보 모터, 조도센서를 사용하여 햇빛이 비치면 자동으로 가리는 자동 햇빛 가리개를 만들어보겠습니다.
아래 두 게시물에서 이어집니다.
https://stickode.tistory.com/1044
https://stickode.tistory.com/1055
햇빛이 비치면 가리고, 햇빛이 비치지 않으면 가리지 않도록 해보겠습니다.
1. 준비물
아두이노 우노, 서보모터, 조도센서
2. 회로도
3. 소스 코드
// 서보모터 라이브러리 불러오기
#include <Servo.h>
// 서보모터와 조도센서 핀에 대한 상수 정의
#define SERVO 11
#define PHOTO A0
// Servo 객체 생성
Servo myservo;
// 조도센서 읽기 결과를 저장하는 변수
int val = 0;
void setup()
{
// 서보모터를 핀 SERVO에 연결
myservo.attach(SERVO);
}
void loop()
{
// 조도센서 아날로그 값을 읽어와서 0에서 1023까지의 범위를 0에서 180으로 매핑
val = map(analogRead(PHOTO), 0, 1023, 0, 180);
// 매핑된 값이 100보다 작으면 서보모터를 90도로 회전
if(val < 100){
myservo.write(90);
}
// 매핑된 값이 100보다 크지 않으면 서보모터를 0도로 회전
else {
myservo.write(0);
}
// 100 밀리초의 딜레이. 아두이노 과부하를 막기 위함.
delay(100);
}
4. 실행
실행 영상입니다.
스탠드 조명을 햇빛이라고 가정하여 진행했습니다.
'C++' 카테고리의 다른 글
[C++] 아두이노 조이스틱 모듈 사용하기 (0) | 2024.03.04 |
---|---|
[C++] 아두이노로 충돌방지모듈 만들기 (0) | 2024.01.31 |
[C++] 아두이노로 초음파센서 사용하기 (0) | 2024.01.22 |
[C++] 아두이노로 조도센서 사용하기 (2) | 2023.12.31 |
[C++] 아두이노로 서보 모터 사용하기 (0) | 2023.12.17 |