فهرست مطالب:

Walabot FX - کنترل اثر گیتار: 28 مرحله (همراه با تصاویر)
Walabot FX - کنترل اثر گیتار: 28 مرحله (همراه با تصاویر)

تصویری: Walabot FX - کنترل اثر گیتار: 28 مرحله (همراه با تصاویر)

تصویری: Walabot FX - کنترل اثر گیتار: 28 مرحله (همراه با تصاویر)
تصویری: Walabot FX- Guitar Effect Control. Full Demo 2024, نوامبر
Anonim
Walabot FX - کنترل اثر گیتار
Walabot FX - کنترل اثر گیتار

جلوه گیتار مورد علاقه خود را با استفاده از هیچ چیز جز ژست های فوق العاده گیتار کنترل کنید!

مرحله 1: چیزهایی که شما نیاز دارید

اجزای سخت افزاری

Walabot - Walabot

Raspberry Pi - Raspberry Pi 3 Model B

Sunfounder LCD1602

SunFounder PCA9685 16 Channel 12 Bit PWM Servo Driver for Arduino and Raspberry Pi

سروو (عمومی) پیوند ندارد

کلیپ باتری 9V

نگهدارنده باتری 4xAA

باتری های AA

سیم های جامپر (عمومی)

DPDT Latching Action Foot Switch

Korg SDD3000-PDL

سیستم عامل های نرم افزاری ، برنامه ها و خدمات آنلاین

Autodesk Fusion360 -

بلینک -

ابزار و غیره

پرینتر سه بعدی

آهن لحیم کاری

مرحله 2: چکیده

Getting Started
Getting Started

کنترل بیان موسیقی با استفاده از هیچ چیز جز موقعیت گیتار در فضای سه بعدی چگونه خواهد بود؟ خوب ، بیایید چیزی را نمونه اولیه کنیم و دریابیم!

مرحله 3: ایده اصلی

من می خواستم بتوانم 3 پارامتر افکت را در زمان واقعی کنترل کنم ، می خواستم این کار را با استفاده از نحوه قرارگیری گیتارم انجام دهم. بنابراین یک چیز واضح بود ، من به چند مورد نیاز دارم.

  • حسگری که می تواند فضای سه بعدی را ببیند
  • سروو برای چرخاندن دستگیره ها
  • یک صفحه نمایش LCD
  • درایور I2C Servo
  • تمشک پای
  • برای یادگیری پایتون

مرحله 4: Walabot

می خواهید دیوارها را ببینید؟ اشیاء حس شده در فضای سه بعدی؟ احساس می کنید اگر از آن طرف اتاق نفس می کشید؟ خوب ، شما خوش شانس هستید!

Walabot یک روش جدید برای تشخیص فضای اطراف شما با استفاده از رادار کم مصرف است.

این می تواند برای این پروژه کلیدی باشد ، من قادر خواهم بود که coodinates از اشیاء را در فضای سه بعدی تهیه کنم و آنها را در موقعیت سرو قرار دهم و نحوه تغییر صدای گیتار را در زمان واقعی بدون لمس پدال تغییر دهم.

پیروزی.

اطلاعات بیشتر در مورد Walabot را می توانید در اینجا پیدا کنید

مرحله 5: شروع به کار

در وهله اول ، برای رانندگی Walabot به کامپیوتر احتیاج دارید ، برای این پروژه من از Raspberry Pi 3 استفاده می کنم (در اینجا در RPi به آن اشاره شده است) به دلیل وای فای داخلی و عملکرد کلی اضافی

من یک کارت SD 16 گیگابایتی با NOOBS از پیش نصب شده خریداری کردم تا همه چیز زیبا و ساده باشد و تصمیم گرفتم Raspian را به عنوان سیستم عامل مورد علاقه لینوکس خود نصب کنم.

(اگر با نحوه نصب Raspian آشنایی ندارید ، لطفاً کمی وقت بگذارید تا کمی در این مورد مطالعه کنید)

خوب ، هنگامی که Raspian را روی RPi خود اجرا کردید ، چند مرحله پیکربندی وجود دارد که باید برای آماده سازی همه چیز برای پروژه ما انجام دهید.

مرحله 6: راه اندازی رزبری پای - 1

ابتدا اطمینان حاصل کنید که آخرین نسخه Kernel را اجرا می کنید و با باز کردن یک پوسته فرمان و تایپ کردن ، به روز رسانی را بررسی کنید

sudo apt-get update

sudo apt-get dist-upgrade

