Walabot FX - Կիթառի էֆեկտի կառավարում. 28 քայլ (նկարներով)
Walabot FX - Կիթառի էֆեկտի կառավարում. 28 քայլ (նկարներով)

Բովանդակություն:

Anonim

Վերահսկեք ձեր սիրած կիթառի էֆեկտը ՝ օգտագործելով ոչ այլ ինչ, քան կիթառի հիանալի պոզեր:

Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի:

Սարքավորման բաղադրիչներ

Walabot - Walabot

Ազնվամորի Pi - Ազնվամորի Pi 3 մոդել B

Sunfounder LCD1602

SunFounder PCA9685 16 Channel 12 Bit PWM Servo Driver Arduino- ի և Raspberry Pi- ի համար

Servo (ընդհանուր) Հղում չկա

9V մարտկոցի սեղմիչ

4xAA մարտկոցի կրիչ

AA մարտկոցներ

Թռիչքային լարեր (ընդհանուր)

DPDT Latching Action Foot Switch

Korg SDD3000-PDL

Softwareրագրային ապահովման համակարգեր, ծրագրեր և առցանց ծառայություններ

Autodesk Fusion360 -

Բլինք -

Գործիքներ և այլն

3D տպիչ

Sոդման երկաթ

Քայլ 2: Վերացական

Ինչպիսի՞ն կլիներ երաժշտական արտահայտչությունը վերահսկելը ՝ օգտագործելով ոչ այլ ինչ, քան կիթառի դիրքը 3D տարածքում: Դե, եկեք ինչ -որ բան նախատիպ պատրաստենք և պարզենք:

Քայլ 3: Հիմնական գաղափարը

Ես ուզում էի, որ կարողանամ իրական ժամանակում վերահսկել 3 էֆեկտի պարամետրը, ուզում էի դա անել ՝ օգտագործելով կիթառիս դիրքավորման եղանակը: Այսպիսով, մի բան պարզ էր, որ ինձ պետք էին մի քանի բան:

  • Սենսոր, որն ունակ է տեսնել 3D տարածք
  • Սերվոս ՝ պտուտակները պտտելու համար
  • LCD էկրան
  • I2C Servo վարորդ
  • Ազնվամորի Պի
  • Python սովորելու համար

Քայլ 4: Walabot

Wantանկանում եք տեսնել պատերի միջով: 3D տարածության մեջ զգացող օբյեկտներ: Enseգո՞ւմ եք, եթե շնչում եք սենյակից այն կողմ: Դե, հաջողակ եք:

Walabot- ը բոլորովին նոր միջոց է ցածր էներգիայի ռադարների միջոցով ձեր շուրջը գտնվող տարածքը զգալու համար:

Սա պետք է լիներ այս նախագծի բանալին, ես կկարողանայի վերցնել 3D տարածության օբյեկտների քարտեզային (X-Y-Z) կոդինատները և դրանք տեղակայել սերվոյի դիրքերի վրա ՝ փոխելով կիթառի էֆեկտի հնչողությունը իրական ժամանակում ՝ առանց ոտնակին դիպչելու:

Հաղթել:

Walabot- ի մասին լրացուցիչ տեղեկություններ կարող եք գտնել այստեղ

Քայլ 5: Սկսելու համար

Առաջին հերթին, Walabot- ը վարելու համար ձեզ հարկավոր կլինի համակարգիչ, այս նախագծի համար ես օգտագործում եմ Raspberry Pi 3 (այստեղ նշվում է RPi- ում) ներկառուցված WiFi- ի և ընդհանուր լրացուցիչ օմֆի պատճառով:

Ես գնել եմ 16 ԳԲ SD քարտ NOOBS- ով նախապես տեղադրված ՝ ամեն ինչ գեղեցիկ և պարզ պահելու համար և նախընտրեցի տեղադրել Raspian- ը որպես իմ ընտրած Linux OS:

(եթե Ձեզ անծանոթ է, թե ինչպես տեղադրել Raspian- ը, խնդրում ենք մի փոքր ժամանակ տրամադրեք ՝ մի փոքր կարդալու համար)

Լավ, երբ Raspian- ը գործարկվի ձեր RPi- ով, կան մի քանի կազմաձևման քայլեր, որոնք պետք է պատրաստվեն մեր նախագծին պատրաստ լինելու համար

