Mục lục:

Walabot FX - Điều khiển Hiệu ứng Guitar: 28 Bước (có Hình ảnh)
Walabot FX - Điều khiển Hiệu ứng Guitar: 28 Bước (có Hình ảnh)

Video: Walabot FX - Điều khiển Hiệu ứng Guitar: 28 Bước (có Hình ảnh)

Video: Walabot FX - Điều khiển Hiệu ứng Guitar: 28 Bước (có Hình ảnh)
Video: Walabot Wed - Robot Walabot 2024, Tháng bảy
Anonim
Walabot FX - Kiểm soát hiệu ứng guitar
Walabot FX - Kiểm soát hiệu ứng guitar

Kiểm soát hiệu ứng guitar yêu thích của bạn mà không cần sử dụng gì ngoài những tư thế guitar tuyệt vời!

Bước 1: Những thứ bạn sẽ cần

Các thành phần phần cứng

Walabot - Walabot

Raspberry Pi - Raspberry Pi 3 Model B

Sunfounder LCD1602

SunFounder PCA9685 Trình điều khiển Servo 16 Kênh 12 Bit PWM cho Arduino và Raspberry Pi

Servo (chung) Không có liên kết

Kẹp pin 9V

Giá đỡ pin 4xAA

Pin AA

Dây nhảy (chung)

Công tắc chân hành động chốt DPDT

Korg SDD3000-PDL

Hệ điều hành phần mềm, Ứng dụng và Dịch vụ Trực tuyến

Autodesk Fusion360 -

Blynk -

Công cụ, v.v

máy in 3D

Sắt hàn

Bước 2: Tóm tắt

Getting Started
Getting Started

Bạn sẽ như thế nào khi điều khiển sự biểu đạt âm nhạc mà không cần sử dụng đến vị trí của cây đàn guitar của bạn trong không gian 3D? Vâng, chúng ta hãy protoype một cái gì đó và tìm hiểu!

Bước 3: Ý tưởng cơ bản

Tôi muốn có thể kiểm soát 3 thông số hiệu ứng trong thời gian thực, tôi muốn làm điều này bằng cách tôi định vị cây đàn của mình. Vì vậy, một điều rõ ràng là tôi sẽ cần một vài thứ.

  • Một cảm biến có thể nhìn thấy không gian 3D
  • Servos để vặn các nút
  • Màn hình LCD
  • Trình điều khiển Servo I2C
  • Một Raspberry Pi
  • Để học Python

Bước 4: Walabot

Muốn nhìn xuyên tường? Cảm nhận đối tượng trong không gian 3D? Cảm nhận nếu bạn đang thở từ bên kia phòng? Chà, bạn đang gặp may!

Walabot là một cách hoàn toàn mới để cảm nhận không gian xung quanh bạn bằng cách sử dụng radar công suất thấp.

Đây sẽ là chìa khóa cho dự án này, tôi sẽ có thể lấy các coodinate carteasan (X-Y-Z) của các đối tượng trong không gian 3D và ánh xạ chúng đến các vị trí servo thay đổi cách hiệu ứng guitar phát ra, trong thời gian thực mà không cần chạm vào bàn đạp.

Thắng lợi.

Thông tin thêm về Walabot có thể được tìm thấy tại đây

Bước 5: Bắt đầu

Điều đầu tiên, bạn sẽ cần một máy tính để điều khiển Walabot, đối với dự án này, tôi đang sử dụng Raspberry Pi 3 (ở đây được đề cập đến tại RPi) do tích hợp WiFi và tính năng bổ sung nói chung

Tôi đã mua một thẻ SD 16GB có cài đặt sẵn NOOBS để giữ cho mọi thứ đẹp và đơn giản, đồng thời chọn cài đặt Raspian làm hệ điều hành Linux mà tôi lựa chọn

(nếu bạn không quen với cách cài đặt Raspian, hãy dành một chút thời gian để đọc một chút về điều này)

OK, khi bạn đã chạy Raspian trên RPi của mình, có một số bước cấu hình cần thực hiện để chuẩn bị mọi thứ sẵn sàng cho dự án của chúng tôi

Bước 6: Thiết lập Raspberry Pi - 1

Trước tiên, hãy đảm bảo rằng bạn đang chạy phiên bản Kernel mới nhất và kiểm tra các bản cập nhật bằng cách mở lệnh shell và gõ

sudo apt-get cập nhật

sudo apt-get dist-upgrade

(sudo được thêm vào để đảm bảo rằng bạn đã có các đặc quyền quản trị, ví dụ: mọi thứ sẽ hoạt động)

