جدول المحتويات:
- الخطوة 1: الأشياء التي سوف تحتاجها
- الخطوة 2: الملخص
- الخطوة 3: الفكرة الأساسية
- الخطوة 4: Walabot
- الخطوة الخامسة: البدء
- الخطوة 6: إعداد Raspberry Pi - 1
- الخطوة 7: إعداد Raspberry Pi - 2
- الخطوة 8: إعداد Raspberry Pi - 3
- الخطوة 9: إعداد Raspberry Pi - 4
- الخطوة 10: بايثون
- الخطوة 11: بالنسبة إلى Walabot
- الخطوة 12: بالنسبة لواجهة المؤازرة
- الخطوة 13: لشاشات الكريستال السائل
- الخطوة 14: بلينك
- الخطوة 15: تكوين تطبيق Blynk
- الخطوة 16: يمكنك استخدام رمز الاستجابة السريعة هذا مع تطبيق Blynk لاستنساخ مشروعي لتوفير الوقت
- الخطوة 17: تشغيل Blynk باستخدام Raspberry Pi واستخدام Blynk HTTPS لـ Python
- الخطوة 18: التشغيل التلقائي للبرنامج النصي
- الخطوة 19: الأجهزة
- الخطوة 20: تصميم الضميمة
- الخطوة 21: اللقطات الشجاعة
- الخطوة 22: لقطات التجميع النهائية
- الخطوة 23: لإصلاح Walabot على الحامل
- الخطوة 24: ملفات STL للأجهزة للطباعة ثلاثية الأبعاد
- الخطوة 25: مخططات توصيل الأسلاك
- الخطوة 26: الكود
- الخطوة 27: استخدام مستودعات جيثب
- الخطوة 28: الخاتمة
فيديو: Walabot FX - التحكم في تأثير الجيتار: 28 خطوة (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:42
تحكم في تأثير الجيتار المفضل لديك باستخدام لا شيء سوى وضعيات الغيتار الرائعة!
الخطوة 1: الأشياء التي سوف تحتاجها
مكونات الأجهزة
والابوت - ولابوت
Raspberry Pi - Raspberry Pi 3 موديل B
Sunfounder LCD1602
SunFounder PCA9685 16 Channel 12 Bit PWM Servo Driver لـ Arduino و Raspberry Pi https://www.amazon.co.uk/d/5ia/SunFounder-PCA9685 …
مؤازرة (عامة) لا يوجد ارتباط
مشبك بطارية 9 فولت
حامل بطارية 4xAA
بطاريات AA
أسلاك توصيل (عامة)
DPDT Latching Action Foot Switch
كورج SDD3000-PDL
أنظمة تشغيل البرامج والتطبيقات والخدمات عبر الإنترنت
Autodesk Fusion360 -
بلينك -
أدوات إلخ
طابعة 3D
لحام حديد
الخطوة 2: الملخص
كيف سيكون شكل التحكم في التعبير الموسيقي باستخدام أي شيء سوى موضع جيتارك في مساحة ثلاثية الأبعاد؟ حسنًا ، دعنا نطرح شيئًا ونكتشف ذلك!
الخطوة 3: الفكرة الأساسية
أردت أن أكون قادرًا على التحكم في معلمة التأثير 3 في الوقت الفعلي ، وأردت أن أفعل ذلك باستخدام كيفية وضع جيتاري. لذلك كان هناك شيء واحد واضح ، كنت سأحتاج إلى بعض الأشياء.
- جهاز استشعار قادر على رؤية الفضاء ثلاثي الأبعاد
- الماكينات لتحويل المقابض
- شاشة LCD
- سائق I2C Servo
- توت العليق باي
- لتعلم بايثون
الخطوة 4: Walabot
تريد أن ترى من خلال الجدران؟ هل تحسس الأشياء في الفضاء ثلاثي الأبعاد؟ هل تشعر إذا كنت تتنفس من جميع أنحاء الغرفة؟ حسنًا ، أنت محظوظ!
يعد Walabot طريقة جديدة تمامًا لاستشعار المساحة من حولك باستخدام رادار منخفض الطاقة.
كان هذا سيكون مفتاحًا لهذا المشروع ، وسأكون قادرًا على أخذ إحداثيات كارتيسان (X-Y-Z) للكائنات في مساحة ثلاثية الأبعاد ، وتعيينها لمواضع مؤازرة لتغيير كيف يبدو تأثير الجيتار ، في الوقت الفعلي ، دون لمس الدواسة.
يفوز.
يمكن العثور على مزيد من المعلومات حول Walabot هنا
الخطوة الخامسة: البدء
أول الأشياء أولاً ، ستحتاج إلى جهاز كمبيوتر لقيادة Walabot ، بالنسبة لهذا المشروع ، فأنا أستخدم Raspberry Pi 3 (المشار إليه هنا في RPi) بسبب شبكة WiFi المدمجة والجاذبية الإضافية العامة
اشتريت بطاقة SD بسعة 16 جيجا بايت مع NOOBS مثبت مسبقًا للحفاظ على الأشياء لطيفة وبسيطة ، واخترت تثبيت Raspian باعتباره نظام التشغيل Linux الذي اخترته
(إذا لم تكن معتادًا على كيفية تثبيت Raspian ، فيرجى قضاء بعض الوقت لقراءة القليل من هذا)
حسنًا ، بمجرد تشغيل Raspian على RPi الخاص بك ، هناك بعض خطوات التكوين التي يجب اتخاذها لتجهيز الأشياء لمشروعنا
الخطوة 6: إعداد Raspberry Pi - 1
تأكد أولاً من أنك تقوم بتشغيل أحدث إصدار من Kernel وتحقق من وجود تحديثات عن طريق فتح أمر shell والكتابة
sudo apt-get update
sudo apt-get dist-Upgrade
(تمت إضافة sudo لضمان حصولك على امتيازات إدارية ، على سبيل المثال. ستعمل الأشياء)
قد يستغرق هذا بعض الوقت حتى يكتمل ، لذا اذهب وتناول كوبًا من الشاي.
الخطوة 7: إعداد Raspberry Pi - 2
تحتاج إلى تثبيت Walabot SDK لـ RPi. من متصفح الويب RPi ، انتقل إلى https://www.walabot.com/gettingstarted وقم بتنزيل حزمة Raspberry Pi Installer Package.
من قذيفة الأمر:
تنزيلات الأقراص المضغوطة
sudo dpkg -I walabotSDK_RasbPi.deb
الخطوة 8: إعداد Raspberry Pi - 3
نحتاج إلى البدء في تكوين RPi لاستخدام ناقل i2c ، من قذيفة الأوامر:
sudo apt-get install python-smbus
sudo apt-get install i2c-tools
بمجرد الانتهاء من ذلك ، يجب عليك إضافة ما يلي إلى ملف الوحدات النمطية
من قذيفة الأمر:
sudo نانو / الخ / وحدات
أضف هاتين السلسلتين على أسطر منفصلة:
i2c- ديف
i2c-bcm2708
الخطوة 9: إعداد Raspberry Pi - 4
يرسم Walabot قدرًا معقولاً من التيار ، وسنستخدم أيضًا GPIO للتحكم في الأشياء ، لذلك نحتاج إلى إعدادها
من قذيفة الأمر:
sudo نانو / boot/config.txt
أضف الأسطر التالية في نهاية الملف:
safe_mode_gpio = 4
max_usb_current = 1
تعد RPi أداة ممتازة للصانعين ، ولكنها محدودة في التيار الذي يمكن إرسالها إلى Walabot. ولهذا السبب نضيف تيارًا بحد أقصى 1 أمبير بدلاً من 500 مللي أمبير القياسية
الخطوة 10: بايثون
لماذا بايثون؟ حسنًا ، نظرًا لأنه من السهل جدًا كتابة الكود وسريع التشغيل وهناك الكثير من أمثلة الثعبان الجيدة المتاحة! لم أستخدمه من قبل وسرعان ما تم تشغيله في لمح البصر. الآن تم تكوين RPi لما نريد ، والخطوة التالية هي تكوين Python للوصول إلى واجهات Walabot API و LCD Servo
الخطوة 11: بالنسبة إلى Walabot
من قذيفة القيادة
تثبيت Sudo Pip "/usr/share/walabot/python/WalabotAPI-1.0.21.zip"
الخطوة 12: بالنسبة لواجهة المؤازرة
من قذيفة القيادة
sudo apt-get install git build-basic python-dev
مؤتمر نزع السلاح ~
استنساخ بوابة
قرص مضغوط Adafruit_Python_PCA9685
sudo python setup.py install
لماذا نحتاج إلى استخدام سائق مؤازر؟ حسنًا ، ل RPi عدة أسباب.
1. يمكن أن يكون التيار المرسوم بواسطة المؤازرة مرتفعًا جدًا ، ويزداد هذا الرقم كلما زاد عدد الماكينات لديك (بالطبع). إذا كنت تقود المؤازرة مباشرة من RPi ، فإنك تخاطر بنفخ مصدر الطاقة الخاص به
2. تعد توقيتات PWM (تعديل عرض النبض) التي تتحكم في موضع الماكينات مهمة جدًا. نظرًا لأن RPi لا يستخدم نظام تشغيل في الوقت الفعلي (قد تكون هناك مقاطعات وما إلى ذلك) ، فإن التوقيتات غير دقيقة ويمكن أن تجعل الماكينات تنفجر بعصبية. يسمح برنامج التشغيل المخصص بالتحكم الدقيق ، ولكنه يسمح أيضًا بإضافة ما يصل إلى 16 خدمة ، لذلك يعد هذا أمرًا رائعًا للتوسع.
الخطوة 13: لشاشات الكريستال السائل
افتح متصفح الويب RPi
www.sunfounder.com/learn/category/sensor-k…
تحميل
github.com/daveyclk/SunFounder_SensorKit_…
من قذيفة الأمر:
sudo mkdir / usr / share / sunfounder
باستخدام المستكشف الرسومي ، انسخ مجلد python من الملف المضغوط إلى مجلد sunfounder الجديد
تُستخدم شاشة LCD لتوجيه المستخدم لمعرفة ما يحدث بالضبط. عرض عملية التكوين من خلال قيم x و y و z التي يتم تعيينها على كل أجهزة
الخطوة 14: بلينك
Blynk هي خدمة إنترنت الأشياء الرائعة التي تتيح لك إنشاء تطبيق مخصص للتحكم في الأشياء الخاصة بك. بدا الأمر وكأنه الحل الأمثل لمنحني التحكم عن بعد في walabot للاتصال حقًا بالإعدادات …
مشكلة واحدة. Blynk غير مدعوم حاليًا على منصة Python ، bugger. لكن لا تخف! لقد تمكنت من العثور على عمل صغير لطيف يسمح لي بالتحكم عن بعد وإدخال المعلمة عن بُعد! إنه مخترق قليلاً
الخطوة الأولى هي تنزيل تطبيق Blynk من متجر التطبيقات المفضل لديك
ثانيًا ، قم بالتسجيل للحصول على حساب
بمجرد الانتهاء من ذلك ، افتح التطبيق وابدأ مشروعًا جديدًا ، واختر Raspberry Pi 3 كجهاز.
سيخصص لك التطبيق رمز وصول (ستحتاج هذا لوضع الرمز الخاص بك)
بمجرد أن تفعل ذلك. سوف تحتاج إلى إعداد التطبيق كما هو موضح في الصور. هذه هي الطريقة التي ستتفاعل بها مع walabot.
الخطوة 15: تكوين تطبيق Blynk
الخطوة 16: يمكنك استخدام رمز الاستجابة السريعة هذا مع تطبيق Blynk لاستنساخ مشروعي لتوفير الوقت
حسنًا بعد أن تم إعداد التطبيق بالكامل ، يمكننا تكوين Python و RPi للتحدث معه عبر الإنترنت. سحر
الخطوة 17: تشغيل Blynk باستخدام Raspberry Pi واستخدام Blynk HTTPS لـ Python
أولاً ، تحتاج إلى تثبيت مجمّع Blynk HTTPS لـ Python
من قذيفة الأمر:
sudo git clone
sudo pip تثبيت blynkapi
ثانيًا ، تحتاج إلى تثبيت خدمة Blynk على RPi
من قذيفة الأمر:
استنساخ بوابة
مكتبة cd blynk / لينكس
تنظيف كل شيء
لتشغيل خدمة 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
يجب أن تكون خدمة Blynk قيد التشغيل الآن
الخطوة 18: التشغيل التلقائي للبرنامج النصي
الآن بعد أن تم إعداد كل هذا وتكوينه ، أصبح لدينا كود Python جاهزًا. يمكننا ضبط الأشياء على التشغيل التلقائي حتى نتمكن من التخلص من لوحة المفاتيح والشاشات
هناك بعض الاشياء لفعلها
قم بإنشاء ملف نصي جديد لتشغيل برنامج بايثون
sudo نانو تأثير الغيتار. sh
أضف هذه السطور
#! / بن / ش
python /home/pi/GuitarEffectCLI.py
تأكد من حفظه
بعد ذلك ، نحتاج إلى منح البرنامج النصي الإذن بالتشغيل عن طريق الكتابة
سودو chmod + x /home/pi/guitareffect.sh
وأخيرًا ، نحتاج إلى إضافة هذا البرنامج النصي إلى الملف /etc/rc.local الذي عملنا عليه سابقًا.
سودو نانو /etc/rc.local
يضيف
/home/pi/guitareffect.sh &
تأكد من تضمين "&" وهذا يسمح لـ Python Script بالعمل في الخلفية
حق! هذا هو كل التكوين والبرامج التي تم فرزها ، ثم حان الوقت لتوصيل الأجهزة
الخطوة 19: الأجهزة
أول نموذج أولي للوح
الخطوة 20: تصميم الضميمة
تم تصميم العلبة وتقديمها في Fusion360 الرائع
الخطوة 21: اللقطات الشجاعة
الخطوة 22: لقطات التجميع النهائية
الخطوة 23: لإصلاح Walabot على الحامل
استخدم القرص المعدني ذاتي اللصق الذي يأتي مع الوابوت لتثبيته في مكانه
الخطوة 24: ملفات STL للأجهزة للطباعة ثلاثية الأبعاد
الخطوة 25: مخططات توصيل الأسلاك
الخطوة 26: الكود
استخدم نص Python النصي المرفق لمشروعك
من _future_ استيراد print_function من منصة استيراد sys من نظام استيراد نظام التشغيل من blynkapi استيراد Blynk استيراد WalabotAPI استيراد وقت استيراد RPi. GPIO كـ 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
#import وحدة LCD من الموقع
من Imp import load_source LCD1602 = load_source ('LCD1602'، '/usr/share/sunfounder/Python/LCD1602.py')
# قم بتهيئة PCA9685 باستخدام العنوان الافتراضي (0x40).
pwm = Adafruit_PCA9685. PCA9685 ()
# كائنات blynk
القيم الافتراضية = 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 = Blynk (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")
العتبة = Blynk (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 إلى موضع المؤازرة "" "return int ((x- in_min) * (out_max - out_min) / (in_max - in_min) + خارج_دقيقة)
# استخدم هذا لتقريب البيانات الأولية إلى القيمة المخصصة
def myRound (x، base = 2): إرجاع int (base * round (float (x) / base))
#extracts الرقم من سلسلة blynk التي تم إرجاعها
رقم التعريف استخراج (val): val = str (val) return int (filter (str.isdigit، val))
# ضبط التردد على 60 هرتز ، جيد للماكينة.
pwm.set_pwm_freq (60)
# تكوين افتراضية أطوال نبضة المؤازرة min و max
SERVO_MIN = 175 # الحد الأدنى لطول النبضة من 4096 SERVO_MAX = 575 # أقصى طول للنبضة من 4096
# قيم والابوت الافتراضية
R_MAX = 60 R_MIN = 20 R_RES = 5
THETA_MAX = 20
THETA_RES = 5
PHI_MAX = 20
PHI_RES = 5
العتبة = 1
# متغيرات للتبديل blynk
على = "[u'1 ']"
فئة Walabot:
def _init _ (ذاتي):
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) print ("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) print ("Theta Max ="، THETA_MAX) THETA_RES = ThetaRes.get_val () THETA_RES = numberExtract (THETA_RES) print ("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
# قيم والابوت الافتراضية
R_MAX = 60 R_MIN = 20 R_RES = 5
THETA_MAX = 20
THETA_RES = 5
PHI_MAX = 20
PHI_RES = 5
العتبة = 1
def connect (self): جرب: self.wlbt. ConnectAny () self.isConnected = True self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) # self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_MTI) self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_NONE) # self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_DERIVATIVE) self. SetArenaR (R_MIN، R_MAX، R_RES) self.wlbt. SetThreshold (THRESHOLD) باستثناء self.wlbt. Walabot خطأ كخطأ: إذا كان رمز الخطأ! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' رفع خطأ
بداية def (ذاتي):
self.wlb البداية ()
معايرة def (self):
self.wlbt. StartCal المعايرة ()
def get_targets (ذاتي):
self.wlbt. Trigger () إرجاع self.wlbt. GetSensorTargets ()
توقف def (ذاتي):
self.wlb توقف إيقاف ()
قطع الاتصال (الذاتي):
self.wlbt. Disconnect ()
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.write (0، 1، 'begin') time.sleep (2) if (str (check) == on): flag = False else: check = start_button.get_val () # تحقق من زر البدء blynk ، اضغط إذا (GPIO.input (18) == 0): #check footswitch flag = False
LCD1602.write (0، 0، "OK! Let's Do it")
LCD1602.write (0، 1 '') wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () if not wlbt.isConnected: LCD1602.write (0، 0، "Not Connected") آخر: LCD1602.write (0، 0، "Connected") time.sleep (2) wlbt.start () wlbt.calibrate () LCD1602.write (0، 0، "Calibrating…..") time.sleep (3)) LCD1602.write (0، 0، "بدء Walabot")
appcheck = start_button.app_status () flag = True # reset flag for main prog
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 ()
آخر:
إذا كان (GPIO.input (18)! = 0): #check footswitch flag = False
xval = 0
yval = 0 zval = 0 متوسط = 2 delayTime = 0
الأهداف = wlbt.get_targets ()
إذا كان لين (أهداف)> 0:
لـ j في النطاق (متوسط):
الأهداف = wlbt.get_targets ()
إذا كان len (الأهداف)> 0: طباعة (len (الأهداف)) الأهداف = الأهداف [0]
طباعة (str (target.xPosCm))
xval + = int (target.xPosCm) yval + = int (target.yPosCm) zval + = int (target.zPosCm) time.sleep (xval = numMap (xval، -60، 60، SERVO_MIN، SERVO_MAX)
xval = myRound (xval) إذا كان 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) إذا كان 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) إذا كان zval SERVO_MAX: zval = SERVO_MAX LCD1602.write (8، 1، 'z =' + str (zval)) pwm.set_pwm (2، 0، zval)
آخر:
طباعة ("بلا أهداف") LCD1602.write (0 ، 0 ، "إيقاف التشغيل") LCD1602.write (0، 1، 'The Walabot') time.sleep (3) wlbt.stop () wlbt.disconnect ()
إذا _name_ == "_الرئيسية_":
بينما صحيح: main ()
لتأثير الجيتار
#! / بن / ش
القرص المضغوط / المنزل / بي
sudo python GuitarEffectCLI.py
نسخة من ملف RC المحلي كمرجع
#! / bin / sh -e # # rc.local # # يتم تنفيذ هذا النص البرمجي في نهاية كل مستوى تشغيل متعدد المستخدمين. # تأكد من أن البرنامج النصي سوف "يخرج من 0" عند النجاح أو أي قيمة أخرى بالخطأ. # # لتمكين أو تعطيل هذا البرنامج النصي فقط قم بتغيير التنفيذ # بت. # # افتراضيًا ، لا يفعل هذا البرنامج النصي شيئًا.
# طباعة عنوان IP
_IP = $ (hostname -I) || صحيح إذا ["$ _IP"] ؛ ثم printf "عنوان IP الخاص بي هو٪ s / n" "$ _IP" fi
./blynk-library/linux/blynk --token = "رمزك المميز يذهب هنا" &
النوم 10 sudo / home/pi/guitareffect.sh والخروج 0
الخطوة 27: استخدام مستودعات جيثب
استخدم هذا مع شاشة LCD الخاصة بـ Sunfounder
github.com/daveyclk/SunFounder_SensorKit_f…
استخدم هذا لبرنامج التشغيل المؤازر
github.com/daveyclk/Adafruit_Python_PCA968…
استخدم هذا مع غلاف HTTPS Blynk Python
github.com/daveyclk/blynkapi
الخطوة 28: الخاتمة
حسنًا ، لقد كان هذا منحنى تعليميًا حادًا ، لكنه كان يستحق ذلك.
ما أقوم به هو
- كان علي أن أتعلم بايثون.. تبين أنها الآس
- واجه Python على Raspberry Pi مع خدمة Blynk IoT. هذا غير مدعوم رسميًا ، لذا هناك بعض الحدود لوظائفه. لا يزال يعمل بشكل رائع على الرغم من!
- اتضح أن Walabot رائع للتعبير الموسيقي. لقد استخدمته على Korg SDD3000 ، لكن يمكنك استخدام أي تأثير تريده
جرب بنفسك. لا يقتصر هذا على تأثيرات الجيتار ، فيمكن استخدامه مع أي أداة بأي تأثير.
الوصيف في مسابقة Raspberry Pi 2017
موصى به:
NeckCrusher (دواسة ذات تأثير مُثبَّت على الجيتار): 6 خطوات (بالصور)
NeckCrusher (دواسة ذات تأثير مثبت على الجيتار): Dale Rosen و Carlos Reyes و Rob KochDATT 2000
تأثير الجيتار DIY: 8 خطوات
تأثير DIY Guitar: لقد قررت بناء تأثير الغيتار الكهربائي. هناك الكثير من المخططات حول الإنترنت ، جنبًا إلى جنب مع مقاطع الفيديو القصيرة التي توضح كيفية عملها ، لذلك إذا أراد أي شخص اختيار واحدة - فهناك الكثير للاختيار من بينها ، لقد قررت الذهاب مع & quot؛ Keele
كيفية صنع تأثير FUZZ على الجيتار من مجموعة أدوات Aliexpress DIY: 20 خطوة (مع صور)
كيفية صنع تأثير جيتار FUZZ من مجموعة أدوات DIY الخاصة بـ Aliexpress: لقد حصلت على تأثير غيتار كهربائي DIY Fuzz على شكل AliExpress وكانت هناك معلومات متواضعة جدًا لدرجة أنني كنت أرغب في تقديم تعليمات إلى مستخدمين أو مشترين آخرين أقل خبرة. اذن هذا هو
تغطية خزانة سماعات الجيتار باستخدام TOLEX: 18 خطوة (بالصور)
تغطية خزانة سماعات الجيتار باستخدام TOLEX: كيفية قياس خزانة سماعات الجيتار بقصها وتغطيتها باستخدام TOLEX
ترقية محول العزل لمضخمات الجيتار القديمة: 11 خطوة (بالصور)
ترقية محول العزلة لمضخمات الجيتار القديمة: احفظ بشرتك! قم بترقية هذا الأمبير القديم المخيف بمحول عزل. عدد غير قليل من مكبرات الصوت (وأجهزة الراديو) القديمة كانت تستمد الطاقة من خلال تصحيح مباشر للأسرة & quot؛ التيار الكهربائي & quot؛ الأسلاك. هذه ممارسة غير آمنة بطبيعتها. عظم