카테고리 없음
ESP 32_디지털 입력_led 제어 코드
하고싶은거하는여자
2024. 10. 27. 10:41
728x90
반응형
const int buttonPin = 33 ; // 버튼 핀의 번호
const int ledPin = 4 ; // LED 핀 번호
int buttonState = 0 ; // 버튼 상태를 읽기 위한 변수
void setup (){
pinMode (ledPin, OUTPUT ); // LED 핀을 출력으로 초기화
pinMode (buttonPin, INPUT ); // 푸시버튼 핀을 입력으로 초기화
}
void loop(){
buttonState = digitalRead (buttonPin ); // 버튼의 상태를 읽습니다.
// 버튼이 눌렸는지 확인합니다. 그렇다면 buttonState는 LOW입니다.
if (buttonState == LOW ){
digitalWrite (ledPin, HIGH ); // LED 켜기
}else{
digitalWrite (ledPin, LOW ); // LED 끄기
}
}
아날로그 출력
0~1024
아날로그 라이트
10피트로 한정된다
반복
0~255
255~0
아날로그는 전압값이다
아날로그 입력
단점
와이파이 통신할 경우 아날로그 입력 받지 못한다
ADC1 채널은 사용 가능하다
12비트로
0~4095 범위로 잘게 쪼게서
정확도가 높아진다
*센서에 따라 값이 다르고
값을 다운 시켜주는 걸 해야 한다
*4095를 맵함수를 이용해서 크기 변환시킨다
아날로그 출력은
255
<스위치 누르면 led 불이 들어오는_코드>
const int potPin = 34 ; // 가변저항 모듈은 GPIO 34 (아날로그)
const int ledPin = 4 ; // LED 모듈은 GPIO 4에 연결
int potValue = 0 ; // 가변저항 값을 저장하기 위한 변수
void setup (){
Serial.begin(9600);
pinMode (potPin, INPUT);
pinMode (ledPin, OUTPUT);
}
void loop (){
potValue = analogRead (potPin); // 가변저항 값을 읽음
int value = map(potValue, 0 , 4095 , 0 , 255);
Serial.print(potValue);
Serial.print(", ");
Serial.println(value);
analogWrite (ledPin, value );
delay (500);
}
728x90
반응형