Բովանդակություն:
- Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի:
- Քայլ 2: Վերացական
- Քայլ 3: Հիմնական գաղափարը
- Քայլ 4: Walabot
- Քայլ 5: Սկսելու համար
- Քայլ 6: Ազնվամորու Pi- ի կարգավորում - 1
- Քայլ 7: Ազնվամորու Pi - 2 կարգաբերում
- Քայլ 8: Ազնվամորու Pi- ի կարգավորում - 3
- Քայլ 9. Ազնվամորու Pi- ի կարգավորում - 4
- Քայլ 10: Python
- Քայլ 11: Walabot- ի համար
- Քայլ 12: Servo ինտերֆեյսի համար
- Քայլ 13: LCD- ի համար
- Քայլ 14: Բլինք
- Քայլ 15. Կարգավորեք Blynk հավելվածը
- Քայլ 16. Կարող եք օգտագործել այս QR ծածկագիրը Blynk հավելվածի միջոցով ՝ իմ նախագիծը կլոնավորելու համար ՝ ձեր ժամանակը խնայելու համար
- Քայլ 17. Blynk- ի գործարկումը Raspberry Pi- ի հետ և Blynk HTTPS- ի օգտագործումը Python- ի համար
- Քայլ 18: Սցենարի ինքնագործողարկում
- Քայլ 19: Սարքավորումը
- Քայլ 20. Պատյանների ձևավորում
- Քայլ 21. Աղիքային կրակոցներ
- Քայլ 22. Վերջնական հավաքի կրակոցներ
- Քայլ 23. Walabot- ը ամրացնել կանգառին
- Քայլ 24. Ապարատային STL ֆայլեր 3D տպագրության համար
- Քայլ 25. Բանը միացնելու սխեմաներ
- Քայլ 26: Կոդ
- Քայլ 27. Օգտագործման Github պահեստարաններ
- Քայլ 28. Եզրակացություն
Video: Walabot FX - Կիթառի էֆեկտի կառավարում. 28 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:53
Վերահսկեք ձեր սիրած կիթառի էֆեկտը ՝ օգտագործելով ոչ այլ ինչ, քան կիթառի հիանալի պոզեր:
Քայլ 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 թ
Խորհուրդ ենք տալիս:
Լույսերի կառավարում ձեր աչքերով. 9 քայլ (նկարներով)
Ձեր աչքերով լույսերի կառավարում. Քոլեջում այս կիսամյակում ես մասնակցեցի «Կենսաբժշկության գործիքներ» կոչվող դասին, որտեղ սովորեցի բժշկական ծրագրերի համար ազդանշանների մշակման հիմունքները: Դասարանի վերջին նախագծի համար իմ թիմը աշխատել է EOG (էլեկտրոկուլոգրաֆիա) տեխնոլոգիայի վրա: Էսենցի
ESP8266 RGB LED STRIP WIFI Կառավարում - NODEMCU Որպես IR հեռակառավարիչ ՝ առաջնորդվող ժապավենի համար, որը վերահսկվում է WiFi- ով - RGB LED STRIP սմարթֆոնի կառավարում ՝ 4 քայլ
ESP8266 RGB LED STRIP WIFI Կառավարում | NODEMCU Որպես IR հեռակառավարիչ ՝ առաջնորդվող ժապավենի համար, որը վերահսկվում է WiFi- ով | RGB LED STRIP սմարթֆոնի վերահսկում. Բարև տղերք, այս ձեռնարկում մենք կսովորենք, թե ինչպես օգտագործել nodemcu կամ esp8266 որպես IR հեռակառավարիչ ՝ RGB LED ժապավենը կառավարելու համար, և Nodemcu- ն սմարթֆոնի միջոցով կառավարվելու է wifi- ով: Այսպիսով, հիմնականում դուք կարող եք վերահսկել RGB LED STRIP- ը ձեր սմարթֆոնի միջոցով
Նվազագույն Arduino ձայնային էֆեկտի տուփ ՝ 5 քայլ
Minimal Arduino Sound Effect Box. Սա ձայնային էֆեկտի տուփի արագ նախագիծ է: Սարքը կարդում է նախապես գրանցված wav ֆայլը microSD- ից, որը տրված է հատուկ կոճակին և նվագում է այն սեղմելիս:
Ռեզոնանսային կառուցվածքի էֆեկտի հետաքննություն թղթե մեղրով `6 քայլ
Ռեզոնանսային կառուցվածքի էֆեկտի հետաքննություն թղթե մեղրախողովակով. Կարծում էի, որ նրանք, ովքեր սիրում են զբաղվել այլընտրանքային էներգիայի թեմաներով, կարող են փորձել դա: Այն հիմնված է Վիկտոր Գրեբենկովի հայտնագործության վրա: Պատմությունը կարելի է գտնել շատ վայրերում, բայց այս մեկը keelynet- ում այն էր, ինչ ես գտա http://www.keelynet.com/gr
ԿԱՌԱՎԱՐԵԼ Վերահսկիչ Տեսողության էֆեկտի համառություն LED- ների միջոցով. 4 քայլ
ԱՌԱՆՈՐԴԵԼ Վերահսկիչ ՝ տեսողության էֆեկտի հետևողականություն LED- ների միջոցով. Դա պարզ նախագիծ է ՝ օգտագործելով MAKE Controller (www.makezine.com կայքից շատ օգտակար վերահսկիչ), որն ապահովում է տեսողության համառություն ՝ օգտագործելով LED- ները: Երբ տախտակը արագ եք տեղափոխում, կարող եք