(sudo اضافه می شود تا اطمینان حاصل کنید که دارای امتیازات اداری هستید ، به عنوان مثال ، موارد کار می کنند)

ممکن است تکمیل این کار کمی طول بکشد ، بنابراین بروید و یک فنجان چای خوب بخورید.

مرحله 7: راه اندازی رزبری پای - 2

باید SDK Walabot را برای RPi نصب کنید. از مرورگر وب RPi خود به آدرس https://www.walabot.com/gettingstarted بروید و بسته نصب کننده رزبری پای را بارگیری کنید.

از پوسته فرمان:

دانلود سی دی

sudo dpkg -I walabotSDK_RasbPi.deb

مرحله 8: راه اندازی رزبری پای - 3

ما باید پیکربندی RPi را برای استفاده از گذرگاه i2c شروع کنیم. از یک پوسته فرمان:

sudo apt-get python-smbus را نصب کنید

sudo apt-get i2c-tools را نصب کنید

پس از انجام این کار ، باید موارد زیر را به فایل ماژول ها اضافه کنید

از پوسته فرمان:

sudo nano /etc /modules

این 2 رشته را روی خطوط جداگانه اضافه کنید:

i2c-dev

i2c-bcm2708

مرحله 9: راه اندازی رزبری پای - 4

Walabot مقدار کمی جریان دارد و ما همچنین از GPIO برای کنترل موارد استفاده می کنیم ، بنابراین ما باید آنها را تنظیم کنیم

از پوسته فرمان:

sudo nano /boot/config.txt

خطوط زیر را در انتهای فایل اضافه کنید:

safe_mode_gpio = 4

max_usb_current = 1

RPi یک ابزار عالی برای سازندگان است ، اما در حال حاضر محدود است که می تواند به Walabot ارسال کند. به همین دلیل است که ما حداکثر جریان 1 آمپر را به جای استاندارد 500 میلی آمپر اضافه می کنیم

مرحله 10: پایتون

چرا پایتون؟ خوب ، زیرا کدگذاری بسیار آسان است ، سریع اجرا می شود و تعداد زیادی مثال خوب پایتون در دسترس است! من قبلاً از آن استفاده نکرده بودم و به زودی راه اندازی شد و در مدت زمان کوتاهی اجرا شد. در حال حاضر RPi برای آنچه ما می خواهیم پیکربندی شده است ، مرحله بعدی پیکربندی پایتون برای دسترسی به رابط های Walabot API ، LCD Servo است

مرحله 11: برای Walabot

از پوسته فرمان

Sudo pip install “/usr/share/walabot/python/WalabotAPI-1.0.21.zip”

مرحله 12: برای رابط سروو

از پوسته فرمان

sudo apt-get install git build-essential python-dev

سی دی

git clone

سی دی Adafruit_Python_PCA9685

sudo python setup.py install

چرا باید از درایور سرو استفاده کنیم؟ خوب ، به RPi چند دلیل.

1. جریانی که توسط سروو کشیده می شود می تواند بسیار زیاد باشد ، و این تعداد هرچه تعداد سروهای بیشتر (البته) بیشتر می شود. اگر با سروو مستقیم از RPi رانندگی می کنید ، احتمال دارد منبع تغذیه آن را خراب کنید

2. زمان بندی PWM (مدولاسیون عرض پالس) که موقعیت سروها را کنترل می کند بسیار مهم است. از آنجا که RPi از سیستم عامل بیدرنگ استفاده نمی کند (ممکن است وقفه ای رخ دهد) زمان بندی ها دقیق نیست و می تواند سرویس ها را عصبی کند. یک درایور اختصاصی امکان کنترل دقیق را می دهد ، اما اجازه می دهد تا حداکثر 16 سروو اضافه شود ، بنابراین این برای توسعه عالی است.

مرحله 13: برای LCD

بلینک
بلینک

مرورگر وب RPi خود را باز کنید

www.sunfounder.com/learn/category/sensor-k…

دانلود

github.com/daveyclk/SunFounder_SensorKit_…

از پوسته فرمان:

sudo mkdir/usr/share/sunfounder

با استفاده از کاوشگر گرافیکی ، پوشه پایتون را از فایل زیپ در پوشه جدید sunfounder خود کپی کنید

از LCD استفاده می شود تا به کاربر بگوید دقیقاً چه اتفاقی می افتد. نمایش روند پیکربندی تا مقادیر x ، y و z که بر روی هر سروو نقشه برداری می شوند

