ESP 32_디지털 입력_led 제어 코드
본문 바로가기
카테고리 없음

ESP 32_디지털 입력_led 제어 코드

by 하고싶은거하는여자 2024. 10. 27.
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
반응형

댓글