Quá trình này có thể mất một lúc để hoàn thành, vì vậy hãy đi và uống một tách trà ngon.

Bước 7: Thiết lập Raspberry Pi - 2

Bạn cần cài đặt Walabot SDK cho RPi. Từ trình duyệt web RPi của bạn, truy cập https://www.walabot.com/gettingstarted và tải xuống Gói trình cài đặt Raspberry Pi.

Từ một trình bao lệnh:

tải cd

sudo dpkg -I walabotSDK_RasbPi.deb

Bước 8: Thiết lập Raspberry Pi - 3

Chúng ta cần bắt đầu cấu hình RPi để sử dụng bus i2c.

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

khi điều này được thực hiện, bạn phải thêm phần sau vào tệp mô-đun

Từ một trình bao lệnh:

sudo nano / etc / modules

thêm 2 chuỗi này trên các dòng riêng biệt:

i2c-dev

i2c-bcm2708

Bước 9: Thiết lập Raspberry Pi - 4

Walabot thu hút được một chút dòng điện hợp lý và chúng tôi cũng sẽ sử dụng GPIO để kiểm soát mọi thứ, vì vậy chúng tôi cần thiết lập

Từ một trình bao lệnh:

sudo nano /boot/config.txt

thêm các dòng sau vào cuối tệp:

safe_mode_gpio = 4

max_usb_current = 1

RPi là một công cụ tuyệt vời cho các nhà sản xuất, nhưng nó có giới hạn trong hiện tại mà nó có thể gửi đến Walabot. Do đó, tại sao chúng tôi thêm dòng điện tối đa 1Amp thay vì 500mA tiêu chuẩn hơn

Bước 10: Python

Tại sao lại là Python? vì nó siêu dễ viết mã, chạy nhanh và có sẵn vô số ví dụ về python tốt! tôi chưa bao giờ sử dụng nó trước đây và đã sớm được thiết lập và chạy trong thời gian ngắn. Bây giờ RPi được định cấu hình cho những gì chúng ta muốn, bước tiếp theo là định cấu hình Python để có quyền truy cập vào giao diện API Walabot, LCD Servo

Bước 11: Đối với Walabot

Từ một trình bao lệnh

Sudo pip cài đặt “/usr/share/walabot/python/WalabotAPI-1.0.21.zip”

Bước 12: Đối với giao diện Servo

Từ một trình bao lệnh

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

cd ~

git clone

cd Adafruit_Python_PCA9685

sudo python setup.py cài đặt

Tại sao chúng ta cần sử dụng trình điều khiển servo? Vâng, vì một RPi là một vài lý do.

1. Dòng điện được tạo ra bởi một servo có thể rất cao và con số đó càng lớn khi bạn có càng nhiều servo (tất nhiên). Nếu bạn đang điều khiển servo directky từ RPi, bạn có nguy cơ thổi bay nguồn điện của nó

2. Thời gian của PWM (Điều chế độ rộng xung) điều khiển vị trí của servo là rất quan trọng. Vì RPi không sử dụng hệ điều hành thời gian thực (có thể có gián đoạn và như vậy) nên thời gian không chính xác và có thể làm cho servo co giật một cách lo lắng. Một trình điều khiển chuyên dụng cho phép điều khiển chính xác, nhưng cũng cho phép thêm tối đa 16 servo, vì vậy điều này rất tốt cho việc mở rộng.

Bước 13: Đối với màn hình LCD

Blynk
Blynk

mở trình duyệt web RPi của bạn

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

Tải xuống

github.com/daveyclk/SunFounder_SensorKit_…

Từ một trình bao lệnh:

sudo mkdir / usr / share / sunfounder

Sử dụng trình khám phá đồ họa, sao chép thư mục python ra khỏi tệp zip vào thư mục sunfounder mới của bạn

Màn hình LCD được sử dụng để nhắc người dùng biết chính xác những gì đang diễn ra. Hiển thị quá trình cấu hình thông qua các giá trị x, y và z được ánh xạ vào mỗi servo

Bước 14: Blynk

Blynk
Blynk
Blynk
Blynk

Blynk là một dịch vụ IoT tuyệt vời cho phép bạn tạo một ứng dụng tùy chỉnh để kiểm soát nội dung của mình. Đó dường như là giải pháp hoàn hảo để cung cấp cho tôi điều khiển từ xa của walabot để thực sự quay số trong cài đặt…

Một vấn đề. Blynk hiện không được hỗ trợ trên nền tảng Python, bugger. Nhưng đừng sợ! Tôi đã có thể tìm thấy một công việc nhỏ xinh xung quanh cho phép điều khiển từ xa và nhập thông số từ xa! nó là một chút hacky

