BASIC4MCU | 질문게시판 | 아두이노 압력 센서로 LED 불빛 들어오게 할려고 하는데...
페이지 정보
작성자 윤시기 작성일2024-09-12 14:18 조회425회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23866
본문
LED에 불빛이 들어오지 않습니다..
아두이노 툴->시니어 모터 보면 압력값이 입력되는데...정작 중요한 LED에 불이 들어오지 않습니다.
점퍼선이 문제인 걸까요? 아래는 코드 전문과 사진입니다.
// 압력 센서 핀 정의
const int pressurePin = A0; // 압력 센서 연결 핀
const int greenLedPin = 9; // 초록색 LED 핀
const int yellowLedPin = 10; // 노란색 LED 핀
const int redLedPin = 11; // 빨간색 LED 핀
const int motorPin = 2; // 진동 모터 핀
int randomPressureValue; // 랜덤한 압력 값
const int tolerance = 2; // 범위 ±2
void setup() {
pinMode(pressurePin, INPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
pinMode(motorPin, OUTPUT);
Serial.begin(9600); // 시리얼 모니터용 초기화
// 랜덤 시드를 설정하여 랜덤값을 초기화합니다.
randomSeed(analogRead(0));
// 1부터 350 사이의 랜덤한 압력값 설정
randomPressureValue = random(1, 351); // 1에서 350까지의 랜덤 값
Serial.print("Random Pressure Value: ");
Serial.println(randomPressureValue);
}
void loop() {
int pressureValue = analogRead(pressurePin); // 압력 값 읽기
Serial.print("Pressure Value: ");
Serial.println(pressureValue);
// 압력 값 범위 설정
int pressureMin = randomPressureValue - tolerance;
int pressureMax = randomPressureValue + tolerance;
// LED와 진동 모터 제어
if (pressureValue >= pressureMin && pressureValue <= pressureMax) {
// 압력 값이 범위 내에 있을 때
digitalWrite(greenLedPin, HIGH);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
} else if (pressureValue < pressureMin) {
// 압력 값이 범위보다 낮을 때
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, HIGH);
digitalWrite(redLedPin, LOW);
} else {
// 압력 값이 범위보다 높을 때
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, HIGH);
}
// 진동 모터 제어
if (pressureValue < pressureMin || pressureValue > pressureMax) {
digitalWrite(motorPin, HIGH); // 진동 모터 작동
} else {
digitalWrite(motorPin, LOW); // 진동 모터 정지
}
delay(100); // 100ms 대기
}
댓글 0
조회수 425등록된 댓글이 없습니다.