خواهید ساخت
خواهید ساخت
یک دستگاه صوتی ایجاد کنید که جلوه های صوتی یا موسیقی را با استفاده از دکمه ها، سوئیچ ها یا پتانسیومتر پخش کند.
صداها می تواند مفید، آرام بخش، آزاردهنده و انرژی زا باشد. یک نوزاد تازه متولد شده می تواند دستگاهی با صدای سفید را بیابد که آرام می کند و صدا می تواند به خوابیدن او کمک کند. دیجیها از دستگاههای صوتی قابل حمل برای آهنگسازی ضربات هنگام سفر استفاده میکنند. شوخی ها از ماشین های جلوه های صوتی برای خنداندن مردم استفاده می کنند. آیا می توانید به دستگاه صوتی فکر کنید که در زندگی روزمره خود از آن استفاده کرده اید؟
شما:
- دستگاهی طراحی کنید که از صدا برای هدف خاصی استفاده کند
- موسیقی یا جلوه های صوتی را برای پخش در یک زنگ برنامه ریزی کنید
- یک رابط ایجاد کنید که به کاربر اجازه می دهد صداها را کنترل کند
برای تکمیل این پروژه شما نیاز دارید:
سخت افزار:
شما می توانید تمامی سخت افزارهای مورد نیاز این پروژه و سایر پروژه های موجود در این مسیر را از سایت خریداری کنید فروشگاه اینترنتی کیترونیک.
- Raspberry Pi Pico با هدر پین که روی آن لحیم شده است
- یک کابل دیتا USB A به micro USB
- پتانسیومتر یا دکمه ها (خرید شده یا ساخته شده)
- صدای زنگ منفعل
- سیم های جامپر
- مواد کاردستی از جمله کارت، نوار چسب و فویل آشپزخانه
نرم افزار:
- Thonny – این پروژه را می توان با استفاده از ویرایشگر Thonny Python تکمیل کرد که می تواند بر روی یک رایانه لینوکس، ویندوز یا مک نصب شود.
Thonny را نصب کنید
Thonny را روی Raspberry Pi نصب کنید
- Thonny قبلاً روی Raspberry Pi OS نصب شده است، اما ممکن است نیاز به به روز رسانی به آخرین نسخه داشته باشد
- یک پنجره ترمینال را باز کنید، یا با کلیک کردن روی نماد در گوشه سمت چپ بالای صفحه یا با فشار دادن همزمان کلیدهای Ctrl+Alt+T
- در پنجره، عبارت زیر را تایپ کنید تا سیستم عامل و Thonny خود را به روز کنید
sudo apt update && sudo apt upgrade -y
Thonny را روی سیستم عامل های دیگر نصب کنید
- در Windows، macOS و Linux، میتوانید آخرین Thonny IDE را نصب کنید یا نسخه موجود را بهروزرسانی کنید
- در یک مرورگر وب، به thonny.org
- در گوشه سمت راست بالای پنجره مرورگر، لینک های دانلود ویندوز و macOS و دستورالعمل های لینوکس را مشاهده خواهید کرد.
- فایل های مربوطه را دانلود و اجرا کنید تا Thonny نصب شود

باز کردن تونی
Thonny را از راهانداز برنامه خود باز کنید. باید چیزی شبیه این باشد:

می توانید از Thonny برای نوشتن کدهای استاندارد پایتون استفاده کنید. عبارت زیر را در پنجره اصلی تایپ کنید و سپس روی آن کلیک کنید اجرا کنید دکمه (از شما خواسته می شود فایل را ذخیره کنید).
print('Hello World!')
تم و فونت را در Thonny تغییر دهید
Thonny به شما اجازه می دهد تا تم و فونت نرم افزار را تغییر دهید. این ویژگی به این معنی است که می توانید اندازه فونت را افزایش دهید و رنگ پس زمینه و متن را متناسب با نیاز خود تغییر دهید.
برای تغییر تم و فونت:
- روی Tools -> Options کلیک کنید.
- بر روی تب "Theme & Font" کلیک کنید.
- روی کادرهای کشویی برای هر گزینه کلیک کنید تا تنظیماتی را پیدا کنید که به بهترین وجه با نیازهای شما مطابقت دارد.