Քայլ 6: Ազնվամորու Pi- ի կարգավորում - 1

Նախ համոզվեք, որ աշխատում եք Kernel- ի վերջին տարբերակի վրա և ստուգեք թարմացումները `բացելով հրամանի պատյան և մուտքագրելով

sudo apt-get թարմացում

sudo apt-get dist-upgrade

(sudo- ն ավելացվում է ՝ ապահովելու համար, որ դուք ունեք վարչական իրավունքներ, օրինակ ՝ իրերը կաշխատեն)

Սա կարող է որոշ ժամանակ տևել, ուստի գնացեք և մի լավ թեյ խմեք:

Քայլ 7: Ազնվամորու Pi - 2 կարգաբերում

Դուք պետք է տեղադրեք Walabot SDK- ն RPi- ի համար: Ձեր RPi վեբ դիտարկիչից գնացեք https://www.walabot.com/gettingstarted և ներբեռնեք Raspberry Pi Installer փաթեթը:

Հրամանի պատուհանից.

cd ներլցումներ

sudo dpkg -I walabotSDK_RasbPi.deb

Քայլ 8: Ազնվամորու Pi- ի կարգավորում - 3

Մենք պետք է սկսենք կարգավորել RPi- ն i2c ավտոբուսից օգտվելու համար: Հրամանի պատուհանից.

sudo apt-get տեղադրել python-smbus

sudo apt-get տեղադրել i2c- գործիքներ

Երբ դա արվի, դուք պետք է մոդուլների ֆայլին ավելացնեք հետևյալը

Հրամանի պատուհանից.

sudo nano /etc /մոդուլներ

ավելացնել այս 2 տողը առանձին տողերի վրա.

i2c-dev

i2c-bcm2708

Քայլ 9. Ազնվամորու Pi- ի կարգավորում - 4

Walabot- ը բավականին քիչ ընթացք է տալիս, և մենք նաև GPIO- ները կօգտագործենք իրերը վերահսկելու համար, այնպես որ մենք պետք է դրանք կարգավորենք

Հրամանի պատուհանից.

sudo nano /boot/config.txt

ֆայլի վերջում ավելացրեք հետևյալ տողերը.

safe_mode_gpio = 4

max_usb_current = 1

RPi- ն հիանալի գործիք է ստեղծողների համար, սակայն այն սահմանափակ է ընթացիկում, որը կարող է ուղարկել Walabot: Ուստի մենք ավելացնում ենք 1Amp առավելագույն հոսանք, քան ավելի ստանդարտ 500mA

Քայլ 10: Python

Ինչու՞ Python- ը: լավ, քանի որ դա շատ հեշտ է կոդավորել, արագ աշխատել և կան բազմաթիվ լավ պիթոնների օրինակներ: ես երբեք չէի օգտագործել այն նախկինում և շուտով գործի դրվեց: Այժմ RPi- ն կազմաձևված է մեր ուզածի համար, հաջորդ քայլը Python- ի կազմաձևումն է ՝ Walabot API, LCD Servo ինտերֆեյսերին հասանելիություն ունենալու համար:

Քայլ 11: Walabot- ի համար

Հրամանի պատյանից

Sudo pip տեղադրեք «/usr/share/walabot/python/WalabotAPI-1.0.21.zip»

Քայլ 12: Servo ինտերֆեյսի համար

Հրամանի պատյանից

sudo apt-get տեղադրել git build- հիմնական python-dev

cd

git կլոն

cd Adafruit_Python_PCA9685

sudo python setup.py տեղադրել

Ինչու՞ պետք է օգտագործենք servo վարորդ: Դե, RPi- ի համար մի քանի պատճառ:

1. Սերվոյի քաշած հոսանքը կարող է շատ բարձր լինել, և այդ թիվը մեծանում է այնքան, որքան ավելի շատ սերվոներ ունեք (իհարկե): Եթե դուք servo directky- ն քշում եք RPi- ից, դուք ռիսկի եք դիմում փչել նրա սնուցման աղբյուրը

2. PWM- ի (Pulse Width Modulation) ժամանակը, որը վերահսկում է servos- ի դիրքերը, շատ կարևոր են: Քանի որ RPi- ն չի օգտագործում իրական ժամանակի ՕՀ (կարող են լինել ընդհատումներ և նման) ժամկետները ոչ ճշգրիտ են և կարող են սպասարկողներին նյարդայնանալ: Նվիրված վարորդը թույլ է տալիս ճշգրիտ կառավարում, բայց նաև թույլ է տալիս ավելացնել մինչև 16 սերվեր, այնպես որ սա հիանալի է ընդլայնման համար:

Քայլ 13: LCD- ի համար

բացեք ձեր RPi վեբ դիտարկիչը

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

բեռնել

github.com/daveyclk/SunFounder_SensorKit_…

Հրամանի պատուհանից.

sudo mkdir/usr/share/sunfounder

Օգտագործելով գրաֆիկական հետազոտողը, պատճենեք python թղթապանակը zip ֆայլից ձեր նոր sunfounder պանակում

LCD- ն օգտագործվում է օգտագործողին հուշելու, թե կոնկրետ ինչ է կատարվում: Showingույց տալ կազմաձևման գործընթացը մինչև x, y և z արժեքները, որոնք քարտեզագրվում են յուրաքանչյուր servo- ում

Քայլ 14: Բլինք

Blynk- ը փայլուն IoT ծառայություն է, որը թույլ է տալիս ստեղծել հատուկ ծրագիր ՝ ձեր իրերը վերահսկելու համար: Թվում էր, թե իդեալական լուծում է ինձ տալ walabot- ի հեռակառավարման վահանակը, որն իսկապես պարամետրերում հավաքում է…

Մեկ խնդիր. Blynk- ը ներկայումս չի աջակցվում Python հարթակում, bugger: Բայց մի՛ վախեցեք: Ես կարողացա գտնել մի գեղեցիկ փոքրիկ աշխատանք, որը թույլ է տալիս հեռակառավարման և հեռավոր պարամետրերի մուտքագրում: դա մի փոքր չարաճճի է

առաջին քայլը `ներբեռնել Blynk ծրագիրը ձեր նախընտրած հավելվածների խանութից