مرحله 14: بلینک

بلینک
بلینک
بلینک
بلینک

Blynk یک سرویس IoT درخشان است که به شما امکان می دهد یک برنامه سفارشی برای کنترل موارد خود ایجاد کنید. به نظر می رسید راه حل مناسبی است که به من کنترل از راه دور walabot را بدهد تا در تنظیمات واقعاً شماره گیری کند…

یک مشکل. Blynk در حال حاضر در پلت فرم Python پشتیبانی نمی شود ، اشکال ساز. اما نترس! من توانستم یک کار کوچک خوب پیدا کنم که امکان کنترل از راه دور و ورودی پارامتر از راه دور را فراهم می کند! کمی هک شده است

اولین قدم این است که برنامه Blynk را از فروشگاه برنامه مورد علاقه خود بارگیری کنید

دوم ، برای یک حساب کاربری ثبت نام کنید

پس از انجام این کار ، برنامه را باز کنید و پروژه جدیدی را شروع کنید و رزبری پای 3 را به عنوان سخت افزار انتخاب کنید.

برنامه به شما یک رمز دسترسی اختصاص می دهد (برای قرار دادن کد خود به این مورد نیاز خواهید داشت)

وقتی این کار را انجام دادید. شما باید برنامه را همانطور که در تصاویر نشان داده شده تنظیم کنید. به این ترتیب با walabot ارتباط برقرار می کند.

مرحله 15: پیکربندی برنامه Blynk

پیکربندی برنامه Blynk
پیکربندی برنامه Blynk
پیکربندی برنامه Blynk
پیکربندی برنامه Blynk
پیکربندی برنامه Blynk
پیکربندی برنامه Blynk

مرحله 16: می توانید از این کد QR با برنامه Blynk برای کلون کردن پروژه من استفاده کنید تا در وقت شما صرفه جویی شود

می توانید از این کد QR با برنامه Blynk برای کلون کردن پروژه من استفاده کنید تا در وقت شما صرفه جویی شود
می توانید از این کد QR با برنامه Blynk برای کلون کردن پروژه من استفاده کنید تا در وقت شما صرفه جویی شود

خوب اکنون که برنامه کاملاً راه اندازی شده است ، می توانیم Python و RPi را طوری پیکربندی کنیم که از طریق اینترنت با آن صحبت کنند. شعبده بازي

مرحله 17: اجرای Blynk با Raspberry Pi و استفاده از Blynk HTTPS برای پایتون

ابتدا باید بسته بندی Blynk HTTPS را برای پایتون نصب کنید

از پوسته فرمان:

sudo git clone

sudo pip install blynkapi

در مرحله دوم ، شما باید سرویس Blynk را روی RPi نصب کنید

از پوسته فرمان:

git clone

سی دی blynk-library/linux

همه را تمیز کنید

برای اجرای سرویس blynk

sudo./blynk --token = YourAuthToken

برای اطمینان از راه اندازی سرویس Blynk هنگام راه اندازی ، باید /etc/rc.local را تغییر دهید

با انجام دادن

sudo nano /etc/rc.local

این را در انتها اضافه کنید

./blynk-library/linux/blynk --token = رمز من &

(من مقداری از فایل /etc/rc.local خود را در بخش کد برای مرجع قرار داده ام)

برای آزمایش کارکردن کافی است تایپ کنید

sudo /etc/rc. شروع محلی

سرویس Blynk اکنون باید اجرا شود

مرحله 18: اجرای خودکار اسکریپت

اکنون که همه اینها تنظیم و پیکربندی شده است ، و ما کد پایتون را آماده کرده ایم. ما می توانیم همه چیز را به صورت خودکار تنظیم کنیم تا بتوانیم صفحه کلید و مانیتورها را کنار بگذاریم

چند کار وجود دارد که باید انجام داد

یک فایل اسکریپت جدید ایجاد کنید تا برنامه پایتون اجرا شود

sudo nano guitareffect.sh

این خطوط را اضافه کنید

#!/bin/sh

python /home/pi/GuitarEffectCLI.py

مطمئن شوید که آن را ذخیره کنید

در مرحله بعد باید به اسکریپت اجازه دهیم تا با تایپ اجرا شود

سودو chmod +x /home/pi/guitareffect.sh

و در نهایت ، ما باید این اسکریپت را به فایل /etc/rc.local که قبلا با آن کار کردیم اضافه کنیم.

سودو نانو /etc/rc.local

اضافه کردن

/home/pi/guitareffect.sh &