bước đầu tiên là tải xuống ứng dụng Blynk từ cửa hàng ứng dụng yêu thích của bạn

Thứ hai, đăng ký một tài khoản

Sau khi hoàn tất, hãy mở ứng dụng và bắt đầu một dự án mới, chọn Raspberry Pi 3 làm phần cứng.

Ứng dụng sẽ cấp cho bạn một mã thông báo truy cập (bạn sẽ cần mã này để nhập mã của mình)

Một khi bạn đã làm được điều đó. bạn sẽ cần thiết lập ứng dụng như trong hình ảnh. Đây là cách nó sẽ giao diện với walabot.

Bước 15: Định cấu hình ứng dụng Blynk

Định cấu hình ứng dụng Blynk
Định cấu hình ứng dụng Blynk
Định cấu hình ứng dụng Blynk
Định cấu hình ứng dụng Blynk
Định cấu hình ứng dụng Blynk
Định cấu hình ứng dụng Blynk

Bước 16: Bạn có thể sử dụng mã QR này với ứng dụng Blynk để sao chép dự án của tôi nhằm tiết kiệm thời gian cho bạn

Bạn có thể sử dụng mã QR này với ứng dụng Blynk để sao chép dự án của tôi nhằm tiết kiệm thời gian cho bạn
Bạn có thể sử dụng mã QR này với ứng dụng Blynk để sao chép dự án của tôi nhằm tiết kiệm thời gian cho bạn

OK Bây giờ ứng dụng đã được thiết lập xong, chúng ta có thể định cấu hình Python và RPi để nói chuyện với nó qua mạng internets. ảo thuật

Bước 17: Chạy Blynk với Raspberry Pi và sử dụng Blynk HTTPS cho Python

Trước tiên, bạn cần cài đặt trình bao bọc Blynk HTTPS cho Python

Từ một trình bao lệnh:

sudo git clone

sudo pip cài đặt blynkapi

Thứ hai, bạn cần cài đặt Dịch vụ Blynk trên RPi

Từ một trình bao lệnh:

git clone

cd blynk-library / linux

làm sạch tất cả

để chạy dịch vụ blynk

sudo./blynk --token = YourAuthToken

Để đảm bảo Dịch vụ Blynk chạy khi khởi động, bạn cần sửa đổi /etc/rc.local

bằng cách làm

sudo nano /etc/rc.local

thêm cái này vào cuối

./blynk-library/linux/blynk --token = mã thông báo của tôi &

(Tôi đã bao gồm một tệp /etc/rc.local của tôi trong phần mã để tham khảo)

Để kiểm tra nó hoạt động, chỉ cần gõ

sudo /etc/rc.local start

Dịch vụ Blynk bây giờ sẽ chạy

Bước 18: Tự động chạy tập lệnh

Bây giờ tất cả điều này đã được thiết lập và định cấu hình, và chúng tôi đã có mã python sẵn sàng. chúng tôi có thể đặt mọi thứ thành tự động chạy để chúng tôi có thể bỏ qua bàn phím và màn hình

Có một số việc cần làm

Tạo một tệp kịch bản mới để chạy Chương trình Python

sudo nano guitareffect.sh

thêm những dòng này

#! / bin / sh

python /home/pi/GuitarEffectCLI.py

hãy chắc chắn để lưu nó

Tiếp theo, chúng ta cần cấp quyền cho script chạy bằng cách nhập

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

Và cuối cùng, chúng ta cần thêm tập lệnh này vào tệp /etc/rc.local mà chúng ta đã mày mò trước đó.

Sudo nano /etc/rc.local

Thêm vào

/home/pi/guitareffect.sh &

hãy chắc chắn bao gồm "&" điều này cho phép Python Script chạy trong nền

Bên phải! Đó là tất cả cấu hình và phần mềm được sắp xếp, tiếp theo là thời gian để kết nối phần cứng

Bước 19: Phần cứng

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

Nguyên mẫu Breadboard đầu tiên

Bước 20: Thiết kế bao vây

Thiết kế bao vây
Thiết kế bao vây
Thiết kế bao vây
Thiết kế bao vây

Bao vây được thiết kế và kết xuất trong Fusion360 tuyệt vời

Bước 21: Guts Shots

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

Bước 22: Chụp lắp ráp cuối cùng

Lần chụp lắp ráp cuối cùng
Lần chụp lắp ráp cuối cùng
Lần chụp lắp ráp cuối cùng
Lần chụp lắp ráp cuối cùng
Lần chụp lắp ráp cuối cùng
Lần chụp lắp ráp cuối cùng

Bước 23: Để cố định Walabot vào giá đỡ

Để cố định Walabot vào giá đỡ
Để cố định Walabot vào giá đỡ

Sử dụng đĩa kim loại tự dính đi kèm với walabot để cố định nó tại chỗ

Bước 24: Tệp STL phần cứng để in 3D

Bước 25: Sơ đồ nối dây điều

Bước 26: Mã

Sử dụng tập lệnh Python đính kèm cho dự án của bạn

từ _future_ nhập print_ functionsfrom nền tảng nhập sys từ hệ thống nhập hệ điều hành từ blynkapi nhập Blynk nhập thời gian nhập WalabotAPI nhập RPi. GPIO dưới dạng GPIO

# thiết lập GPIO bằng Đánh số bảng

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

#blynk mã thông báo xác thực

auth_token = "your_auth_token_here"

# Nhập mô-đun PCA9685 để điều khiển servo.

nhập Adafruit_PCA9685

# nhập mô-đun LCD từ vị trí

từ imp import load_source LCD1602 = load_source ('LCD1602', '/usr/share/sunfounder/Python/LCD1602.py')

# Khởi tạo PCA9685 bằng địa chỉ mặc định (0x40).

pwm = Adafruit_PCA9685. PCA9685 ()

# đối tượng blynk

defaults = 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")

Threshold = Blynk (auth_token, pin = "V8")

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

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

def LCDsetup ():

LCD1602.init (0x27, 1) # init (địa chỉ nô lệ, đèn nền)

def numMap (x, in_min, in_max, out_min, out_max): "" "được sử dụng để ánh xạ các lần đọc walabot tới vị trí servo" "" return int ((x- in_min) * (out_max - out_min) / (in_max - in_min) + out_min)

# sử dụng điều này để làm tròn dữ liệu thô thành giá trị được chỉ định

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

#extracts dạng số mà chuỗi blynk trả về

def numberExtract (val): val = str (val) return int (filter (str.isdigit, val))

# Đặt tần số thành 60hz, tốt cho servo.

pwm.set_pwm_freq (60)

# Định cấu hình mặc định độ dài xung servo tối thiểu và tối đa

SERVO_MIN = 175 # Độ dài xung tối thiểu trong số 4096 SERVO_MAX = 575 # Độ dài xung tối đa trong số 4096

# giá trị mặc định của walabot

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

THRESHOLD = 1

# biến để chuyển đổi blynk

on = "[u'1 ']"

lớp Walabot:

def _init _ (bản thân):

self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = False self.isTargets = False

def blynkConfig (tự):

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) print ("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) print ("R Min =", R_MIN)

R_RES = Rres.get_val ()

R_RES = numberExtract (R_RES) print ("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) print ("Phi Max =", PHI_MAX) PHI_RES = PhiRes.get_val () PHI_RES = numberExtract (PHI_RES) print ("Phi Res =", PHI_RES)

THRESHOLD = Threshold.get_val ()

THRESHOLD = numberExtract (THRESHOLD) print ("Threshold =", THRESHOLD)

else: # nếu không có gì từ ứng dụng blynk, tải mặc định SERVO_MIN = 175 # Độ dài xung tối thiểu trong số 4096 SERVO_MAX = 575 # Độ dài xung tối đa trong số 4096

# giá trị mặc định của 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 = True self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) # self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_MTI) self.wlbt. SetDynamic (self.wlbt. FILTER_TYPE_NONE) # self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_DERIVATIVE) self.wlbt. SetArenaTheta (-THETA_MAX, THETA_MAX, THETA_RES) self.wlbt. SetArenaR (R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold (THRESHOLD) ngoại trừ self.wlbt. WalabotError as err: if err.code! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' tăng lỗi

bắt đầu def (tự):

self.wlbt. Start ()

def hiệu chỉnh (tự):

self.wlbt. StartCalibration ()

def get_targets (self):

self.wlbt. Trigger () trả về self.wlbt. GetSensorTargets ()

def dừng (bản thân):

self.wlbt. Stop ()

def ngắt kết nối (tự):

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, 'Nhấn Start để') LCD1602.write (0, 1, 'begin') time.sleep (2) if (str (check) == on): flag = False else: check = start_button.get_val () # kiểm tra nút bắt đầu blynk nhấn nếu (GPIO.input (18) == 0): #check footswitch flag = False

LCD1602.write (0, 0, "OK! Hãy làm điều đó")

LCD1602.write (0, 1, '') wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () if not 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, 'Đang hiệu chỉnh…..') time.sleep (3) LCD1602.write (0, 0, 'Khởi động Walabot')

