서버 점검 안내

dsclub은 서비스의 안정성과 성능 향상을 위해
매일 04시 30분에 정기 점검이 진행됩니다.

점검 시간: 오전 4시 30분 ~ 4시 35분

해당 시간 동안 일시적으로 서비스에 접속이 불가능하오니, 양해 부탁드립니다.

2024. 08. 30 센텀고 정보 폭염 경보기 #4 > 코딩 스토리

2024. 08. 30 센텀고 정보 폭염 경보기 #4

페이지 정보

작성자 profile_image tak2 (211.♡.255.149) 작성일 24-08-30 10:22 조회 203 댓글 0

본문

[code]

from microbit import *

import music

while True:

   temp = temperature()

   print(temp)

   if

temp >= 28 :

       music.play(music.ENTERTAINER, wait=False)

       display.show(Image.SKULL)

       sleep(500)

       display.show(temp)

       sleep(500)

   else:

   music.stop

       display.show(Image.HAPPY)

[/code]


이 코드는 마이크로비트를 사용하여 온도를 측정하고, 특정 온도 이상일 때 음악을 재생하며 화면에 이미지를 표시하는 기능을 구현한 것입니다. 아래는 코드의 각 부분에 대한 설명입니다.

1. 모듈 임포트:
  - `from microbit import *`: 마이크로비트의 모든 기능을 사용할 수 있도록 임포트합니다.
  - `import music`: 음악 재생 기능을 사용하기 위해 `music` 모듈을 임포트합니다.
2. 무한 루프:
  - `while True:`: 이 코드는 무한 루프를 생성하여 계속해서 온도를 측정하고, 조건에 따라 행동을 반복합니다.
3. 온도 측정:
  - `temp = temperature()`: 마이크로비트의 내장 온도 센서를 사용하여 현재 온도를 측정하고, 그 값을 `temp` 변수에 저장합니다.
  - `print(temp)`: 측정된 온도를 콘솔에 출력합니다. 이 부분은 디버깅이나 모니터링에 유용합니다.
4. 온도 조건 검사:
  - `if temp >= 28:`: 측정된 온도가 28도 이상인지 확인합니다. 이 조건이 참일 경우, 다음의 동작을 수행합니다.
    - `music.play(music.ENTERTAINER, wait=False)`: "ENTERTAINER"라는 음악을 재생합니다. `wait=False`는 음악이 재생되는 동안 코드 실행을 멈추지 않도록 합니다.
    - `display.show(Image.SKULL)`: 화면에 해골 이미지를 표시하여 경고의 의미를 전달합니다.
    - `sleep(500)`: 0.5초 동안 대기합니다.
    - `display.show(temp)`: 현재 온도를 화면에 표시합니다.
    - `sleep(500)`: 다시 0.5초 대기합니다.
5. 온도가 낮을 때의 동작:
  - `else:`: 온도가 28도 미만일 경우 실행되는 부분입니다.
    - `music.stop`: 음악을 멈추는 명령입니다. (여기서 `music.stop`은 함수 호출이 아니라 단순한 참조로 되어 있어, `()`를 붙여야 제대로 작동합니다.)
    - `display.show(Image.HAPPY)`: 화면에 행복한 얼굴 이미지를 표시하여 온도가 안전하다는 것을 나타냅니다.


개선할 점
- 음악 멈추기: `music.stop` 부분에서 괄호가 빠져 있어, 실제로 음악이 멈추지 않습니다. `music.stop()`으로 수정해야 합니다.
이 코드는 온도에 따라 사용자에게 시각적 및 청각적 피드백을 제공하는 간단한 경고 시스템을 구현한 예시입니다. 이를 통해 학생들은 센서 데이터에 기반한 조건문과 반복문을 활용하는 방법을 배울 수 있습니다.
뤼튼 사용하러 가기 > https://agent.wrtn.ai/5xb91l

좋아요0 이 글을 좋아요하셨습니다
url 복사 카카오톡 공유 라인 공유 페이스북 공유 트위터 공유

등록된 댓글이 없습니다.

전체 269건
게시물 검색

접속자집계

오늘
1,186
어제
779
최대
4,271
전체
290,651