Երկրորդ, գրանցվեք հաշվի համար

Երբ դա արվի, բացեք ծրագիրը և սկսեք նոր նախագիծ ՝ ընտրելով Raspberry Pi 3 -ը որպես սարքավորում:

Հավելվածը ձեզ կտրամադրի մուտքի նշան (դա ձեզ հարկավոր կլինի ձեր կոդը տեղադրելու համար)

Երբ դա արեցիր: դուք պետք է կարգավորեք ծրագիրը, ինչպես ցույց է տրված նկարներում: Ահա թե ինչպես է այն կապվելու walabot- ի հետ:

Քայլ 15. Կարգավորեք Blynk հավելվածը

Քայլ 16. Կարող եք օգտագործել այս QR ծածկագիրը Blynk հավելվածի միջոցով ՝ իմ նախագիծը կլոնավորելու համար ՝ ձեր ժամանակը խնայելու համար

OK Այժմ, երբ ծրագիրը պատրաստ է, մենք կարող ենք կարգավորել Python- ը և RPi- ն ՝ ինտերնետի միջոցով դրա հետ խոսելու համար: Կախարդական

Քայլ 17. Blynk- ի գործարկումը Raspberry Pi- ի հետ և Blynk HTTPS- ի օգտագործումը Python- ի համար

Նախ, դուք պետք է տեղադրեք Blynk HTTPS փաթաթանը Python- ի համար

Հրամանի պատուհանից.

sudo git կլոն

sudo pip տեղադրել blynkapi

Երկրորդ, դուք պետք է տեղադրեք Blynk ծառայությունը RPi- ի վրա

Հրամանի պատուհանից.

git կլոն

cd 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.local start

Այժմ Blynk ծառայությունը պետք է գործի

Քայլ 18: Սցենարի ինքնագործողարկում

Այժմ, երբ այս ամենը կարգավորված և կազմաձևված է, և մենք պատրաստ ենք պիթոնի ծածկագիրը: մենք կարող ենք ինքնաբերաբար գործարկել իրերը, որպեսզի կարողանանք հեռացնել ստեղնաշարը և մոնիտորները

Մի քանի բան կա անելու

Ստեղծեք նոր սցենարային ֆայլ ՝ Python ծրագիրը սպառելու համար

sudo nano guitareffect.sh

ավելացնել այս տողերը

#!/bin/sh

python /home/pi/GuitarEffectCLI.py

համոզվեք, որ այն պահեք