مطمئن شوید که "&" را وارد کنید که به پایتون اسکریپت اجازه می دهد در پس زمینه اجرا شود

درست! این همه پیکربندی و نرم افزار مرتب شده است ، بعد نوبت به سیم کشی سخت افزار می رسد

مرحله 19: سخت افزار

Image
Image
Walabot guitar effects control proto1
Walabot guitar effects control proto1

اولین نمونه اولیه Breadboard

مرحله 20: طراحی محفظه

طراحی محوطه
طراحی محوطه
طراحی محوطه
طراحی محوطه

محفظه در Fusion360 عالی طراحی و ارائه شده است

مرحله 21: ضربات شلیک شده

Guts Shots
Guts Shots
Guts Shots
Guts Shots
Guts Shots
Guts Shots

مرحله 22: عکس های مونتاژ نهایی

عکس های مونتاژ نهایی
عکس های مونتاژ نهایی
عکس های مونتاژ نهایی
عکس های مونتاژ نهایی
عکس های مونتاژ نهایی
عکس های مونتاژ نهایی

مرحله 23: برای ثابت کردن Walabot به پایه

برای ثابت کردن Walabot به پایه
برای ثابت کردن Walabot به پایه

از دیسک فلزی خود چسبی که همراه walabot است برای تعمیر آن در محل استفاده کنید

مرحله 24: فایل های سخت افزاری STL برای چاپ سه بعدی

مرحله 25: طرحواره هایی برای سیم کشی چیزها

مرحله 26: کد

از اسکریپت پایتون پیوست شده برای پروژه خود استفاده کنید

از _future_ import_function printfrom sys import platform from os import system from blynkapi import Blynk import WalabotAPI import time import RPi. GPIO as GPIO

#GPIO را با استفاده از شماره گذاری برد راه اندازی کنید

GPIO.setmode (GPIO. BOARD) GPIO.setup (18 ، GPIO. IN ، pull_up_down = GPIO. PUD_UP)

توکن #blynk

auth_token = "your_auth_token_here"

# ماژول PCA9685 را برای کنترل سروو وارد کنید.

واردات Adafruit_PCA9685

#وارد کردن ماژول LCD از محل

از imp import load_source LCD1602 = load_source ('LCD1602'، '/usr/share/sunfounder/Python/LCD1602.py')

# PCA9685 را با استفاده از آدرس پیش فرض (0x40) اولیه کنید.

pwm = Adafruit_PCA9685. PCA9685 ()

# اشیاء بلینک

پیش فرض = Blynk (auth_token ، pin = "V9") start_button = Blynk (auth_token ، pin = "V3") Rmax = Blynk (auth_token ، pin = "V0") Rmin = Blynk (auth_token ، pin = "V1") Rres = بلینک (auth_token ، pin = "V2")

ThetaMax = Blynk (auth_token ، pin = "V4")

ThetaRes = Blynk (auth_token ، pin = "V5")

PhiMax = Blynk (auth_token ، pin = "V6")

PhiRes = Blynk (auth_token ، pin = "V7")

آستانه = بلینک (auth_token ، pin = "V8")

ServoMin = Blynk (auth_token ، pin = "V10")

ServoMax = Blynk (auth_token ، pin = "V11")

def LCDsetup ():

LCD1602.init (0x27 ، 1) # init (آدرس برده ، نور پس زمینه)

def numMap (x، in_min، in_max، out_min، out_max): "" "برای نگاشتن قرائت های walabot به موقعیت سروو" "بازگشت int ((x- in_min) * (out_max - out_min) / (in_max - in_min) + خارج از دقیقه)

# از این برای گرد کردن داده های خام به مقدار تعیین شده استفاده کنید

def myRound (x، base = 2): return int (base * round (float (x)/base))

#عدد را از رشته بازگشتی blynk استخراج می کند

def defExract (val): val = str (val) return int (filter (str.isdigit، val))

# فرکانس را روی 60 هرتز تنظیم کنید ، برای سروها مناسب است.

pwm.set_pwm_freq (60)

# پیش فرض حداقل و حداکثر طول پالس سروو را پیکربندی کنید

SERVO_MIN = 175 # دقیقه طول نبض از 4096 SERVO_MAX = 575 # حداکثر طول پالس از 4096

# مقادیر پیش فرض walabot

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

THRESHOLD = 1

# متغیر برای تغییر blynk

روشن = "[u'1 ']"

کلاس والابوت:

def _init _ (خود):

