You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/1-getting-started/lessons/3-sensors-and-actuators/translations/pi-actuator.ko.md

5.8 KiB

야간 조명 만들기 - Raspberry Pi

라즈베리 파이에 LED를 추가하여 야간 조명을 만들어봅시다.

하드웨어

이 야간 조명에는 액추에이터가 필요합니다.

사용되는 액추에이터는 LED로, 전류가 흐를 때 빛을 방출하는 발광 다이오드 입니다. LED는 on /off 두 가지 상태를 가진 디지털 액추에이터입니다. 1을 값으로 전송하면 LED가 켜지고 0을 전송하면 꺼집니다. LED는 외부 Grove 액추에이터이며 라즈베리 파이의 Grove Base Hat에 연결해야 합니다

의사 코드에서 야간 조명의 로직은 다음과 같습니다.:

탐지되는 빛의 정도(level)를 확인합니다
빛의 정도가 300 미만일 경우
    LED를 켭니다
그렇지 않을 경우
    LED를 끕니다

LED 연결하기

Grove LED는 다양한 LED가 포함된 모듈로 제공되므로 색상을 선택할 수 있습니다.

할 일 - LED 연결

LED에 연결 해 봅시다.

grove LED

  1. 좋아하는 LED를 선택하고 LED 모듈의 두 구멍에 다리를 삽입합니다.

    LED는 발광 다이오드이며, 다이오드는 전류를 한 방향으로만 전달할 수 있는 전자 장치입니다. 즉, LED를 올바른 방향으로 연결해야 합니다. 그렇지 않으면 작동하지 않습니다.

    LED 다리 중 하나는 양극 핀이고 다른 하나는 음극 핀입니다. LED는 완벽하게 둥글지 않고 한쪽이 약간 평평합니다. 약간 평평한 면이 음극 핀입니다. LED를 모듈에 연결할 때 둥근 쪽의 핀이 모듈 외부에 +로 표시된 소켓에 연결되고 평평한 쪽이 모듈 중앙에 더 가까운 소켓에 연결되었는지 확인하십시오.

  2. LED 모듈에는 밝기를 제어할 수 있는 회전 버튼이 있습니다. 작은 십자 드라이버를 사용하여 시계 반대 방향으로 끝까지 돌립니다.

  3. Grove 케이블의 한쪽 끝을 LED 모듈의 소켓에 삽입합니다. 이는 한 방향으로만 돌아갈 것 입니다.

  4. Rasberry Pi 전원을 끈 상태에서 Grove 케이블의 다른 쪽 끝을 Pi에 부착된 Grove Base 모자에 D5로 표시된 디지털 소켓에 연결합니다. 이 소켓은 왼쪽에서 두 번째, GPIO 핀 옆에 있는 소켓 줄입니다.

소켓 D5에 연결된 Grove LED

야간 조명을 프로그래밍 해봅시다

Grove 조명 센서와 Grove LED를 사용하여 야간 조명 프로그래밍을 진행할 수 있습니다.

할 일 - 야간 조명 동작에 대한 프로그래밍을 해 봅시다.

야간 조명에 대한 프로그래밍을 합니다.

  1. 라즈베리 파이 전원을 켜고 부팅될 때 까지 기다립니다.

  2. 이 할당의 이전 부분에서 만든 VS Code에서 야간 조명 프로젝트를 Pi에서 직접 실행하거나 원격 SSH 확장을 사용하여 연결합니다.

  3. 필요한 라이브러리를 가져오려면 아래 코드를 app.py 파일에 추가하십시오. 이는 다른import 줄 바로 아래 추가되어야 합니다.

    from grove.grove_led import GroveLed
    

    from grove.grove_led import GroveLed 문은 Grove Python 라이브러리에서 GroveLed 를 import 한다. 이 라이브러리에는 Grove LED와 상호 작용하는 코드가 있습니다.

  4. light_sensor 선언 뒤에 다음 코드를 추가하여 LED를 관리하는 클래스의 인스턴스를 만듭니다.

    led = GroveLed(5)
    

    led = GroveLed(5) 코드는 핀 D5(LED가 연결된 디지털 Grove 핀)에 연결하는 GroveLed 클래스의 인스턴스를 생성합니다.

    💁 모든 소켓에 고유한 핀 번호가 있습니다. 핀 0, 2, 4, 6은 아날로그 핀이고 핀 5, 16, 18, 22, 24 및 26은 디지털 핀입니다.

  5. while 루프 내부에 확인용 변수를 추가합니다, time.sleep 전에 조명 레벨을 확인하고 LED를 켜거나 끌 수 있습니다.

    if light < 300:
        led.on()
    else:
        led.off()
    

    이 코드는 감지되는 의값을 확인합니다. 이 값이 300 미만인 경우 GroveLed 클래스의 on 메서드를 호출하여 LED에 디지털 값 1을 전송하고 LED를 켭니다. 조명 값이 300보다 크거나 같으면 꺼짐 방법을 호출하여 디지털 값 0을 LED로 전송하고 LED를 끕니다.

    💁 이 코드는 print('Light level:', light) 라인과 동일한 레벨로 들여써야 하며, while 루프 안에 있어야 합니다!

    💁 액추에이터로 디지털 값을 전송할 때 0 값은 0V, 1 값은 장치의 최대 전압입니다. Grove 센서 및 액추에이터가 장착된 라즈베리 파이의 경우 1 전압은 3.3V입니다.

  6. VS Code Terminal에서 다음을 실행하여 Python 앱을 실행합니다.:

    python3 app.py
    

    조명 값이 콘솔에 출력됩니다.

    pi@raspberrypi:~/nightlight $ python3 app.py 
    Light level: 634
    Light level: 634
    Light level: 634
    Light level: 230
    Light level: 104
    Light level: 290
    
  7. 조명 센서를 가려도 봅시다. 조명 레벨이 300 이하인 경우 LED가 어떻게 켜지고, 조명 레벨이 300 이상인 경우 LED가 꺼지는지 확인합니다.

    💁 LED가 동작하지 않는다면 제대로 연결 되어있는지 확인하고 스핀 버튼이 완전히 켜져 있는지 확인 해 보세요

Light Level 변화에 따라 Pi에 연결된 LED가 켜지고 꺼집니다.

💁 code-actuator/pi 폴더 안에서 이 코드를 찾을 수 있습니다..

😀 여러분이 만든 야간 조명 프로젝트는 성공적으로 동작합니다!