Հաջորդը մենք պետք է սցենարին տանք մուտքագրման թույլտվություն

Sudo chmod +x /home/pi/guitareffect.sh

Եվ վերջապես, մենք պետք է այս սցենարը ավելացնենք /etc/rc.local ֆայլում, որով ավելի վաղ շփվել էինք:

Սուդո նանո /այլն /rc.local

Ավելացնել

/home/pi/guitareffect.sh &

անպայման ներառեք «&» - ն, ինչը թույլ է տալիս Python Script- ը գործարկել հետին պլանում

Ճիշտ! Ահա բոլոր կոնֆիգուրացիան և ծրագրակազմը դասավորված են, հաջորդը ժամանակն է միացնել սարքավորումները

Քայլ 19: Սարքավորումը

Առաջին Breadboard- ի նախատիպը

Քայլ 20. Պատյանների ձևավորում

Պարիսպը նախագծված և պատրաստված է հիանալի Fusion360- ում

Քայլ 21. Աղիքային կրակոցներ

Քայլ 22. Վերջնական հավաքի կրակոցներ

Քայլ 23. Walabot- ը ամրացնել կանգառին

Օգտագործեք ինքնասոսնձվող մետաղական սկավառակը, որն ուղեկցվում է walabot- ով, այն ամրացնելու համար տեղում

Քայլ 24. Ապարատային STL ֆայլեր 3D տպագրության համար

Քայլ 25. Բանը միացնելու սխեմաներ

Քայլ 26: Կոդ

Օգտագործեք կցված Python սցենարը ձեր նախագծի համար

_future_ import print_function sys ներմուծման հարթակից os ներմուծման համակարգից blynkapi import Blynk import WalabotAPI ներմուծման ժամանակի ներմուծում RPi. GPIO որպես GPIO

#կարգավորեք GPIO- ն ՝ օգտագործելով տախտակի համարակալումը

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

#blynk auth նշան

auth_token = "քո_օ_խոսված_այստեղ"

# Սերվոյի կառավարման համար ներմուծեք 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). դուրս_մին)

# օգտագործեք սա ՝ հումքի տվյալները նշանակված արժեքին կլորացնելու համար

def myRound (x, բազա = 2). վերադարձ int (հիմք * կլոր (float (x)/base))

#քաղում է համարը վերադարձված blynk տողից

