import RPi.GPIO as GPIO
import time
# GPIO 핀 번호 설정
red_pin = 0
green_pin = 5
blue_pin = 6
# GPIO 핀 모드 설정
GPIO.setmode(GPIO.BCM)
GPIO.setup(red_pin, GPIO.OUT)
GPIO.setup(blue_pin, GPIO.OUT)
GPIO.setup(green_pin, GPIO.OUT)
try:
while True:
# 빨간색 LED 켜기
GPIO.output(red_pin, GPIO.HIGH)
GPIO.output(blue_pin, GPIO.LOW)
GPIO.output(green_pin, GPIO.LOW)
time.sleep(1)
# 파란색 LED 켜기
GPIO.output(red_pin, GPIO.LOW)
GPIO.output(blue_pin, GPIO.HIGH)
GPIO.output(green_pin, GPIO.LOW)
time.sleep(1)
# 초록색 LED 켜기
GPIO.output(red_pin, GPIO.LOW)
GPIO.output(blue_pin, GPIO.LOW)
GPIO.output(green_pin, GPIO.HIGH)
time.sleep(1)
except KeyboardInterrupt:
# 프로그램 종료 시 GPIO 설정 초기화
GPIO.cleanup()
import RPi.GPIO as GPIO
import time
import speech_recognition as sr
# GPIO 핀 번호 설정
red_pin = 0
green_pin = 5
blue_pin = 6
# GPIO 핀 모드 설정
GPIO.setmode(GPIO.BCM)
GPIO.setup(red_pin, GPIO.OUT)
GPIO.setup(blue_pin, GPIO.OUT)
GPIO.setup(green_pin, GPIO.OUT)
def led_control(color):
if color == "빨강" or color == "빨간색":
GPIO.output(red_pin, GPIO.HIGH)
GPIO.output(blue_pin, GPIO.LOW)
GPIO.output(green_pin, GPIO.LOW)
elif color == "파랑" or color == "파란색":
GPIO.output(red_pin, GPIO.LOW)
GPIO.output(blue_pin, GPIO.HIGH)
GPIO.output(green_pin, GPIO.LOW)
elif color == "초록" or color == "초록색":
GPIO.output(red_pin, GPIO.LOW)
GPIO.output(blue_pin, GPIO.LOW)
GPIO.output(green_pin, GPIO.HIGH)
elif color == "꺼" or color == "그만":
GPIO.output(red_pin, GPIO.LOW)
GPIO.output(blue_pin, GPIO.LOW)
GPIO.output(green_pin, GPIO.LOW)
recognizer = sr.Recognizer()
mic = sr.Microphone()
try:
while True:
with mic as source:
print("Say something!")
recognizer.adjust_for_ambient_noise(source) # background noise level adjustment
audio = recognizer.listen(source)
try:
# Google Web Speech API를 이용하여 오디오를 텍스트로 변환
result = recognizer.recognize_google(audio, language="ko-KR")
print("You said:", result)
if "빨강" in result or "빨간색" in result:
led_control("빨강")
elif "파랑" in result or "파란색" in result:
led_control("파랑")
elif "초록" in result or "초록색" in result:
led_control("초록")
elif "꺼" in result or "그만" in result:
led_control("꺼")
except sr.UnknownValueError:
print("Google Web Speech API could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Web Speech API; {0}".format(e))
except KeyboardInterrupt:
GPIO.cleanup()
import RPi.GPIO as GPIO
import time
import speech_recognition as sr
# GPIO 핀 번호 설정
red_pin = 0
green_pin = 5
blue_pin = 6
# GPIO 핀 모드 설정
GPIO.setmode(GPIO.BCM)
GPIO.setup(red_pin, GPIO.OUT)
GPIO.setup(blue_pin, GPIO.OUT)
GPIO.setup(green_pin, GPIO.OUT)
def led_control(color):
if "빨간색" in color or "빨강" in color:
GPIO.output(red_pin, GPIO.HIGH)
else:
GPIO.output(red_pin, GPIO.LOW)
if "파란색" in color or "파랑" in color:
GPIO.output(blue_pin, GPIO.HIGH)
else:
GPIO.output(blue_pin, GPIO.LOW)
if "초록색" in color or "초록" in color:
GPIO.output(green_pin, GPIO.HIGH)
else:
GPIO.output(green_pin, GPIO.LOW)
if "꺼" in color or "그만" in color:
GPIO.output(red_pin, GPIO.LOW)
GPIO.output(blue_pin, GPIO.LOW)
GPIO.output(green_pin, GPIO.LOW)
recognizer = sr.Recognizer()
mic = sr.Microphone()
try:
while True:
with mic as source:
print("말하세유!!")
recognizer.adjust_for_ambient_noise(source) # background noise level adjustment
audio = recognizer.listen(source)
try:
# Google Web Speech API를 이용하여 오디오를 텍스트로 변환
result = recognizer.recognize_google(audio, language="ko-KR")
print("당신이 한 말 :", result)
led_control(result)
except sr.UnknownValueError:
print("Google Web Speech API could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Web Speech API; {0}".format(e))
except KeyboardInterrupt:
GPIO.cleanup()
import RPi.GPIO as GPIO
import time
# GPIO 핀 번호 설정
BUZZER_PIN = 22
RED_LED_PIN = 0
GREEN_LED_PIN = 5
BLUE_LED_PIN = 6
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUZZER_PIN, GPIO.OUT)
GPIO.setup(RED_LED_PIN, GPIO.OUT)
GPIO.setup(GREEN_LED_PIN, GPIO.OUT)
GPIO.setup(BLUE_LED_PIN, GPIO.OUT)
# PWM 설정 (핀번호, 주파수)
pwm = GPIO.PWM(BUZZER_PIN, 440)
# 음계 주파수
notes = {
'DO3': 130.81, # 3옥타브 도
'RE3': 146.83, # 3옥타브 레
'MI3': 164.81, # 3옥타브 미
'FA3': 174.61, # 3옥타브 파
'SOL3': 196, # 3옥타브 솔
'LA3': 220, # 3옥타브 라
'SI3': 246.94, # 3옥타브 시
'DO4': 261.63, # 4옥타브 도
'RE4': 293.66, # 4옥타브 레
'MI4': 329.63, # 4옥타브 미
'FA4': 349.23, # 4옥타브 파
'SOL4': 392, # 4옥타브 솔
'LA4': 440, # 4옥타브 라
'SI4': 493.88, # 4옥타브 시
'DO5': 523.25, # 5옥타브 도
'DO6': 1046.50 # 6옥타브 도
}
# 음계에 따른 LED 색상 설정 함수
def set_led_color(note):
# 모든 LED 끄기
GPIO.output(RED_LED_PIN, False)
GPIO.output(GREEN_LED_PIN, False)
GPIO.output(BLUE_LED_PIN, False)
if note.startswith('DO'):
GPIO.output(RED_LED_PIN, True)
elif note.startswith('RE'):
# 주황색은 빨간색과 초록색의 혼합으로 표현됩니다.
GPIO.output(RED_LED_PIN, True)
GPIO.output(GREEN_LED_PIN, True)
elif note.startswith('MI'):
GPIO.output(GREEN_LED_PIN, True)
elif note.startswith('FA'):
GPIO.output(BLUE_LED_PIN, True)
elif note.startswith('SOL'):
# 파란색과 초록색의 혼합으로 표현됩니다.
GPIO.output(BLUE_LED_PIN, True)
GPIO.output(GREEN_LED_PIN, True)
elif note.startswith('LA'):
# 남색은 파란색과 빨간색의 혼합으로 표현됩니다.
GPIO.output(BLUE_LED_PIN, True)
GPIO.output(RED_LED_PIN, True)
elif note.startswith('SI'):
# 보라색은 빨간색과 파란색의 혼합으로 표현됩니다.
GPIO.output(RED_LED_PIN, True)
GPIO.output(BLUE_LED_PIN, True)
def play_sound(note, duration):
pwm.ChangeFrequency(notes[note])
set_led_color(note)
pwm.start(50)
time.sleep(duration / 2) # 지속 시간을 2배 빠르게 만듭니다.
pwm.stop()
time.sleep(0.25 / 2) # 음 사이의 간격도 2배 빠르게 만듭니다.
try:
# 기존의 음계 재생
play_sound('SOL4', 1)
play_sound('SOL4', 1)
play_sound('LA4', 1)
play_sound('LA4', 1)
play_sound('SOL4', 1)
play_sound('SOL4', 1)
play_sound('MI4', 2)
play_sound('SOL4', 1)
play_sound('SOL4', 1)
play_sound('MI4', 1)
play_sound('MI4', 1)
play_sound('RE4', 2)
finally:
GPIO.cleanup()
Copyright ⓒ TECH79 All right reserved