self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = False self.isTargets = نادرست

def blynkConfig (خود):

load_defaults = defaults.get_val () if str (load_defaults) == در: SERVO_MAX = ServoMax.get_val () SERVO_MAX = numberExtract (SERVO_MAX) چاپ ("Servo Max =" ، SERVO_MAX)

SERVO_MIN = ServoMin.get_val ()

SERVO_MIN = numberExtract (SERVO_MIN) چاپ ("Servo MIN ="، SERVO_MIN) R_MAX = Rmax.get_val () R_MAX = numberExtract (R_MAX) چاپ ("R max =" ، R_MAX)

R_MIN = Rmin.get_val ()

R_MIN = numberExtract (R_MIN) چاپ ("R Min =" ، R_MIN)

R_RES = Rres.get_val ()

R_RES = numberExtract (R_RES) چاپ ("R Res =" ، R_RES)

THETA_MAX = ThetaMax.get_val ()

THETA_MAX = numberExtract (THETA_MAX) چاپ ("Theta Max =" ، THETA_MAX) THETA_RES = ThetaRes.get_val () THETA_RES = numberExtract (THETA_RES) چاپ ("Theta Res =" ، THETA_RES)

PHI_MAX = PhiMax.get_val ()

PHI_MAX = numberExtract (PHI_MAX) چاپ ("Phi Max =" ، PHI_MAX) PHI_RES = PhiRes.get_val () PHI_RES = numberExtract (PHI_RES) چاپ ("Phi Res =" ، PHI_RES)

THRESHOLD = Threshold.get_val ()

THRESHOLD = numberExtract (THRESHOLD) چاپ ("Threshold =" ، THRESHOLD)

else: # اگر چیزی از برنامه blynk وجود نداشته باشد ، بارهای پیش فرض SERVO_MIN = 175 # طول پالس دقیقه از 4096 SERVO_MAX = 575 # حداکثر طول پالس از 4096

# مقادیر پیش فرض walabot

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

THRESHOLD = 1

