Mục lục:
- Bước 1: Những thứ bạn sẽ cần
- Bước 2: Tóm tắt
- Bước 3: Ý tưởng cơ bản
- Bước 4: Walabot
- Bước 5: Bắt đầu
- Bước 6: Thiết lập Raspberry Pi - 1
- Bước 7: Thiết lập Raspberry Pi - 2
- Bước 8: Thiết lập Raspberry Pi - 3
- Bước 9: Thiết lập Raspberry Pi - 4
- Bước 10: Python
- Bước 11: Đối với Walabot
- Bước 12: Đối với giao diện Servo
- Bước 13: Đối với màn hình LCD
- Bước 14: Blynk
- Bước 15: Đị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ước 17: Chạy Blynk với Raspberry Pi và sử dụng Blynk HTTPS cho Python
- Bước 18: Tự động chạy tập lệnh
- Bước 19: Phần cứng
- Bước 20: Thiết kế bao vây
- Bước 21: Guts Shots
- Bước 22: Chụp lắp ráp cuối cùng
- Bước 23: Để cố định Walabot vào giá đỡ
- 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ã
- Bước 27: Kho lưu trữ Github để sử dụng
- Bước 28: Kết luận
Video: Walabot FX - Điều khiển Hiệu ứng Guitar: 28 Bước (có Hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:37
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
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
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 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
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
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
Nguyên mẫu Breadboard đầu tiên
Bước 20: 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
Bước 22: Chụp lắp ráp cuối cùng
Bước 23: Để 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
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.
Về nhì trong Cuộc thi Raspberry Pi 2017
Đề xuất:
NeckCrusher (Bàn đạp hiệu ứng gắn trên guitar): 6 bước (có hình ảnh)
NeckCrusher (Bàn đạp hiệu ứng gắn trên guitar): Dale Rosen, Carlos Reyes và Rob KochDATT 2000
Đèn LED hoạt hình Arduino treo tường đầy bụi với hiệu ứng ánh sáng: 11 bước (có hình ảnh)
Đèn Led hoạt hình Arduino Wall Dusty có hiệu ứng ánh sáng: Tôi vừa mới sinh con xong và sau khi làm phòng ngủ cho nó, tôi cần một chiếc đèn chiếu sáng trên tường. Vì tôi rất yêu thích đèn LED nên tôi đã quyết định tạo ra một thứ gì đó. Nói chung tôi cũng thích máy bay, vậy tại sao không treo một chiếc máy bay từ phim hoạt hình lên tường, ở đây khi nó bắt đầu và tôi đã làm như thế nào
Bàn đạp Proto cho Hiệu ứng Guitar DIY: 5 bước (có hình ảnh)
Bàn đạp Proto cho Hiệu ứng đàn guitar tự làm: Thiết kế và tạo hiệu ứng đàn guitar của riêng bạn là một cách tuyệt vời để kết hợp niềm đam mê điện tử và guitar. Tuy nhiên, khi thử nghiệm các thiết kế mới, tôi nhận thấy mạch mỏng manh trên bảng mạch không hàn rất khó kết nối với bản vá c
Bàn đạp hiệu ứng âm nhạc và guitar ATMega1284P: 6 bước (có hình ảnh)
Bàn đạp hiệu ứng âm nhạc và guitar ATMega1284P: Tôi đã chuyển Arduino Uno ATMega328 Pedalshield (do Electrosmash phát triển và một phần dựa trên công việc tại Phòng thí nghiệm âm nhạc mở) sang ATMega1284P có RAM gấp tám lần so với Uno (16kB so với 2kB). Một lợi ích bất ngờ bổ sung là
Cách tạo hiệu ứng đàn guitar FUZZ từ bộ kit tự làm Aliexpress: 20 bước (kèm hình ảnh)
Cách tạo hiệu ứng đàn guitar FUZZ từ bộ dụng cụ tự làm Aliexpress: Tôi đã tạo hiệu ứng đàn guitar điện Fuzz tự làm từ AliExpress và có rất ít thông tin nên tôi đã quyết định tạo một cuốn sách có thể hướng dẫn cho những người dùng hoặc người mua khác, ít kinh nghiệm hơn. Vì vậy đây là