728x90
반응형
728x90
반응형

아두이노에서 LED의 밝기를 컨트롤 할 수 있는데요

 

해당 기능을 통해 디스플레이가 없는 장치에서 

ex> 버튼을 눌렀을때 출력 강도가 높아지거나 낮아지는것을 LED 밝기로 어느정도 표현가능

 

 

EX_01>

# define LED_PIN 5 // 핀번호 설정

void setup(){
	pinMode(LED_PIN, OUTPUT); // 해당 핀을 출력으로 설정
}

void loop(){
	for (int i = 0; i <= 255; i++){
    	analogWrite(LED_PIN, i); // LED의 밝기를 1씩 증가시켜서 최대값인 255까지 증가시키겠다.
        delay(10);
    }
    
   	for (int i = 255; i >= 0; i--){
    	analogWrite(LED_PIN, i); // LED의 밝기는 1씩 감소시켜 최소값이 0까지 감소시키겠다
        delay(10);
    }
}


/*
	LED의 핀번호를 설정하고, 해당 핀을 출력으로 설정, 
    반복문을 통해 해당 핀의 LED 밝기를 0 > 255 로 1씩 증가시켜 점점 밝아지고,
    255 > 0 으로 1씩 감소시켜 점점 어두워지는것을 확인 할 수 있음.
*/

 

 

 

 

 

EX_02>

#define LED_PIN 5 // LED 핀번호 설정
#define PLUS_BUTTON_PIN 34 // PLUS 핀번호 설정
#define MINUS_BUTTON_PIN 35 // MINUS 핀번호 설정

int count = 0; // 증가 값




void setup(){
	pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP); // LED의 해당 핀을 출력으로 설정
    pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP); // BUTTON의 해당 핀을 입력으로 설정
}



void loop(){    
	// 플러스 버튼이 눌렸냐?
    if (digitalRead(PLUS_BUTTON_PIN) == LOW) { 
    	// count를 1 증가대입
        count = (count < 100) ? count + 1 : count;
        delay(200); 
    }
	
    // 마이너스 버튼이 눌렸냐?
    if (digitalRead(MINUS_BUTTON_PIN) == LOW) {
    	// count를 1 감소대입
        count = (count > 0) ? count - 1 : count;
        delay(200); 
    }
    
    // count의 0~50값을 0~255로 환산해서 LED의 밝기를 컨트롤
    analogWrite(LED_PIN, map(count, 0, 50, 0, 255); 
}


/*
	버튼을 누를 때 마다 count 변수의 값이 상승, 하락하고 
    변수의 값은 최소 0 최대 50일때 map 함수를 통해 0~255로 환산해서 밝기를 조절 하는 코드
*/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

저는 ESP32 보드를 사용하였습니다.

728x90
반응형

'코딩일지 > arduino' 카테고리의 다른 글

아두이노란?  (0) 2024.01.06
728x90
반응형

아두이노는 우리말로 번역하면 `똑똑한 장난감`이라는 뜻입니다. 

그만큼 다양한 분야에서 활용되고 있고, 최근에는 IoT(사물인터넷)과 접목되어 더욱 주목받고 있답니다. 

이번 시간에는 아두이노에 대해 알아보고 직접 만들어보는 시간을 가져보도록 하겠습니다.

아두이노라는 말은 많이 들어봤는데 정확히 어떤건가요?
아두이노는 오픈소스 하드웨어 플랫폼인 마이크로컨트롤러 보드로서, 초보자들이 쉽게 접근할 수 있도록 설계되었습니다. 또한 C언어 기반이기 때문에 프로그래밍 언어를 몰라도 간단한 코딩만으로 제어가 가능하답니다. 

따라서 누구나 손쉽게 자신만의 아이디어를 구현할 수 있다는 장점이 있죠.

아두이노 키트로는 뭘 만들 수 있나요?
아두이노 키트는 크게 세 가지로 나눌 수 있습니다. 첫 번째는 센서키트이고 두 번째는 모터키트, 마지막으로는 브레드보드 입니다. 센서는 빛센서, 온도센서, 습도센서 등 주변 환경을 감지하는데 도움을 주는 부품들을 말합니다. 이 중에서도 조도센서는 사람 눈처럼 빛을 인식해서 어두울 때 켜지고 밝을 때 꺼지는 LED를 이용하기 때문에 아주 유용하게 사용됩니다. 다음으로 모터키트는 DC모터, 서보모터, 스텝모터 등 구동장치를 의미하며, 특히 RC카 제작에 주로 사용되는 리니어 액추에이터 같은 경우엔 힘 조절이 가능하다는 장점이 있습니다. 마지막으로 브레드보드는 빵판이라고도 불리며, 회로 구성 시 전선 연결 및 납땜 없이 간편하게 작업할 수 있게 도와주는 도구입니다.

300x250

아두이노 IDE 다운로드 ↓↓

 

Software

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

www.arduino.cc

 

반응형

 

728x90
반응형

'코딩일지 > arduino' 카테고리의 다른 글

[arduino] LED 밝기조절  (0) 2024.03.31

+ Recent posts

728x90
반응형
">