버튼 및 부저

피에조 부저

grovepi 사용 버튼 및 부저 실습

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()

GPIO 사용 버튼 및 부저 실습

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

음성 출력을 위한 espeak 설치

sudo apt-get install espeak

음성 출력

import os
import time

def text_speak(text):
	os.system('espeak -v ko ' + text)
text_speak('안녕 친구들')