새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


● ESP32 ESP-32 ESP32-WROOM-32 30PIN 에 LD2410C 과 max98357 audio board 연결작업

♨ 카랜더 일정 : 2024년12월08일
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    ●  ESP32 ESP-32 ESP32-WROOM-32 30PIN 에 LD2410C 과 max98357 audio board 연결작업

    https://cafe.naver.com/homestation/165

    에 등록 공유 합니다

    box를 만들어 재구성 합니다

    3232235521_1733665222.1315.png

    3232235521_1733656348.9233.png

    esp32보드의 pin정보

    아두이노 ESP32 ESP-32 ESP32-WROOM-32 30PIN 2코어 와이파이-WIFI 블루투스-BlueTooth USB C-Type 

    3232235521_1733657073.8041.png

    LD2410C 24GHz 휴먼 프레전스 센서 FMCW 웨이브 레이더 유도 모듈 바디 하트 비트 감지 센서 고정밀

    https://ko.aliexpress.com/item/1005005400130647.html?

    5V용 입니다 >> 3.3v에 잘못 연결시 열 발생이 심합니다.

    3232235521_1714889598.1764.png

    3232235521_1714889663.7192.png

    #  ld2410
    # binary_sensor: PRESENCE GPIO2
    uart:
      rx_pin: GPIO16 #1 #3  
      tx_pin: GPIO17 #3 #1

    <max98357 audio board pin 정보>

    3232235521_1731384041.9591.png

    i2s_audio:
      - id: i2s_out
        i2s_lrclk_pin: GPIO14
        i2s_bclk_pin: GPIO27
        # i2s_dout_pin: GPIO25



    

    ESPHome에서 미디어 플레이어 상태를 확인하고 LED를 추가하여 제어하는 방식으로 동작 상태 표시

    구성> led를 gpio에 5v(+)와 연결 구성 합니다

    동작>

    1) switch: 동작으로 led 를 on / off 동작

    2) text_sensor:로   - platform: homeassistant 로 media_player.esp32_ip53_media_player_max98357 연결

    3) binary_sensor: 로   return id(media_player_state_sensor).state == "playing"; 동작 상태 표시

    2) 상기 구성 조건에 media_player 동작시 led 를 on / off 동작

    적용소스

    media_player:

    - platform: i2s_audio

    name: "media_player_max98357"

    id: media_player_98357

    dac_type: external

    i2s_dout_pin: GPIO25

    mode: mono # 동작 ok

    # mode: stereo # 동작 ok

    text_sensor:

    - platform: homeassistant

    entity_id: media_player.esp32_ip53_media_player_max98357

    id: media_player_state_sensor

    name: "Media Player State"

    binary_sensor:

    - platform: template

    name: "Media Player Playing"

    id: media_player_playing

    lambda: |

    return id(media_player_state_sensor).state == "playing";

    switch:

    - platform: gpio

    name: "media_player_led_right_13"

    pin:

    number: GPIO13

    inverted: true

    id: media_player_led_right_13

    interval:

    - interval: 1s

    then:

    - lambda: |

    if (id(media_player_playing).state) {

    id(media_player_led_right_13).turn_on();

    } else {

    id(media_player_led_right_13).turn_off();

    }

    ===============

    각각의 구성 설명

    --------------------

    media_player:

    - platform: i2s_audio

    name: "media_player_max98357" # 미디어 플레이어의 이름 지정

    id: media_player_98357 # 미디어 플레이어의 고유 ID

    dac_type: external # 외부 DAC 사용

    i2s_dout_pin: GPIO25 # I2S 데이터 출력 핀 설정

    mode: mono # 모노 모드로 동작

    # mode: stereo # 스테레오 모드로 동작 가능

    text_sensor:

    - platform: homeassistant

    entity_id: media_player.esp32_ip53_media_player_max98357 # Home Assistant의 미디어 플레이어 엔티티 ID

    id: media_player_state_sensor # 텍스트 센서의 고유 ID

    name: "Media Player State" # 텍스트 센서 이름 지정

    binary_sensor:

    - platform: template

    name: "Media Player Playing" # 바이너리 센서 이름 지정

    id: media_player_playing # 바이너리 센서의 고유 ID

    lambda: |

    return id(media_player_state_sensor).state == "playing"; // 텍스트 센서 상태가 "playing"인지 확인

    switch:

    - platform: gpio

    name: "media_player_led_right_13" # GPIO 기반 스위치 이름 지정

    pin:

    number: GPIO13 # GPIO 핀 번호 설정

    inverted: true # 핀 신호를 반전

    id: media_player_led_right_13 # 스위치의 고유 ID

    interval:

    - interval: 1s # 1초 간격으로 동작

    then:

    - lambda: |

    if (id(media_player_playing).state) { // 바이너리 센서 상태 확인

    id(media_player_led_right_13).turn_on(); // 상태가 true면 LED 켜기

    } else {

    id(media_player_led_right_13).turn_off(); // 상태가 false면 LED 끄기

    }

    ============ 전체 요약 설명 =============

    전체 동작 요약

    이 구성은 ESPHome에서 미디어 플레이어 상태를 확인하고 LED를 제어하는 방식으로 작동합니다. 다음은 전체 동작 과정입니다:

    미디어 플레이어 설정:

    I2S 기반 media_player를 ESP32에 연결하여 오디오 출력.

    GPIO25 핀을 통해 데이터를 출력하며, 모노 또는 스테레오 모드로 설정 가능.

    상태 확인 (Text Sensor):

    Home Assistant의 media_player.esp32_ip53_media_player_max98357 엔티티를 읽어서 현재 상태를 가져옵니다.

    상태는 "playing", "paused", "idle" 등의 문자열로 반환됩니다.

    상태 기반 바이너리 센서:

    binary_sensor는 text_sensor의 상태를 확인하여 "playing"일 경우 true를 반환.

    이를 통해 현재 미디어 플레이어가 재생 중인지 판단.

    LED 제어 (Switch):

    GPIO13에 연결된 LED를 switch로 설정.

    binary_sensor 상태가 true일 경우 LED를 켜고, 그렇지 않으면 LED를 끔.

    주기적 상태 확인 (Interval):

    1초 간격으로 binary_sensor의 상태를 확인.

    미디어 플레이어가 재생 중(playing)이면 LED를 켜고, 그렇지 않으면 끄는 동작을 수행.

    요약

    미디어 플레이어 상태(playing, paused, idle)를 읽어 텍스트 센서로 전달.

    playing 상태일 경우, 바이너리 센서가 활성화되어 LED를 켬.

    매 1초마다 상태를 확인하여 LED를 업데이트.

    ----------------------------

    esphome

    image.png
    대표사진 삭제

    사진 설명을 입력하세요.

    

    ☞ https://11q.kr 에 등록된 자료 입니다. ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다♠1.png

    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.


    새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-12-12 08:26:28

    오늘의 홈 현황


    • 현재 접속자♨ 122(1) 명
    • 오늘 가입자※ 0 명
    • 어제 가입자※ 2 명
    • 주간 가입자※ 13 명
    • 오늘 방문자 1,392 명
    • 어제 방문자 2,457 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,880,551 명
    • 전체 게시물※ 8,875 개
    • 전체 댓글수※ 25,272 개
    • 전체 회원수 11,360 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