İçindekiler:
- Adım 1: İhtiyacınız Olan Şeyler
- 2. Adım: Özet
- Adım 3: Temel Fikir
- Adım 4: Walabot
- Adım 5: Başlarken
- Adım 6: Raspberry Pi'yi Ayarlama - 1
- 7. Adım: Raspberry Pi'yi Ayarlama - 2
- Adım 8: Raspberry Pi'yi Ayarlama - 3
- 9. Adım: Raspberry Pi'yi Ayarlama - 4
- Adım 10: Python
- Adım 11: Walabot için
- Adım 12: Servo Arayüzü İçin
- Adım 13: LCD için
- Adım 14: Blynk
- 15. Adım: Blynk Uygulamasını Yapılandırma
- Adım 16: Size Zaman Kazandırmak İçin Projemi Klonlamak İçin Bu QR Kodunu Blynk Uygulamasıyla Kullanabilirsiniz
- Adım 17: Blynk'i Raspberry Pi ile Çalıştırma ve Python için Blynk HTTPS'yi Kullanma
- Adım 18: Komut Dosyasını Otomatik Çalıştırma
- Adım 19: Donanım
- Adım 20: Muhafaza Tasarımı
- Adım 21: Cesur Atışlar
- Adım 22: Son Montaj Çekimleri
- Adım 23: Walabot'u Standa Sabitlemek İçin
- Adım 24: 3D Baskı için Donanım STL Dosyaları
- Adım 25: Parçayı Kablolama Şemaları
- Adım 26: Kod
- Adım 27: Kullanılacak Github Depoları
- Adım 28: Sonuç
Video: Walabot FX - Gitar Efekt Kontrolü: 28 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
En sevdiğiniz gitar efektini harika gitar pozlarından başka bir şey kullanmadan kontrol edin!
Adım 1: İhtiyacınız Olan Şeyler
Donanım bileşenleri
Walabot - Walabot
Raspberry Pi - Raspberry Pi 3 Model B
Sunfounder LCD1602
Arduino ve Raspberry Pi için SunFounder PCA9685 16 Kanal 12 Bit PWM Servo Sürücü
Servo (genel) Bağlantı yok
9V Pil Klipsi
4xAA pil tutucu
AA Piller
Atlama telleri (genel)
DPDT Kilitleme Hareketli Ayak Pedalı
Korg SDD3000-PDL
Yazılım İşletim Sistemleri, Uygulamalar ve Çevrimiçi Hizmetler
Autodesk Fusion360 -
Blynk -
Araçlar vb
3 boyutlu yazıcı
Havya
2. Adım: Özet
3D uzayda gitarınızın konumundan başka bir şey kullanmadan müzikal ifadeyi kontrol etmek nasıl olurdu? Pekala, bir şeyin prototipini yapalım ve öğrenelim!
Adım 3: Temel Fikir
3 efekt parametresini gerçek zamanlı olarak kontrol edebilmek istedim, bunu gitarımı nasıl konumlandırdığımı kullanarak yapmak istedim. Yani bir şey açıktı, birkaç şeye ihtiyacım olacaktı.
- 3D alanı görebilen bir sensör
- Düğmeleri çevirmek için servolar
- LCD ekran
- Bir I2C Servo sürücüsü
- Ahududu Pi
- Python öğrenmek
Adım 4: Walabot
Duvarların ötesini görmek ister misin? 3B uzayda nesneleri duyun? Odanın karşısından nefes alıp almadığınızı hissediyor musunuz? Şanslısın!
Walabot, düşük güçlü radar kullanarak etrafınızdaki alanı algılamanın yepyeni bir yoludur.
Bu, bu projenin anahtarı olacaktı, 3B uzaydaki nesnelerin kartezyen (X-Y-Z) koordinatlarını alabilecek ve bunları, bir gitar efektinin sesini gerçek zamanlı olarak değiştirerek servo pozisyonlarına eşleyebilecektim, pedala dokunmadan.
Kazanç.
Walabot hakkında daha fazla bilgiyi burada bulabilirsiniz
Adım 5: Başlarken
Her şeyden önce, Walabot'u sürmek için bir bilgisayara ihtiyacınız olacak, bu proje için dahili WiFi ve genel ekstra güç nedeniyle bir Raspberry Pi 3 (burada RPi'de anılacaktır) kullanıyorum.
İşleri güzel ve basit tutmak için NOOBS önceden yüklenmiş 16 GB'lık bir SD kart satın aldım ve Linux işletim sistemi seçimim olarak Raspian'ı yüklemeyi seçtim
(Raspian'ı nasıl kuracağınızı bilmiyorsanız, lütfen biraz okumak için biraz zaman ayırın)
Tamam, Raspian'ı RPi'nizde çalıştırdıktan sonra, projemiz için işleri hazır hale getirmek için atmanız gereken birkaç yapılandırma adımı var.
Adım 6: Raspberry Pi'yi Ayarlama - 1
Öncelikle en son Çekirdek sürümünü çalıştırdığınızdan emin olun ve bir komut kabuğu açıp yazarak güncellemeleri kontrol edin.
sudo apt-get güncellemesi
sudo apt-get dağıtım yükseltme
(Yönetim ayrıcalıklarına sahip olduğunuzdan emin olmak için sudo eklenir, örneğin işler işe yarayacaktır)
Bunun tamamlanması biraz zaman alabilir, o yüzden gidin ve bir fincan çay için.
7. Adım: Raspberry Pi'yi Ayarlama - 2
RPI için Walabot SDK'yı yüklemeniz gerekir. RPi web tarayıcınızdan https://www.walabot.com/gettingstarted adresine gidin ve Raspberry Pi Yükleyici Paketini indirin.
Bir komut kabuğundan:
cd indirmeleri
sudo dpkg -I walabotSDK_RasbPi.deb
Adım 8: Raspberry Pi'yi Ayarlama - 3
i2c veri yolunu kullanmak için RPi'yi yapılandırmaya başlamamız gerekiyor. Bir komut kabuğundan:
sudo apt-get install python-smbus
sudo apt-get install i2c araçları
bu yapıldıktan sonra, aşağıdakileri modüller dosyasına eklemelisiniz
Bir komut kabuğundan:
sudo nano /etc/modüller
bu 2 dizeyi ayrı satırlara ekleyin:
i2c-dev
i2c-bcm2708
9. Adım: Raspberry Pi'yi Ayarlama - 4
Walabot oldukça fazla akım çekiyor ve ayrıca şeyleri kontrol etmek için GPIO'ları kullanacağız, bu yüzden bunları ayarlamamız gerekiyor.
Bir komut kabuğundan:
sudo nano /boot/config.txt
dosyanın sonuna aşağıdaki satırları ekleyin:
safe_mode_gpio=4
max_usb_current=1
RPi, üreticiler için mükemmel bir araçtır, ancak Walabot'a gönderebileceği akımla sınırlıdır. Bu nedenle neden daha standart 500mA yerine 1Amp maksimum akım ekliyoruz?
Adım 10: Python
Neden Python? kodlaması çok kolay, çalıştırması hızlı olduğu için ve bir sürü iyi python örneği mevcut! Daha önce hiç kullanmadım ve kısa sürede çalışmaya başladı. Şimdi RPi istediğimiz şey için yapılandırıldı, bir sonraki adım Python'u Walabot API, LCD Servo arayüzlerine erişecek şekilde yapılandırmak.
Adım 11: Walabot için
Bir komut kabuğundan
Sudo pip kurulumu “/usr/share/walabot/python/WalabotAPI-1.0.21.zip”
Adım 12: Servo Arayüzü İçin
Bir komut kabuğundan
sudo apt-get install git build-essential python-dev
cd ~
git klon
cd Adafruit_Python_PCA9685
sudo python setup.py kurulumu
Neden bir servo sürücü kullanmamız gerekiyor? Eh, bir RPI için birkaç nedenden dolayı.
1. Bir servo tarafından çekilen akım çok yüksek olabilir ve sahip olduğunuz servo sayısı arttıkça (elbette) bu sayı büyür. Servo directky'yi bir RPi'den sürüyorsanız, güç kaynağını üfleme riskiyle karşı karşıya kalırsınız.
2. Servoların pozisyonunu kontrol eden PWM'nin (Pulse Width Modulation) zamanlamaları çok önemlidir. RPi gerçek zamanlı bir işletim sistemi kullanmadığından (kesmeler vb. olabilir) zamanlamalar doğru değildir ve servoların gergin bir şekilde seğirmesine neden olabilir. Özel bir sürücü, doğru kontrole izin verir, ancak aynı zamanda 16 adede kadar servo eklenmesine izin verir, bu nedenle bu, genişleme için mükemmeldir.
Adım 13: LCD için
RPI web tarayıcınızı açın
www.sunfounder.com/learn/category/sensor-k…
indirmek
github.com/daveyclk/SunFounder_SensorKit_…
Bir komut kabuğundan:
sudo mkdir /usr/share/sunfounder
Grafik gezgini kullanarak python klasörünü zip dosyasından yeni sunfounder klasörünüze kopyalayın.
LCD, kullanıcıya tam olarak ne olduğunu sormak için kullanılır. Her bir servoya eşlenen x, y ve z değerlerine kadar konfigürasyon sürecini gösterme
Adım 14: Blynk
Blynk, eşyalarınızı kontrol etmek için özel bir uygulama oluşturmanıza olanak tanıyan mükemmel bir IoT hizmetidir. Bana ayarlarda gerçekten arama yapmak için walabot'un uzaktan kontrolünü vermek mükemmel bir çözüm gibi görünüyordu…
Bir problem. Blynk şu anda Python platformunda desteklenmiyor, bugger. Ama korkma! uzaktan kontrole ve uzaktan parametre girişine izin veren güzel bir küçük çalışma bulabildim! bu biraz hileli
ilk adım, favori uygulama mağazanızdan Blynk uygulamasını indirmektir.
İkincisi, bir hesap için kaydolun
Bu yapıldıktan sonra uygulamayı açın ve donanım olarak Raspberry Pi 3'ü seçerek yeni bir projeye başlayın.
Uygulama size bir erişim jetonu tahsis edecek (kodunuzu girmek için buna ihtiyacınız olacak)
Bunu bir kez yaptın. Uygulamayı resimlerde gösterildiği gibi kurmanız gerekecek. Bu, walabot ile arayüz oluşturma şeklidir.
15. Adım: Blynk Uygulamasını Yapılandırma
Adım 16: Size Zaman Kazandırmak İçin Projemi Klonlamak İçin Bu QR Kodunu Blynk Uygulamasıyla Kullanabilirsiniz
Tamam Uygulamanın tamamı kurulduğuna göre, Python ve RPi'yi internet üzerinden konuşacak şekilde yapılandırabiliriz. büyü
Adım 17: Blynk'i Raspberry Pi ile Çalıştırma ve Python için Blynk HTTPS'yi Kullanma
Öncelikle, Python için Blynk HTTPS sarmalayıcısını yüklemeniz gerekir.
Bir komut kabuğundan:
sudo git klonu
sudo pip kurulum blynkapi
İkinci olarak, Blynk Hizmetini RPi'ye yüklemeniz gerekir.
Bir komut kabuğundan:
git klonu
cd blynk kitaplığı/linux
hepsini temizle
blynk hizmetini çalıştırmak için
sudo./blynk --token=YourAuthToken
Blynk Hizmetinin başlangıçta çalıştığından emin olmak için /etc/rc.local dosyasını değiştirmeniz gerekir.
yaparak
sudo nano /etc/rc.local
bunu sonuna ekle
./blynk-library/linux/blynk --token=benim jetonum &
(referans için kod bölümüne /etc/rc.local dosyamın bir kopyasını ekledim)
Çalıştığını test etmek için yazmanız yeterlidir
sudo /etc/rc.local başlangıç
Blynk Hizmeti şimdi çalışıyor olmalıdır
Adım 18: Komut Dosyasını Otomatik Çalıştırma
Artık bunların hepsi ayarlanıp yapılandırıldığına ve python kodumuz hazır. klavye ve monitörlerden kurtulmak için işleri otomatik olarak çalıştırabiliriz
yapılacak birkaç şey var
Python Programını çalıştırmak için yeni bir komut dosyası oluşturun
sudo nano gitar etkisi.sh
bu satırları ekle
#!/bin/sh
python /home/pi/GuitarEffectCLI.py
kaydettiğinizden emin olun
Ardından, komut dosyasına yazarak çalıştırma izni vermemiz gerekiyor.
Sudo chmod +x /home/pi/guitareffect.sh
Ve son olarak, bu betiği daha önce kurcaladığımız /etc/rc.local dosyasına eklememiz gerekiyor.
Sudo nano /etc/rc.local
Ekle
/home/pi/guitareffect.sh &
"&" eklediğinizden emin olun, bu Python Komut Dosyasının arka planda çalışmasına izin verir
Doğru! Tüm yapılandırma ve yazılımlar bu kadar sıralandı, sıra donanımı bağlamaya geldi.
Adım 19: Donanım
İlk Breadboard prototipi
Adım 20: Muhafaza Tasarımı
Muhafaza, harika Fusion360'ta tasarlandı ve oluşturuldu
Adım 21: Cesur Atışlar
Adım 22: Son Montaj Çekimleri
Adım 23: Walabot'u Standa Sabitlemek İçin
Yerine sabitlemek için walabot ile birlikte gelen kendinden yapışkanlı metal diski kullanın
Adım 24: 3D Baskı için Donanım STL Dosyaları
Adım 25: Parçayı Kablolama Şemaları
Adım 26: Kod
Projeniz için ekteki Python betiğini kullanın
_future_'den import print_function from sys import platformundan os'tan import sistemi blynkapi'den import Blynk import WalabotAPI import time import RPi. GPIO as GPIO
#Kart Numaralandırmasını kullanarak GPIO'yu kurun
GPIO.setmode(GPIO. BOARD) GPIO.setup(18, GPIO. IN, pull_up_down = GPIO. PUD_UP)
#blynk kimlik doğrulama belirteci
auth_token = "your_auth_token_here"
# Servo kontrol için PCA9685 modülünü içe aktarın.
Adafruit_PCA9685'i içe aktar
#LCD modülünü konumdan içe aktar
imp import load_source LCD1602 = load_source('LCD1602', '/usr/share/sunfounder/Python/LCD1602.py')
# Varsayılan adresi (0x40) kullanarak PCA9685'i başlatın.
pwm = Adafruit_PCA9685. PCA9685()
# yanıp sönen nesneler
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")
Eşik = Blynk(auth_token, pin = "V8")
ServoMin = Blynk(auth_token, pin = "V10")
ServoMax = Blynk(auth_token, pin = "V11")
tanımlı LCDsetup():
LCD1602.init(0x27, 1) # init(bağımlı adres, arka plan ışığı)
def numMap(x, in_min, in_max, out_min, out_max): """ walabot okumalarını servo konumuyla eşleştirmek için kullanılır """ return int((x- in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
# ham verileri atanan değere yuvarlamak için bunu kullanın
def myRound(x, base=2): return int(taban * yuvarlak(kayan(x)/taban))
#döndürülen blynk dizesinden sayıyı çıkarır
def numberExtract(val): val = str(val) return int(filter(str.isdigit, val))
# Frekansı 60hz olarak ayarlayın, servolar için iyi.
pwm.set_pwm_freq(60)
# Minimum ve maksimum servo darbe uzunlukları varsayılanlarını yapılandırın
SERVO_MIN = 175 # 4096 üzerinden min darbe uzunluğu SERVO_MAX = 575 # 4096 üzerinden maksimum darbe uzunluğu
# walabot varsayılan değerleri
R_MAX = 60 R_MIN = 20 R_RES = 5
THETA_MAX = 20
THETA_RES = 5
PHI_MAX = 20
PHI_RES = 5
EŞİK = 1
# blynk anahtarlama için değişkenler
on = "[u'1']"
Walabot sınıfı:
tanım _init_(kendi):
self.wlbt = WalabotAPI self.wlbt. Init() self.wlbt. SetSettingsFolder() self.isConnected = Yanlış self.isTargets = Yanlış
def blynkConfig(self):
load_defaults = defaults.get_val() if str(load_defaults) == açık: 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 = sayıExtract(R_MAX) print("R max =", R_MAX)
R_MIN = Rmin.get_val()
R_MIN = sayıExtract(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)
EŞİK = Threshold.get_val()
EŞİK = sayıExtract(EŞİK) print("Eşik =", EŞİK)
else: # blynk uygulamasından hiçbir şey gelmiyorsa, varsayılanları yükleyin SERVO_MIN = 175 # 4096'nın minimum darbe uzunluğu SERVO_MAX = 575 # 4096'nın maksimum darbe uzunluğu
# walabot varsayılan değerleri
R_MAX = 60 R_MIN = 20 R_RES = 5
THETA_MAX = 20
THETA_RES = 5
PHI_MAX = 20
PHI_RES = 5
EŞİK = 1
def connect(self): deneyin: 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.wlbt. SetArenaTheta(-THETA_MAX, THETA_MAX, THETA_RES) self.wlbt. SetArena_PHI,PHI-PHI- SetArenaR(R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold(THRESHOLD) self.wlbt. WalabotError as err: if err.code != 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' err yükselt
def start(self):
self.wlbt. Start()
def calibrate(self):
self.wlbt. StartCalibration()
def get_targets(self):
self.wlbt. Trigger() geri self.wlbt. GetSensorTargets()
def stop(self):
self.wlbt. Stop()
def bağlantıyı kes (kendi kendine):
self.wlbt. Disconnect()
tanım ana():
flag = True check = "" LCDsetup() while flag: LCD1602.write(0, 0, 'Gitar') LCD1602.write(0, 1, 'Effect Control') time.sleep(2) LCD1602.write(0, 0, 'Başlat'a basın') LCD1602.write(0, 1, 'begin') time.sleep(2) if (str(check) == on): flag = False else: check = start_button.get_val() # blynk başlatma düğmesini kontrol edin eğer (GPIO.input(18) == 0): #check footswitch flag = False
LCD1602.write(0, 0, "Tamam! Yapalım")
LCD1602.write(0, 1, ' ') wlbt = Walabot() wlbt.blynkConfig() wlbt.connect() LCD1602.clear() wlbt.isConnected değilse: LCD1602.write(0, 0, 'Bağlı Değil') else: LCD1602.write(0, 0, 'Bağlı ') time.sleep(2) wlbt.start() wlbt.calibrate() LCD1602.write(0, 0, 'Kalibrasyon…..') time.sleep(3) LCD1602.write(0, 0, 'Walabot'u Başlatma')
appcheck = start_button.app_status() işaret = Ana program için doğru # sıfırlama işareti
while flag: # efekti beklemeye almak için kullanılır (etkili bir şekilde)
if (appcheck == True): if (str(check) != on): if (GPIO.input(18) != 0): #check footswitch flag = False else: check = start_button.get_val() #check for başlat düğmesi appcheck'e basın = start_button.app_status()
Başka:
if (GPIO.input(18) != 0): #check footswitch flag = False
xdeğer = 0
yval = 0 zval = 0 ortalama = 2 gecikme Süresi = 0
hedefler = wlbt.get_targets()
len(hedefler) > 0 ise:
j aralığında (ortalama):
hedefler = wlbt.get_targets()
if len(hedefler) > 0: print(len(targets)) hedefler = hedefler[0]
print(str(targets.xPosCm))
xval += int(targets.xPosCm) yval += int(targets.yPosCm) zval += int(targets.zPosCm) time.sleep(delayTime) else: print("hedef yok") xval = xval/average
xval = numMap(xval, -60, 60, SERVO_MIN, SERVO_MAX)
xval = myRound(xval) ise xval SERVO_MAX: xval = SERVO_MAX LCD1602.write(0, 0, 'x=' + str(xval) + ' ') pwm.set_pwm(0, 0, xval)
yval = yval/ortalama
yval = numMap(yval, -60, 60, SERVO_MIN, SERVO_MAX)
yval = myRound(yval) ise yval SERVO_MAX: yval = SERVO_MAX LCD1602.write(0, 1, 'y=' + str(yval)) pwm.set_pwm(1, 0, yval)
zval = zval/ortalama
zval = numMap(zval, R_MIN, R_MAX, SERVO_MIN, SERVO_MAX)
zval = myRound(zval) ise zval SERVO_MAX: zval = SERVO_MAX LCD1602.write(8, 1, 'z=' + str(zval)) pwm.set_pwm(2, 0, zval)
Başka:
print("hedef yok") LCD1602.write(0, 0, "Kapatılıyor ") LCD1602.write(0, 1, 'Walabot ') time.sleep(3) wlbt.stop() wlbt.disconnect()
eğer _name_ == '_main_':
Doğru iken: ana()
gitar efekti.sh için
#!/bin/sh
cd /ev/pi
sudo python GuitarEffectCLI.py
Referans için RC yerel dosyasının bir kopyası
#!/bin/sh -e# # rc.local # # Bu komut dosyası her çok kullanıcılı çalışma seviyesinin sonunda yürütülür. # Başarı durumunda betiğin "0"dan veya hata durumunda başka bir # değerden çıkacağından emin olun. # # Bu betiği etkinleştirmek veya devre dışı bırakmak için sadece yürütmeyi # bit değiştirin. # # Varsayılan olarak bu komut dosyası hiçbir şey yapmaz.
# IP adresini yazdır
_IP=$(hostname -I) || true if ["$_IP"]; sonra printf "IP adresim %s\n" "$_IP" fi
./blynk-library/linux/blynk --token="belirteci buraya gelir" &
10 uyku sudo /home/pi/guitareffect.sh ve çıkış 0
Adım 27: Kullanılacak Github Depoları
Bunu Sunfounder LCD için kullanın
github.com/daveyclk/SunFounder_SensorKit_f…
Bunu servo sürücü için kullanın
github.com/daveyclk/Adafruit_Python_PCA968…
Bunu Blynk Python HTTPS Sarıcı için kullanın
github.com/daveyclk/blynkapi
Adım 28: Sonuç
Eh, bu dik bir öğrenme eğrisi oldu, ama buna çok değdi.
benim çıkarımlarım
- Python öğrenmek zorunda kaldım..as olduğu ortaya çıktı
- Raspberry Pi'deki Python ile Blynk IoT hizmeti arasında arayüz oluşturdu. Bu resmi olarak desteklenmemektedir, bu nedenle işlevleri için bazı sınırlamalar vardır. Yine de harika çalışıyor!
- Walabot'un müzikal ifade için harika olduğu ortaya çıktı. Korg SDD3000'de kullandım ama istediğiniz efekti kullanabilirsiniz.
Kendine bir şans ver. Bu gitar efektleriyle sınırlı değil, her enstrümanla her efektle kullanılabilir.
Raspberry Pi Yarışması 2017'de İkincilik
Önerilen:
Amplifikatör 2.1 için Ton Kontrolü LM358 Nasıl Yapılır: 7 Adım (Resimlerle)
Amplifikatör 2.1 için Ton Kontrolü Nasıl Yapılır LM358: Yani Youtube kanalımda birçok kişi iki amplifikatörü tek bir amplifikatörde nasıl birleştireceğini soruyor. İlk amplifikatör uydu hoparlörler için, ikinci amplifikatör ise subwoofer hoparlörler için kullanılır. Bu amplifikatör kurulum konfigürasyonu Amp olarak adlandırılabilir
Minik Bir Bas Preamp ve Efekt Kutusu: Black Ice, Electra Fuzz: 9 Adım (Resimlerle)
Küçük Bir Bas Preamp ve Efekt Kutusu: Black Ice, Electra Fuzz: Bu kılavuzda kendi bas/gitar preamplifikatörünüzü ve efekt kutunuzu nasıl yapabileceğinizi göstereceğim. Yaygın “Black Ice” veya “Electra Distortion” distorsiyon efektini “Bazz Fuss” tüy efektiyle karıştıran bir hibrit efekt kutusu yapmayı seçiyorum.
Butonlar, Raspberry Pi ve Scratch ile Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: 8 Adım (Resimlerle)
Basmalı Düğmeler, Raspberry Pi ve Scratch Kullanarak Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: Öğrencilerime PWM'nin nasıl çalıştığını açıklamanın bir yolunu bulmaya çalışıyordum, bu yüzden kendime 2 basmalı düğme kullanarak bir LED'in parlaklığını kontrol etmeye çalışma görevi verdim - bir düğme bir LED'in parlaklığını arttırır ve diğeri onu karartır. Programlamak için
ESP8266 RGB LED ŞERİT WIFI Kontrolü - NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak - RGB LED STRIP Akıllı Telefon Kontrolü: 4 Adım
ESP8266 RGB LED ŞERİT WIFI Kontrolü | NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak | RGB LED STRIP Akıllı Telefon Kontrolü: Merhaba arkadaşlar, bu eğitimde nodemcu veya esp8266'yı bir RGB LED şeridini kontrol etmek için IR uzaktan kumanda olarak nasıl kullanacağımızı öğreneceğiz ve Nodemcu wifi üzerinden akıllı telefon ile kontrol edilecek. Yani temel olarak RGB LED STRIP'i akıllı telefonunuzla kontrol edebilirsiniz
ATMega1284 Dörtlü Opamp Efekt Kutusu: 4 Adım (Resimlerle)
ATMega1284 Dörtlü Opamp Efekt Kutusu: Açık Müzik Laboratuvarlarından Arduino için Stomp Shield, gitar efekt kutusu olarak bir Arduino Uno ve dört opamp kullanır. Electrosmash Uno Pedalshield'in nasıl taşınacağını gösteren önceki talimata benzer şekilde, Open Music Labs Gitarını da taşıdım