def connect (خود): try: self.wlbt. ConnectAny () self.isConnected = True self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPI_IYEE) (self.wlbt. FILTER_TYPE_NONE) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_DERIVATIVE) self.wlbt. SetArenaTheta (-THETA_MAX، THETA_MX، PH، PH، PH، PH، PH، PH، PH، PH، PH، PH، PH، PH، PH. SetArenaR (R_MIN ، R_MAX ، R_RES) self.wlbt. SetThreshold (THRESHOLD) به جز self.wlbt. WalabotError as err: if err.code! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' err raise

شروع دف (خود):

self.wlbt. Start ()

def calibrate (خود):

self.wlbt. StartCalibration ()

def get_targets (خود):

self.wlbt. Trigger () return self.wlbt. GetSensorTargets ()

def stop (خود):

self.wlbt. Stop ()

def قطع ارتباط (خود):

self.wlbt. قطع ()

def main ():

flag = True check = "" LCDsetup () while flag: LCD1602.write (0، 0، 'Guitar') LCD1602.write (0، 1، 'Effect Control') time.sleep (2) LCD1602.write (0، 0 ، 'Start to') LCD1602 را بنویسید (0 ، 1 ، 'شروع') time.sleep (2) if (str (check) == on): flag = False else: check = start_button.get_val () # بررسی کنید که آیا دکمه شروع blynk را فشار دهید اگر (GPIO.input (18) == 0):

LCD1602.write (0، 0، "OK! Let's do it")

LCD1602.write (0، 1، "") wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () wlbt.isConnected: LCD1602.write (0، 0، "Not Connected") else: LCD1602.write (0، 0، 'Connected') time.sleep (2) wlbt.start () wlbt.calibrate () LCD1602.write (0، 0، 'Calibrating…..') time.sleep (3) LCD1602.write (0، 0، 'Starting Walabot')

appcheck = start_button.app_status () flag = درست # بازنشانی پرچم برای برنامه اصلی

while flag: # برای قرار دادن در حالت آماده به کار استفاده می شود (به طور موثر)

if (appcheck == True): if (str (check)! = on): if (GPIO.input (18)! = 0): #check footswitch flag = False else: check = start_button.get_val () #check for دکمه شروع را فشار دهید appcheck = start_button.app_status ()

دیگری:

if (GPIO.input (18)! = 0): #check footswitch flag = False

xval = 0

yval = 0 zval = 0 متوسط = 2 تاخیر زمان = 0

اهداف = wlbt.get_targets ()

اگر len (اهداف)> 0:

برای j در محدوده (متوسط):

اهداف = wlbt.get_targets ()

اگر len (اهداف)> 0: چاپ (len (اهداف)) اهداف = اهداف [0]

چاپ (str (targets.xPosCm))

xval += int (targets.xPosCm) yval += int (targets.yPosCm) zval += int (targets.zPosCm) time.sleep (delayTime) دیگر: چاپ ("بدون هدف") xval = xval/average

xval = numMap (xval ، -60 ، 60 ، SERVO_MIN ، SERVO_MAX)

xval = myRound (xval) if xval SERVO_MAX: xval = SERVO_MAX LCD1602.write (0، 0، 'x =' + str (xval) + ') pwm.set_pwm (0، 0، xval)

yval = yval/به طور متوسط

yval = numMap (yval ، -60 ، 60 ، SERVO_MIN ، SERVO_MAX)

yval = myRound (yval) if yval SERVO_MAX: yval = SERVO_MAX LCD1602.write (0، 1، 'y =' + str (yval)) pwm.set_pwm (1، 0، yval)

zval = zval/به طور متوسط

zval = numMap (zval ، R_MIN ، R_MAX ، SERVO_MIN ، SERVO_MAX)

zval = myRound (zval) if zval SERVO_MAX: zval = SERVO_MAX LCD1602.write (8، 1، 'z =' + str (zval)) pwm.set_pwm (2، 0، zval)

دیگری:

چاپ ("بدون هدف") LCD1602. نوشتن (0 ، 0 ، "خاموش شدن") LCD1602. نوشتن (0 ، 1 ، "The Walabot") time.sleep (3) wlbt.stop () wlbt.disconnect ()

اگر _name_ == '_main_':

در حالی که True: main ()

برای guitareffect.sh

#!/bin/sh

cd /home /pi

sudo python GuitarEffectCLI.py

یک کپی از فایل محلی RC برای مرجع

#!/bin/sh -e # # rc.local # # این اسکریپت در پایان هر سطح چند کاربره اجرا می شود. # اطمینان حاصل کنید که اسکریپت در صورت موفقیت یا هر # مقدار دیگر در خطا "0" خارج می شود. # # برای فعال یا غیرفعال کردن این اسکریپت ، فقط # بیت اجرا را تغییر دهید. # # به طور پیش فرض این اسکریپت هیچ کاری انجام نمی دهد.

# نشانی IP را چاپ کنید

_IP = $ (نام میزبان -I) || true اگر ["$ _IP"] ؛ سپس printf "آدرس IP من٪ s / n" "$ _IP" fi است

./blynk-library/linux/blynk --token = "توکن شما به اینجا می رود" &

خواب 10 sudo /home/pi/guitareffect.sh و خروج 0

مرحله 27: مخازن Github برای استفاده

از این دستگاه برای LCD Sunfounder استفاده کنید

github.com/daveyclk/SunFounder_SensorKit_f…

از این برای درایور سرو استفاده کنید

github.com/daveyclk/Adafruit_Python_PCA968…

از این برای Blynk Python HTTPS Wrapper استفاده کنید

github.com/daveyclk/blynkapi

مرحله 28: نتیجه گیری

Image
Image
Walabot FX- Guitar Effect Control. Full Demo
Walabot FX- Guitar Effect Control. Full Demo
نتیجه
نتیجه
نتیجه
نتیجه

خوب ، این یک منحنی یادگیری شدید بود ، اما بسیار ارزشمند بود.

راه های دور رفتن من هستند

  • من مجبور شدم پایتون یاد بگیرم.. معلوم می شود که آس است
  • رابط پایتون را در Raspberry Pi با سرویس اینترنت اشیا Blynk برقرار کرد. این به طور رسمی پشتیبانی نمی شود ، بنابراین محدودیت هایی در عملکردهای آن وجود دارد. هرچند هنوز هم عالی کار می کند!
  • به نظر می رسد Walabot برای بیان موسیقی عالی است. من آن را در Korg SDD3000 استفاده کردم ، اما شما می توانید از هر جلوه ای که دوست دارید استفاده کنید

خودت برو این فقط به جلوه های گیتار محدود نمی شود ، من می توانم با هر ساز با هر جلوه ای از آن استفاده کنم.

مسابقه تمشک پای 2017
مسابقه تمشک پای 2017
مسابقه تمشک پای 2017
مسابقه تمشک پای 2017

نفر دوم مسابقه رزبری پای 2017

توصیه شده: