2024. 08. 30 센텀고 정보 폭염 경보기 #4
본문
[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
등록된 댓글이 없습니다.