- پس از اتمام کار، OK را فشار دهید.
هشدار: به فونت های ساده و تمیز پایبند باشید. اگر از فونت سبک دست نویسی استفاده می کنید، خواندن و اشکال زدایی آن را دشوار می کند.
- picozero - باید picozero را در Raspberry Pi Pico خود راه اندازی کنید
پیکورو را راه اندازی کنید
Raspberry Pi Pico خود را به برق وصل کنید
Rasberry Pico خود را به رایانه ای که برای برنامه نویسی آن استفاده می کنید وصل کنید.


MicroPython را نصب یا به روز کنید
- ویرایشگر Thonny را باز کنید
- به گوشه پایین سمت راست نگاه کنید
- بررسی کنید که می گوید "MicroPython (Raspberry Pi Pico)"
- اگر نشد، «MicroPython (Raspberry Pi Pico)» را انتخاب کنید.
- ممکن است از شما خواسته شود که سیستم عامل را نصب کنید.
پیکوزورو اضافه کنید
- به «ابزارها > مدیریت بستهها» بروید
- "picozero" را در نوار جستجو تایپ کنید
- روی «جستجو در PyPI» کلیک کنید

- در نتایج جستجو روی "picozero" کلیک کنید
- روی "نصب" کلیک کنید

را ببینید مقدمه ای بر راهنمای رسپبری پای پیکو برای اطلاعات بیشتر
اختیاری:
- LED(های) RGB کاتدی معمولی یا LED(های) تک رنگ با مقاومت ها و سیم های جامپر
- یک زنگ زنگ غیرفعال اضافی برای صدای استریو
کشف کنید ▶️
تابلو جلوه های صوتی
این صفحه صدا از مقوا با تعدادی دکمه فویل ساخته شده است که در صورت فعال شدن جلوه های صوتی را پخش می کند.
داخل را ببینید
from picozero import Speaker, Button
from time import sleep
from random import randint
# State which pins the components are attached to on the Pico
speaker = Speaker(5)
button1 = Button(18)
button2 = Button(19)
button3 = Button(20)
button4 = Button(21)
# A series of functions that create annoying tones
def tada(): # Ta-Daaa!
speaker.play(523, 0.1)
sleep(0.1)
speaker.play(523, 0.4)
def chirp(): # Series of high-pitched chirps
for _ in range(2):
for i in range(5000, 2999, -100):
speaker.play(i, 0.02)
sleep(0.2)
def win(): # Rising tones
for i in range(2000, 5000, 100):
speaker.play(i, 0.05)
def womp(): # Wah-wah-wah-waaaaahhhh
speaker.play(494, 0.5)
speaker.play(466, 0.5)
speaker.play(440, 0.5)
for i in range(10):
speaker.play(415, 0.05)
speaker.play(440, 0.05)
speaker.play(415, 0.2)
def stop(): # No sound or light
led.off()
button1.when_pressed = tada
button2.when_pressed = chirp
button3.when_pressed = womp
button4.when_pressed = win
try:
while True:
sleep(0.1)
finally:
stop()
ایده بگیرید 💭
شما می خواهید برای ایجاد صفحه صوتی خود تصمیمات طراحی بگیرید.
این پروژههای نمونه را کاوش کنید تا ایدههای بیشتری برای ایجاد دستگاه صدای خود به دست آورید:
برای من آهنگ پخش کن (با استفاده از یک سوئیچ دراپ)
یک سوئیچ قطره با استفاده از دو تکه فویل با فویل نیز به پایین یک کاراکتر متصل شده است. وقتی کاراکتر روی سوئیچ می افتد، آهنگ فعال می شود.
داخل را ببینید
from picozero import Speaker, Switch
speaker = Speaker(5)
switch = Switch(18)
BEAT = 0.5 # 120 BPM
defying = [ ['a5', BEAT / 2], ['a5', BEAT], ['e6', BEAT], ['d6', BEAT * 1.5], ['f#5', BEAT], ['a5', BEAT * 1.5],
['d5', BEAT], ['f#5', BEAT * 1.5], ['e5', BEAT / 2], ['e5', BEAT * 1.5] ]
def play_song():
try:
speaker.play(defying)
finally: # Turn speaker off if interrupted
speaker.off()
switch.when_closed = play_song
آلارم صوتی (سوئیچ پاپر پارتی معکوس + چرخه SFX مزاحم)
بر اساس پروژه پاپر حزب قبلی: وقتی تکه مقوا کشیده می شود، به یک سوئیچ فنری (گیره لباس با فویل قلع) اجازه می دهد بسته شود و سپس یک حلقه بی پایان از صداهای مزاحم و چراغ های رنگی همراه پخش می شود.
داخل را ببینید
from picozero import Speaker, RGBLED, Switch
from time import sleep
from random import randint
# State which pins the components are attached to on the Pico
speaker = Speaker(5)
led = RGBLED(13, 14, 15)
trigger = Switch(18)
# A series of functions that create annoying tones
def tada(): # Ta-Daaa!
led.color = (250,125,0)
speaker.play(523, 0.1)
led.color = (0,0,0)
sleep(0.1)
led.color = (250,125,0)
speaker.play(523, 0.4)
for i in range(100, 0, -1):
speaker.play(523, 0.01, i/100)
def chirp(): # Series of high-pitched chirps
for _ in range(5):
bc = 255
rc = 0
for i in range(5000, 2999, -100):
led.color = (rc,0,bc)
speaker.play(i, 0.02)
bc -= 12
rc += 12
sleep(0.2)
def alarm(): # Rising tones
for _ in range(5):
gc = 255
bc = 0
for i in range(2000, 5000, 100):
led.color = (127,gc,bc)
speaker.play(i, 0.05)
gc -= 8
bc += 8
sleep(0.2)
def siren(): # Nee-Nor!
for i in range(10):
led.color = (0,0,255)
speaker.play(4500, 0.5)
led.color = (255,0,0)
speaker.play(2500, 0.5)
def bomb(): # Dropping 'alarm' to crash
bc = 240
for i in range(5000, 1000, -50):
led.color = (127,255,bc)
speaker.play(i, 0.05)
bc -= 3
led.color = (255,0,0)
for i in range(1000): # White noise loop 1 second
tone = randint(1000,5000) # Pick a random number
speaker.play(tone, 0.001) # Play tone for 1/1000th second
sleep(0.2)
def womp(): # Wah-wah-wah-waaaaahhhh
led.color = (255,255,255) # White
speaker.play(494, 0.5)
led.color = (125,125,125) # Dim
speaker.play(466, 0.5)
led.color = (60,60,60) # Dimmer
speaker.play(440, 0.5)
for i in range(10):
speaker.play(415, 0.05)
led.color = (0,0,0) # Off
speaker.play(440, 0.05)
led.color = (255,255,255) # White
speaker.play(415, 0.2)
def noise():
sound = randint(1,6) # Pick a number between 1–6
if sound == 1:
tada()
elif sound == 2:
chirp()
elif sound == 3:
siren()
elif sound == 4:
alarm()
elif sound == 5:
bomb()
elif sound == 6:
womp()
def safe(): # No sound or light
speaker.off()
led.off()
# Loop to check if switch is closed
while True:
if trigger.is_closed:
noise()
else:
safe()
آلت موسیقی با دو زنگ - یکی با نویز سفید که توسط پتانسیومتر کنترل میشود
این دستگاه صدا دارای یک پتانسیومتر است که سرعت آهنگ پخش شده از اولین زنگ را کنترل می کند. با فشار دادن دکمه، چند نت کوتاه از زنگ دوم پخش می شود.
داخل را ببینید
from picozero import Speaker, Pot, Button
from time import sleep
speaker = Speaker(5)
speaker2 = Speaker(10)
button = Button(18)
dial = Pot(0)
BEAT = 0.4
liten_mus = [ ['d5', BEAT / 2], ['d#5', BEAT / 2], ['f5', BEAT], ['d6', BEAT], ['a#5', BEAT], ['d5', BEAT],
['f5', BEAT], ['d#5', BEAT], ['d#5', BEAT], ['c5', BEAT / 2],['d5', BEAT / 2], ['d#5', BEAT],
['c6', BEAT], ['a5', BEAT], ['d5', BEAT], ['g5', BEAT], ['f5', BEAT], ['f5', BEAT], ['d5', BEAT / 2],
['d#5', BEAT / 2], ['f5', BEAT], ['g5', BEAT], ['a5', BEAT], ['a#5', BEAT], ['a5', BEAT], ['g5', BEAT],
['g5', BEAT], ['', BEAT / 2], ['a#5', BEAT / 2], ['c6', BEAT / 2], ['d6', BEAT / 2], ['c6', BEAT / 2],
['a#5', BEAT / 2], ['a5', BEAT / 2], ['g5', BEAT / 2], ['a5', BEAT / 2], ['a#5', BEAT / 2], ['c6', BEAT],
['f5', BEAT], ['f5', BEAT], ['f5', BEAT / 2], ['d#5', BEAT / 2], ['d5', BEAT], ['f5', BEAT], ['d6', BEAT],
['d6', BEAT / 2], ['c6', BEAT / 2], ['b5', BEAT], ['g5', BEAT], ['g5', BEAT], ['c6', BEAT / 2],
['a#5', BEAT / 2], ['a5', BEAT], ['f5', BEAT], ['d6', BEAT], ['a5', BEAT], ['a#5', BEAT * 1.5] ]
sound = [ [523, 0.1], [None, 0.1], [523, 0.4] ]
def annoying_sound():
speaker.play(sound, wait=False)
button.when_pressed = annoying_sound
try:
for note in liten_mus:
speaker2.play(note)
sleep(dial.value) # Leave a gap between notes depending on potentiometer value
finally:
speaker.off() # Turns speaker off when code is stopped by user
speaker2.off() # Turns speaker2 off when code is stopped by user
ایده بگیرید 💭
شما می خواهید برای ایجاد صفحه صوتی خود تصمیمات طراحی بگیرید. در اینجا چند نمونه از تابلوهای صوتی برای کمک به ایده های خود آورده شده است:
تابلو جلوه های صوتی
این صفحه صدا از مقوا با تعدادی دکمه فویل ساخته شده است که در صورت فعال شدن جلوه های صوتی را پخش می کند.

برای من آهنگ پخش کن (با استفاده از یک سوئیچ دراپ)
یک سوئیچ قطره با استفاده از دو تکه فویل با فویل نیز به پایین یک کاراکتر متصل شده است. وقتی کاراکتر روی سوئیچ می افتد، آهنگ فعال می شود.

بمب صوتی (سوئیچ پاپر پارتی معکوس + چرخه مزاحم SFX)
بر اساس پروژه قبلی Party popper، وقتی تکه مقوا کشیده می شود، به یک سوئیچ فنری (گیره لباس با فویل قلع) اجازه می دهد بسته شود و یک حلقه بی پایان از صداهای مزاحم پخش می شود.

آلت موسیقی با دو زنگ - یکی با نویز سفید که توسط پتانسیومتر کنترل میشود
این دستگاه صدا دارای یک پتانسیومتر است که سرعت آهنگ پخش شده از اولین زنگ را کنترل می کند. با فشار دادن دکمه، چند نت کوتاه از زنگ دوم پخش می شود.

هلیو کیددنیای برنامهنویسی نوجوانان