개발/Arduino

[Arduino] 조도 센서로 LED 제어하기 (+파이썬)

Hyunsun 2021. 9. 18. 15:05
728x90

조도센서란? 주변의 밝기를 측정하는 센서

CDS 조도 센서로 빛을 받아서 LED 제어하기

아두이노 연결 방법

 

직접 연결한 모습

 

const int WLED = 9; 
const int LIGHT = 0; 
const int MIN_LIGHT = 200;
const int MAX_LIGHT = 900;
int val = 0;

void setup(){
  Serial.begin(9600);
  pinMode (WLED, OUTPUT);
}

void loop(){
  val = analogRead(LIGHT);
  
  Serial.println(val);
  delay(500);
  
  val = map(val, MIN_LIGHT, MAX_LIGHT, 255, 0);
  val = constrain(val, 0, 255);
  analogWrite(WLED, val);
}

아두이노 코드

 

실행 결과

빛을 받으면 LED도 강해지고 빛을 받지 못하면 LED도 약해진다.

빛을 받을 때와 받지 않을 때의 차이가 분명하다.

 

아래는 파이썬으로 실행하기

 

[Arduino] 파이썬에서 아두이노 LED 제어

파이썬, 아두이노 설치 방법 [Python] 파이썬 설치하기 파이썬 설치 파이썬 홈페이지 접속 후 다운로드 클릭 (https://www.python.org/) Welcome to Python.org The official home of the Python Programming Lang..

hyunsun99.tistory.com

저번에 했던 포스팅을 참고하여 prototype을 실행해줌

 

업로드 완료 후 파이썬을 실행함

 

from Arduino import Arduino
import time

BLED=9 
LIGHT = 0
val = 0

board = Arduino('115200')
board.pinMode(BLED, "OUTPUT")
board.pinMode(LIGHT, "INPUT")

while True :
    val = board.analogRead(LIGHT)
    print(val)
    board.analogWrite(BLED, int((val*255)/600))
    time.sleep(0.05)

파이썬 코드

 

실행 결과

빛을 받으면 LED도 강해지고 빛을 받지 못하면 LED도 약해진다.

빛을 받을 때와 받지 않을 때의 차이가 분명하다.

728x90