def numberExtract (val). val = str (val) վերադարձ int (զտիչ (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 ']"

դաս Walabot:

def _init _ (self):

self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = Կեղծ self.isTargets = Կեղծ

def blynkConfig (ինքն):

load_defaults = defaults.get_val () if str (load_defaults) == on: SERVO_MAX = ServoMax.get_val () SERVO_MAX = numberExtract (SERVO_MAX) print ("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 -ից 40 րոպե զարկերակի նվազագույն երկարություն 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 (self): try: self.wlbt. ConnectAny () self.isConnected = selfշմարիտ 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_MAX, THETA_RES) self.wlbt. SetArenaPhi (-PHI_MAX, PHI_MAX, PHI_RES) self.wlbt: SetArenaR (R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold (THRESHOLD) բացառությամբ self.wlbt. WalabotError as err: if err.code! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' բարձրացնել սխալ

def սկսել (ինք):

self.wlbt. Start ()

def calibrate (self):

self.wlbt. StartCalibration ()

def get_targets (self):

self.wlbt. Trigger () վերադարձել self.wlbt. GetSensorTargets ()

def stop (self):

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, «Սեղմիր Սկիզբ») LCD1602. գրել (0, 1, «սկսել») time.sleep (2) if (str (check) == on): flag = False else: check = start_button.get_val () # ստուգեք blynk մեկնարկի կոճակի համար սեղմեք if (GPIO.input (18) == 0): #ստուգեք footswitch դրոշը = Կեղծ

LCD1602.գրեք (0, 0, «Լավ, եկեք դա անենք»)

LCD1602. գրել (0, 1, '') wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () եթե ոչ wlbt.isConnected: LCD1602.write (0, 0, 'Not Connected') այլ: LCD1602. գրել (0, 0, «Միացված») անգամ. քուն (2) wlbt.start () wlbt.calibrate () LCD1602. գրել (0, 0, «Կալիբրացում…..») ժամանակ: քուն (3) LCD1602.գրեք (0, 0, «Սկսած Walabot»)

appcheck = start_button.app_status () flag = #շմարիտ # վերակայման դրոշ հիմնական ծրագրերի համար

մինչդեռ դրոշը ՝ # օգտագործվում էր սպասման մեջ ազդեցություն գործադրելու համար (արդյունավետ)

if (appcheck == True): if (str (check)! = on): if (GPIO. մուտքագրում (18)! = 0): մեկնարկի կոճակը սեղմել appcheck = start_button.app_status ()

այլ:

եթե (GPIO.input (18)! = 0): #ստուգեք footswitch դրոշը = Կեղծ է

xval = 0

yval = 0 zval = 0 միջին = 2 ուշացում imeամանակ = 0

թիրախներ = wlbt.get_targets ()

եթե len (թիրախներ)> 0:

j- ի միջակայքում (միջին):

թիրախներ = wlbt.get_targets ()

եթե լեն (թիրախներ)> 0: տպել (լեն (թիրախներ)) թիրախներ = թիրախներ [0]

տպել (փող (targets.xPosCm))

xval += int (targets.xPosCm) yval += int (targets.yPosCm) zval += int (targets.zPosCm) time.sleep (delayTime) այլ. տպել («առանց նպատակների») xval = xval/միջին

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

xval = myRound (xval) եթե xval SERVO_MAX: xval = SERVO_MAX LCD 1602. գրել (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) եթե yval SERVO_MAX: yval = SERVO_MAX LCD 1602. գրել (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) եթե zval SERVO_MAX: zval = SERVO_MAX LCD 1602. գրել (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_ == '_ հիմնական_':

իսկ ճշմարիտ: հիմնական ()

guitareffect.sh- ի համար

#!/bin/sh

cd /home /pi

sudo python GuitarEffectCLI.py

Տեղեկատվության համար RC տեղական ֆայլի պատճենը

#!/bin/sh -e # # rc.local # # Այս սցենարը կատարվում է յուրաքանչյուր բազմակի օգտագործման մակարդակի վերջում: # Համոզվեք, որ հաջողության դեպքում սցենարը «դուրս կգա 0» -ից կամ սխալի դեպքում ցանկացած այլ # արժեքից: # # Այս սցենարը միացնելու կամ անջատելու համար պարզապես փոխեք կատարման # բիթերը: # # Լռելյայն այս սցենարը ոչինչ չի անում:

# Տպեք IP հասցեն

_IP = $ (հյուրընկալողի անունը -I) || ճիշտ է, եթե ["$ _IP"]; ապա printf "Իմ IP հասցեն է %s / n" "$ _IP" fi

./blynk-library/linux/blynk --token = "նշանը գնում է այստեղ" &

քնել 10 sudo /home/pi/guitareffect.sh և ելք 0

Քայլ 27. Օգտագործման Github պահեստարաններ

Օգտագործեք սա Sunfounder LCD- ի համար

github.com/daveyclk/SunFounder_SensorKit_f…

Օգտագործեք սա servo վարորդի համար

github.com/daveyclk/Adafruit_Python_PCA968…

Օգտագործեք սա Blynk Python HTTPS Wrapper- ի համար

github.com/daveyclk/blynkapi

Քայլ 28. Եզրակացություն

Դե, սա ուսման կտրուկ կոր էր, բայց այնքան արժեր:

Իմ վերաբերմունքն են

  • Ես ստիպված էի սովորել Python- ը: պարզվում է, որ դա տուզ է
  • Միաձուլեք Python- ը Raspberry Pi- ով Blynk IoT ծառայության հետ: Սա պաշտոնապես չի աջակցվում, ուստի դրա գործառույթների համար կան որոշակի սահմանափակումներ: Չնայած դեռ հիանալի է աշխատում:
  • Պարզվում է, որ Walabot- ը հիանալի է երաժշտական արտահայտվելու համար: Ես այն օգտագործել եմ Korg SDD3000- ում, բայց դուք կարող եք օգտագործել ցանկացած էֆեկտ, որը Ձեզ դուր է գալիս

Ինքներդ գնացեք: Սա չի սահմանափակվում կիթառի էֆեկտներով, կարող եմ օգտագործվել ցանկացած ազդեցության ցանկացած գործիքի հետ:

Մրցանակակիր Raspberry Pi մրցույթում 2017 թ

Խորհուրդ ենք տալիս: