خواهید ساخت
خواهید ساخت
یک اسباب بازی فیجت یا ابزار حسی درست کنید. ابزار شما باید این موارد را برآورده کند خلاصه پروژه.
A ابزار حسی چیزی است که باعث می شود بخواهید با آن ارتباط برقرار کنید. اسباببازی فیجت نوعی ابزار حسی است که به کاربر کمک میکند استرس را کاهش دهد یا تمرکز خود را بهبود بخشد. یک ابزار تطبیقی می تواند توسط افراد دارای معلولیت جسمی برای برقراری ارتباط استفاده شود. یک ابزار حسی ممکن است تمام حواس را تحریک کند یا فقط روی یکی تمرکز کند.
شما:
- از مهارت های ساخت دیجیتال خود برای طراحی و ساخت یک ابزار برای کاربر استفاده کنید
- از ورودی های فیزیکی مانند دکمه ها و پتانسیومترها برای کنترل خروجی های فیزیکی مانند LED و زنگ هشدار استفاده کنید.
- به دیگران اجازه دهید ابزار شما را امتحان کنند و آن را بر اساس بازخورد خود بهبود بخشند
برای تکمیل این پروژه شما نیاز دارید:
سخت افزار:
شما می توانید تمامی سخت افزارهای مورد نیاز این پروژه و سایر پروژه های موجود در این مسیر را از سایت خریداری کنید فروشگاه اینترنتی کیترونیک.
- 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" کلیک کنید
- روی "نصب" کلیک کنید

را ببینید مقدمه ای بر راهنمای رسپبری پای پیکو برای اطلاعات بیشتر
کشف کنید ▶️
ویدیوی زیر را تماشا کنید. چگونه از ابزار برای ارتباط استفاده می شود؟ از چه ورودی ها و خروجی هایی استفاده شده است؟
یک ابزار کمکی
کاربر می تواند گزینه ای را انتخاب کند تا مراقب خود از نیاز فعلی خود مطلع شود. هنگامی که آنها انتخاب کردند، دکمه دیگری را فشار می دهند که به مراقب آنها هشدار می دهد.
داخل را ببینید
from picozero import LED, Speaker, Button
from time import sleep
eat = LED(13)
drink = LED(8)
play = LED(5)
speaker = Speaker(1)
choose = Button(18)
confirm = Button(22)
option = 0 # Store the current option
def choice(): # Call the next function and update the option
global option
if option == 0:
eat.on()
drink.off()
play.off()
elif option == 1:
eat.off()
drink.on()
play.off()
elif option == 2:
eat.off()
drink.off()
play.on()
elif option == 3:
eat.off()
drink.off()
play.off()
if option == 3:
option = 0
else:
option = option + 1
def sound_buzzer():
speaker.on()
sleep(1)
speaker.off()
choose.when_pressed = choice
confirm.when_pressed = sound_buzzer
یک ابزار کمکی کاربر می تواند گزینه ای را انتخاب کند تا مراقب خود از نیاز فعلی خود مطلع شود. هنگامی که آنها انتخاب کردند، دکمه دیگری را فشار می دهند که به مراقب آنها هشدار می دهد.

خلاصه پروژه: ابزار حسی
یک ابزار حسی بسازید که مردم بخواهند از آن استفاده کنند.
ابزار حسی شما باید:
- انواع مختلف ورودی داشته باشید
- چندین خروجی مختلف داشته باشید
- برای کاربر جذاب و به اندازه کافی قوی باشد تا بتوان از آن استفاده کرد
ابزار حسی شما می تواند:
- ارگونومی مانند راحتی کاربر را در نظر بگیرید
- بازنشانی در ورودی کاربر یا پس از مدت زمان تعیین شده
- به یک موضوع خاص متصل شوید
ارگونومی علمی است که به دنبال غلبه بر مشکلات و بهبود نحوه تعامل انسان با محیط خود است. بهبود ارگونومی یک گجت، استفاده از آن را آسانتر و تعامل با آن را راحتتر میکند.
ایده بگیرید 💭
در حین بررسی پروژه های نمونه، به ابزار حسی که می خواهید بسازید فکر کنید:
آسمان شب
سوراخ های کوچکی از طریق یک کارت سیاه ایجاد شده است تا یک افکت آسمان شب را بر روی سقف یک اتاق تاریک ایجاد کند. یک LED RGB برای ایجاد یک جلوه چشمک زن می زند. یک دکمه برای روشن و خاموش کردن چراغ استفاده می شود.
داخل را ببینید
from picozero import RGBLED, Button
rgb = RGBLED(1, 2, 3)
button = Button(18)
option = 0
def change_option():
global option
option += 1
if option == 1:
rgb.cycle()
else:
rgb.off()
option = 0
button.when_pressed = change_option
زنبور وزوز
بالهای زنبور دارای فویل آشپزخانه در پشت آنها هستند و وقتی به پایین فشار داده میشوند به یک تکه فویل دیگر روی کارت متصل میشوند - این باعث میشود صدای زنگ یک نت به صدا درآید. هر بال صدای متفاوتی پخش می کند. یک پتانسیومتر LED آبی روی دم زنبور را کنترل می کند.
داخل را ببینید
from picozero import LED, Speaker, Button, Pot
led = LED(13)
speaker1 = Speaker(5)
speaker2 = Speaker(10)
button1 = Button(18)
button2 = Button(28)
dial = Pot(0)
def tune1():
speaker1.play(500)
print('1 pressed')
def tune2():
speaker2.play(600)
print('2 pressed')
while True:
led.brightness = dial.percent
button1.when_pressed = tune1
button2.when_pressed = tune2
پیکوسابر
با فشردن دکمه، تیغه سابر روشن می شود و صدای زمزمه صدای آژیر پخش می شود. چرخاندن پتانسیومتر رنگ تیغه و زیر و بم صدای زمزمه را تغییر می دهد. با چرخاندن کامل پتانسیومتر به سمت پایین، یک "صدای کاهش قدرت" پخش می شود و سپس چراغ ها و زنگ ها خاموش می شوند.
داخل را ببینید
from time import sleep
from picozero import Button, RGBLED, Pot, Speaker
from random import randint
led = RGBLED(13,14,15) # Set up RGBLED
led2 = RGBLED(10,11,12) # Set up other RGBLED — the more, the brighter!
hum = Speaker(5) # Set up passive buzzer for hum/start/stop sounds
power = Button(17) # Set up button to turn on saber
dial = Pot(0) # Set up potentiometer to change blade colour and turn off
# Turn off lights and make 'power-down' sound
def off():
for i in range(400): # White noise loop 1 second
tone = randint(4000,6000) # Pick a random number between 4000 and 6000
hum.play(tone, 0.001) # Play tone for 1/1000th second
for i in range(200): # White noise loop 1 second
tone = randint(2000,4000) # Pick a random number between 2000 and 4000
hum.play(tone, 0.001) # Play tone for 1/1000th second
for i in range(200): # White noise loop 1 second
tone = randint(1000,3000) # Pick a random number between 1000 and 3000
hum.play(tone, 0.001) # Play tone for 1/1000th second
for i in range(200): # White noise loop 1 second
tone = randint(50,1000) # Pick a random number between 50 and 1000
hum.play(tone, 0.001) # Play tone for 1/1000th second
led.color = (0,0,0)
led2.color = (0,0,0)
hum.off()
# Make lightsaber start sound then turn on lights
def on():
for i in range(200): # White noise loop 0.2 second
tone = randint(50,1000) # Pick a random number between 50 and 1000
hum.play(tone, 0.001) # Play tone for 1/1000th second
for i in range(200): # White noise loop 0.2 second
tone = randint(1000,3000) # Pick a random number between 1000 and 3000
hum.play(tone, 0.001) # Play tone for 1/1000th second
for i in range(200): # White noise loop 0.2 second
tone = randint(2000,4000) # Pick a random number between 2000 and 4000
hum.play(tone, 0.001) # Play tone for 1/1000th second
for i in range(400): # White noise loop 0.4 second
tone = randint(3000,5000) # Pick a random number between 3000 and 5000
hum.play(tone, 0.001) # Play tone for 1/1000th second
while True: # Forever loop checking the dial reading to set colour and change hum sound
if dial.value >= 0.8: # Highest setting on dial - 5
led.color = (255,255,255) # White
led2.color = (255,255,255)
hum.play(90)
elif dial.value >= 0.6: # High setting on dial - 4
led.color = (255,0,255) # Purple blade
led2.color = (255,0,255)
hum.play(80)
elif dial.value >= 0.4: # Middle setting on dial - 3
led.color = (0,0,255) # Blue blade
led2.color = (0,0,255)
hum.play(70)
elif dial.value >= 0.2: # Low setting on dial - 2
led.color = (0,255,0) # Green blade
led2.color = (0,255,0)
hum.play(60)
elif dial.value >= 0.01: # Lowest setting on dial (above 0.01) - 1
led.color = (255,0,0) # Red blade
led2.color = (255,0,0)
hum.play(50)
else: # If dial turned all the way down - 0
off() # Run off function
break # Leave the loop
power.when_pressed = on
شمع دیجیتال
LED RGB روی حلقه ای قرار دارد که مانند یک شعله سوسوزن به نظر می رسد. دمیدن بر روی شمع باعث می شود که یک تماس فویل با تماس دیگری روی شمع تماس گرفته و حلقه را متوقف کند. بعد از مدتی حلقه دوباره راه اندازی می شود.

داخل را ببینید
from picozero import RGBLED, Switch
from time import sleep
from random import randint
# State which pins the components are attached to on the Pico
led = RGBLED(13, 14, 15)
trigger = Switch(18)
def light(): # Flickering flame loop
red = randint(125,255) # Mostly red
yellow = (red - 125) # Never more than red
delay = randint(0,100)
led.color = (red, yellow, 0)
sleep(delay/1000)
def dark(): # No flame
led.off()
sleep(2) # Dark time before reset
# Loop to check if switch is closed
while True:
if trigger.is_closed:
dark()
else:
light()
یک ابزار کمکی
کاربر می تواند گزینه ای را انتخاب کند تا مراقب خود از نیاز فعلی خود مطلع شود. هنگامی که آنها انتخاب کردند، دکمه دیگری را فشار می دهند که به مراقب آنها هشدار می دهد.

آسمان شب
سوراخ های کوچکی از طریق یک کارت سیاه ایجاد شده است تا یک شب پر ستاره در سقف یک اتاق تاریک ایجاد شود. یک LED RGB برای ایجاد یک جلوه چشمک زن می زند.

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

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

شمع دیجیتال LED RGB روی حلقه ای قرار دارد که شبیه شعله سوسوزن به نظر می رسد. دمیدن روی شمع باعث تماس فویل با تماس دیگر روی شمع می شود و حلقه را متوقف می کند. بعد از مدتی حلقه دوباره راه اندازی می شود.

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