import time
from grovepi import *
# 핀 번호 설정: 부저는 D2에, 버튼은 D4에 연결
buzzer_pin = 2
button = 4
# 핀 모드 설정: 부저는 출력 모드, 버튼은 입력 모드로 설정
pinMode(buzzer_pin, "OUTPUT")
pinMode(button, "INPUT")
try:
# 무한 루프 시작: 프로그램이 종료될 때까지 계속 실행
while True:
# 버튼 상태 읽기: 버튼이 눌리면 1, 눌리지 않으면 0을 반환
button_status = digitalRead(button)
# 버튼이 눌렸을 때 (button_status == 1), 부저를 켬
if button_status:
digitalWrite(buzzer_pin, 1)
# 버튼이 눌리지 않았을 때 (button_status == 0), 부저를 끔
else:
digitalWrite(buzzer_pin, 0)
# CPU 사용을 줄이기 위해 0.1초 대기
time.sleep(0.1)
# [Ctrl+C]로 프로그램을 중단했을 때 부저를 끄고 종료
except KeyboardInterrupt:
digitalWrite(buzzer_pin, 0)
# 프로그램 종료 시 무조건 실행되는 블록 (GPIO 핀 정리)
finally:
# GPIO 핀을 정리하여 다음 사용 시 문제가 없도록 함
GPIO.cleanup()
import RPi.GPIO as GPIO
import time
from grovepi import *
# 핀 번호 설정
buzzer_pin = 2 # 부저는 D2에 연결
button = 18 # 버튼은 GPIO 18에 연결
# GPIO 모드 설정 (BCM 모드 사용)
GPIO.setmode(GPIO.BCM)
# 버튼 핀을 입력으로 설정하고, 풀업 저항을 활성화
GPIO.setup(button, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# 부저 핀을 출력으로 설정
pinMode(buzzer_pin, "OUTPUT")
# 버튼 상태 초기화
button_status = 0
try:
# 무한 루프
while True:
# 버튼 상태 읽기: 버튼이 눌렸는지 확인
button_status = GPIO.input(button)
# 버튼이 눌렸을 때 (button_status == 0), 부저를 켬
if button_status == 0:
digitalWrite(buzzer_pin, 1)
# 버튼이 눌리지 않았을 때 (button_status == 1), 부저를 끔
else:
digitalWrite(buzzer_pin, 0)
# 0.1초 대기
time.sleep(0.1)
# [Ctrl+C]로 프로그램 중단 시 부저를 끄고 종료
except KeyboardInterrupt:
digitalWrite(buzzer_pin, 0)
# 프로그램이 종료될 때 GPIO 핀을 정리
finally:
GPIO.cleanup()
import pygame
pygame.mixer.init() sound_sample= pygame.mixer.music sound_sample.load(‘사운드 파일 경로’) #파일 로드 sound_sample.play() #음악재생 sound_sample.stop() #음악멈춤 sound_sample.pause() #일시정지 sound_sample.unpause() #일시정지 해제 sound_sample.set_volume(float) #볼륨조정 0.0~1.0
sudo apt-get install espeak
import os
import time
def text_speak(text):
os.system('espeak -v ko ' + text)
text_speak('안녕 친구들')