초음파 센서와 가변 저항기를 사용하여 무선 랜턴을 만드는 아두이노 프로젝트를 만들어보겠습니다. 이 프로젝트에서는 초음파 센서로 거리를 감지하고, 거리에 따라 LED 랜턴을 켜고 끌 수 있습니다. 또한 가변 저항기를 사용하여 LED의 밝기를 조절할 수 있습니다.
1. 이론 소개:
- 이 프로젝트에서는 초음파 센서를 사용하여 무선 랜턴을 만듭니다. 초음파 센서로 거리를 측정하고, LED를 켜고 끌 때 거리에 따라 밝기를 조절합니다.
2. 준비물:
- 아두이노 보드 (예: Arduino Uno)
- 초음파 센서 (HC-SR04 또는 유사한 모델)
- LED (흰색 또는 다양한 색상)
- 가변 저항기
- 무선 모듈 (예: NRF24L01 또는 블루투스 모듈)
- 점퍼 와이어 (메스-메스 및 메스-피스)
- USB 케이블 (아두이노 보드와 컴퓨터 연결용)
3. 비슷한 모델:
- 다양한 초음파 센서 및 무선 모듈을 사용할 수 있습니다.
4. 추천 보드 및 간단한 설명:
- Arduino Uno: 초보자 및 중급자에게 적합한 아두이노 보드로 다양한 라이브러리와 예제가 있습니다.
5. 회로 구성 (상세 설명):
- 회로를 구성하기 위해 다음 단계를 따르세요:
- 초음파 센서를 아두이노와 연결합니다. 초음파 센서에는 VCC, GND, Trig 및 Echo 핀이 있습니다. VCC를 5V에 연결하고, GND를 GND에 연결합니다. Trig 핀을 아두이노 디지털 핀 (예: 9번 핀)에 연결하고, Echo 핀을 아두이노 디지털 핀 (예: 10번 핀)에 연결합니다.
- LED와 가변 저항기를 연결합니다. LED의 긴 다리를 가변 저항기의 중간 핀에 연결하고, 다른 다리를 GND에 연결합니다. 가변 저항기의 두 끝 핀 중 하나를 5V에 연결하고, 다른 하나를 아두이노 아날로그 핀 (예: A0)에 연결합니다.
- 무선 모듈을 아두이노와 연결합니다. 무선 모듈에는 VCC, GND, CE, CSN, SCK, MOSI, MISO 핀이 있습니다. 이러한 핀을 아두이노에 연결해야 합니다.
- 이렇게 연결된 회로를 확인하고 전원을 공급하기 위해 아두이노와 컴퓨터를 연결하세요.
6. 코딩 내용 (주석 포함):
#include <SPI.h>
#include <RF24.h>
RF24 radio(9, 10); // 무선 모듈 핀 설정
const uint64_t pipe = 0xE8E8F0F0E1LL; // 무선 모듈 주소
const int trigPin = 9; // 초음파 센서 Trig 핀
const int echoPin = 10; // 초음파 센서 Echo 핀
const int ledPin = 11; // LED 핀
const int potPin = A0; // 가변 저항기 연결 핀
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
radio.begin();
radio.openWritingPipe(pipe);
radio.setPALevel(RF24_PA_HIGH);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration * 0.0343) / 2;
int potValue = analogRead(potPin);
int brightness = map(potValue, 0, 1023, 0, 255);
if (distance < 30) {
analogWrite(ledPin, brightness);
sendBrightness(brightness);
} else {
analogWrite(ledPin, 0);
sendBrightness(0);
}
}
void sendBrightness(int brightness) {
radio.stopListening();
radio.write(&brightness, sizeof(brightness));
radio.startListening();
}
7. 코딩 내용 설명:
- 초음파 센서를 사용하여 거리를 측정하고, 거리에 따라 LED의 밝기를 조절합니다. 무선 모듈을 통해 밝기 데이터를 전송합니다.
8. 코드 업로드 및 테스트:
- 아두이노 보드를 컴퓨터에 연결하고 위의 코드를 아두이노 IDE에 복사하여 업로드합니다.
- 거리에 따라 LED의 밝기가 조절되는지 확인합니다.
9. 응용 업그레이드:
- 다른 센서를 추가하여 프로젝트를 확장할 수 있습니다. 예를 들어, 온도 센서를 추가하여 온도에 따라 LED 색상을 변경할 수 있습니다.
10. 전문 용어 설명:
- 초음파 센서 (Ultrasonic Sensor): 초음파를 사용하여 물체와의 거리를 측정하는 센서입니다.
- 무선 모듈 (Wireless Module): 무선 통신을 지원하는 모듈로, 데이터를 무선으로 전송하고 수신할 수 있습니다.
11. 기타: - 무선 모듈에 대한 설정은 모델에 따라 다를 수 있습니다.
'아두이노' 카테고리의 다른 글
버튼과 가변 저항기로 서보 모터 각도 제어 (1) | 2023.12.02 |
---|---|
조도 센서와 부저로 주변 밝기에 따른 음악 변경 (0) | 2023.12.01 |
조도 센서와 LCD 화면으로 주변 환경 데이터 표시 (0) | 2023.12.01 |
버튼과 부저로 멜로디 반복 재생하기 (0) | 2023.12.01 |
온도 센서와 초음파 센서를 이용한 건물 환경 모니터링 (0) | 2023.12.01 |