appcheck = start_button.app_status () flag = True # reset flag cho main prog

trong khi cờ: # được sử dụng để đặt hiệu ứng ở chế độ chờ (hiệu quả)

if (appcheck == True): if (str (check)! = on): if (GPIO.input (18)! = 0): #check footswitch flag = False else: check = start_button.get_val () #check for nút bắt đầu nhấn appcheck = start_button.app_status ()

khác:

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

xval = 0

yval = 0 zval = 0 trung bình = 2 delayTime = 0

target = wlbt.get_targets ()

nếu len (target)> 0:

cho j trong phạm vi (trung bình):

target = wlbt.get_targets ()

nếu len (target)> 0: print (len (target)) target = target [0]

print (str (target.xPosCm))

xval + = int (target.xPosCm) yval + = int (target.yPosCm) zval + = int (target.zPosCm) time.sleep (delayTime) else: print ("no target") xval = xval / average

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

xval = myRound (xval) nếu xval SERVO_MAX: xval = SERVO_MAX LCD1602.write (0, 0, 'x =' + str (xval) + '') pwm.set_pwm (0, 0, xval)

yval = yval / trung bình

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

yval = myRound (yval) nếu yval SERVO_MAX: yval = SERVO_MAX LCD1602.write (0, 1, 'y =' + str (yval)) pwm.set_pwm (1, 0, yval)

zval = zval / trung bình

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

zval = myRound (zval) nếu zval SERVO_MAX: zval = SERVO_MAX LCD1602.write (8, 1, 'z =' + str (zval)) pwm.set_pwm (2, 0, zval)

khác:

print ("không có mục tiêu") LCD1602.write (0, 0, "Tắt máy") LCD1602.write (0, 1, 'The Walabot') time.sleep (3) wlbt.stop () wlbt.disconnect ()

nếu _name_ == '_main_':

trong khi True: main ()

cho guitareffect.sh

#! / bin / sh

cd / home / pi

sudo python GuitarEffectCLI.py

Bản sao của tệp cục bộ RC để tham khảo

#! / bin / sh -e # # rc.local # # Tập lệnh này được thực thi ở cuối mỗi cấp chạy nhiều người dùng. # Đảm bảo rằng tập lệnh sẽ "thoát 0" khi thành công hoặc bất kỳ giá trị # nào khác khi bị lỗi. # # Để bật hoặc tắt tập lệnh này, chỉ cần thay đổi # bit thực thi. # # Theo mặc định, tập lệnh này không làm gì cả.

# In địa chỉ IP

_IP = $ (tên máy chủ-I) || true if ["$ _IP"]; sau đó printf "Địa chỉ IP của tôi là% s / n" "$ _IP" fi

./blynk-library/linux/blynk --token = "mã thông báo của bạn ở đây" &

ngủ 10 sudo /home/pi/guitareffect.sh và thoát 0

Bước 27: Kho lưu trữ Github để sử dụng

Sử dụng cái này cho Sunfounder LCD

github.com/daveyclk/SunFounder_SensorKit_f…

Sử dụng cái này cho trình điều khiển servo

github.com/daveyclk/Adafruit_Python_PCA968…

Sử dụng cái này cho Blynk Python HTTPS Wrapper

github.com/daveyclk/blynkapi

Bước 28: Kết luận

Image
Image
Walabot FX- Guitar Effect Control. Full Demo
Walabot FX- Guitar Effect Control. Full Demo
Phần kết luận
Phần kết luận
Phần kết luận
Phần kết luận

Chà, đây là một chặng đường học tập dốc, nhưng nó rất đáng giá.

Những chuyến đi của tôi là

  • Tôi đã phải học Python.. hóa ra nó là át chủ bài
  • Giao diện Python trên Raspberry Pi với dịch vụ Blynk IoT. Điều này không được hỗ trợ chính thức nên có một số giới hạn đối với các chức năng của nó. Vẫn hoạt động tốt mặc dù!
  • Hóa ra Walabot rất tuyệt vời để biểu đạt âm nhạc. Tôi đã sử dụng nó trên Korg SDD3000, nhưng bạn có thể sử dụng bất kỳ hiệu ứng nào bạn thích

Hãy tự đi. Điều này không giới hạn ở các hiệu ứng guitar, tôi có thể được sử dụng với bất kỳ nhạc cụ nào với bất kỳ hiệu ứng nào.

Cuộc thi Raspberry Pi 2017
Cuộc thi Raspberry Pi 2017
Cuộc thi Raspberry Pi 2017
Cuộc thi Raspberry Pi 2017

Về nhì trong Cuộc thi Raspberry Pi 2017

Đề xuất: