Inhaltsverzeichnis:

Walabot FX - Gitarreneffektsteuerung - Gunook
Walabot FX - Gitarreneffektsteuerung - Gunook

Video: Walabot FX - Gitarreneffektsteuerung - Gunook

Video: Walabot FX - Gitarreneffektsteuerung - Gunook
Video: Walabot FX- Guitar Effect Control. Full Demo 2024, Juli
Anonim
Walabot FX - Effektsteuerung für Gitarren
Walabot FX - Effektsteuerung für Gitarren

Steuern Sie Ihren Lieblingsgitarreneffekt mit nichts als fantastischen Gitarrenposen!

Schritt 1: Dinge, die Sie brauchen

Hardware-Komponenten

Walabot - Walabot

Raspberry Pi - Raspberry Pi 3 Modell B

Sunfounder LCD1602

SunFounder PCA9685 16 Kanal 12 Bit PWM Servotreiber für Arduino und Raspberry Pi

Servo (generisch) Kein Link

9V Batterieklemme

4xAA Batteriehalter

AA-Batterien

Überbrückungsdrähte (allgemein)

DPDT Fußschalter mit Rastfunktion

Korg SDD3000-PDL

Softwarebetriebssysteme, Apps und Onlinedienste

Autodesk Fusion360 -

Blynk -

Werkzeuge usw

3D Drucker

Lötkolben

Schritt 2: Zusammenfassung

Getting Started
Getting Started

Wie wäre es, den musikalischen Ausdruck nur mit der Position Ihrer Gitarre im 3D-Raum zu steuern? Nun, lassen Sie uns etwas prototypieren und es herausfinden!

Schritt 3: Die Grundidee

Ich wollte 3 Effektparameter in Echtzeit steuern können, ich wollte dies tun, indem ich meine Gitarre positionierte. Eines war also klar, ich würde ein paar Dinge brauchen.

  • Ein Sensor, der den 3D-Raum sehen kann
  • Servos zum Drehen der Knöpfe
  • Ein LCD-Display
  • Ein I2C-Servotreiber
  • Ein Himbeer-Pi
  • Python lernen

Schritt 4: Walabot

Möchten Sie durch Wände sehen? Objekte im 3D-Raum wahrnehmen? Spüren Sie, ob Sie von der anderen Seite des Raumes atmen? Nun, Sie haben Glück!

Der Walabot ist eine völlig neue Möglichkeit, den Raum um Sie herum mit Low-Power-Radar zu erfassen.

Dies würde der Schlüssel zu diesem Projekt sein, ich würde in der Lage sein, die kartesischen (X-Y-Z) Koordinaten von Objekten im 3D-Raum zu nehmen und diese Servopositionen zuzuordnen, die den Klang eines Gitarreneffekts in Echtzeit ändern, ohne das Pedal zu berühren.

Gewinnen.

Weitere Informationen zum Walabot finden Sie hier

Schritt 5: Erste Schritte

Das Wichtigste zuerst, Sie benötigen einen Computer, um den Walabot zu fahren. Für dieses Projekt verwende ich einen Raspberry Pi 3 (hier bei RPi genannt) aufgrund des eingebauten WiFi und des allgemeinen zusätzlichen Schwunges

Ich habe eine 16-GB-SD-Karte mit vorinstalliertem NOOBS gekauft, um die Dinge schön und einfach zu halten, und habe mich dafür entschieden, Raspian als mein Linux-Betriebssystem meiner Wahl zu installieren

(Wenn Sie mit der Installation von Raspian nicht vertraut sind, nehmen Sie sich bitte einen Moment Zeit, um dies ein wenig zu lesen)

OK, sobald Sie Raspian auf Ihrem RPi zum Laufen gebracht haben, müssen Sie einige Konfigurationsschritte ausführen, um die Dinge für unser Projekt vorzubereiten

Schritt 6: Einrichten des Raspberry Pi - 1

Stellen Sie zunächst sicher, dass Sie die neueste Kernel-Version ausführen und suchen Sie nach Updates, indem Sie eine Befehlsshell öffnen und eingeben

sudo apt-get update

sudo apt-get dist-upgrade

(Sudo wird hinzugefügt, um sicherzustellen, dass Sie über Administratorrechte verfügen, z. B. Dinge funktionieren)

Dies kann eine Weile dauern, also gehen Sie und trinken Sie eine schöne Tasse Tee.

Schritt 7: Einrichten des Raspberry Pi - 2

Sie müssen das Walabot SDK für RPi installieren. Rufen Sie in Ihrem RPi-Webbrowser https://www.walabot.com/gettingstarted auf und laden Sie das Raspberry Pi-Installationspaket herunter.

Von einer Befehlsshell:

CD-Downloads

sudo dpkg -I walabotSDK_RasbPi.deb

Schritt 8: Einrichten des Raspberry Pi - 3

Wir müssen mit der Konfiguration des RPi beginnen, um den i2c-Bus zu verwenden. Aus einer Befehlsshell:

sudo apt-get install python-smbus

sudo apt-get install i2c-tools

Sobald dies erledigt ist, müssen Sie der Moduldatei Folgendes hinzufügen

Von einer Befehlsshell:

sudo nano /etc/modules

füge diese 2 Strings in separaten Zeilen hinzu:

i2c-dev

i2c-bcm2708

Schritt 9: Einrichten des Raspberry Pi - 4

Der Walabot zieht ziemlich viel Strom, und wir werden auch GPIOs verwenden, um Dinge zu steuern, also müssen wir diese einrichten

Von einer Befehlsshell:

sudo nano /boot/config.txt

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

safe_mode_gpio=4

max_usb_current=1

Das RPi ist ein ausgezeichnetes Werkzeug für Hersteller, aber es kann nur begrenzt an den Walabot gesendet werden. Aus diesem Grund fügen wir einen maximalen Strom von 1 Ampere anstelle der üblicheren 500 mA hinzu

Schritt 10: Python

Warum Python? Nun, da es super einfach zu programmieren ist, schnell zum Laufen kommt und es viele gute Python-Beispiele gibt! Ich hatte es noch nie benutzt und war in kürzester Zeit einsatzbereit. Jetzt ist das RPi für das konfiguriert, was wir wollen. Der nächste Schritt besteht darin, Python so zu konfigurieren, dass es Zugriff auf die Walabot-API und die LCD-Servo-Schnittstellen hat

Schritt 11: Für den Walabot

Aus einer Befehlsshell

Sudo pip install „/usr/share/walabot/python/WalabotAPI-1.0.21.zip“

Schritt 12: Für die Servoschnittstelle

Aus einer Befehlsshell

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

cd ~

Git-Klon

cd Adafruit_Python_PCA9685

sudo python setup.py installieren

Warum brauchen wir einen Servotreiber? Nun, für ein RPi gibt es ein paar Gründe.

1. Die Stromaufnahme eines Servos kann sehr hoch sein, und diese Zahl wird größer, je mehr Servos Sie haben (natürlich). Wenn Sie das Servo direkt von einem RPi aus antreiben, laufen Sie Gefahr, die Stromversorgung zu sprengen

2. Timings der PWM (Pulsweitenmodulation), die die Servoposition steuern, sind sehr wichtig. Da das RPi kein Echtzeit-Betriebssystem verwendet (es kann zu Interrupts und dergleichen kommen), sind die Timings nicht genau und können die Servos nervös zucken lassen. Ein dedizierter Treiber ermöglicht eine genaue Steuerung, ermöglicht aber auch das Hinzufügen von bis zu 16 Servos, sodass dies hervorragend für Erweiterungen geeignet ist.

Schritt 13: Für das LCD

Blink
Blink

öffne deinen RPi-Webbrowser

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

herunterladen

github.com/daveyclk/SunFounder_SensorKit_…

Von einer Befehlsshell:

sudo mkdir /usr/share/sunfounder

Kopieren Sie mit dem grafischen Explorer den Python-Ordner aus der Zip-Datei in Ihren neuen sunfounder-Ordner

Das LCD wird verwendet, um dem Benutzer mitzuteilen, was genau vor sich geht. Zeigt den Konfigurationsprozess bis hin zur Abbildung der x-, y- und z-Werte auf jedes Servo

Schritt 14: Blynk

Blink
Blink
Blink
Blink

Blynk ist ein brillanter IoT-Dienst, mit dem Sie eine benutzerdefinierte App erstellen können, um Ihre Daten zu kontrollieren. Es schien die perfekte Lösung zu sein, mir die Fernbedienung des Walabots zu geben, um wirklich die Einstellungen zu wählen…

Ein Problem. Blynk wird derzeit nicht auf der Python-Plattform unterstützt, Bugger. Aber keine Angst! Ich konnte einen netten kleinen Workaround finden, der die Fernbedienung und die Eingabe von Parametern aus der Ferne ermöglicht! es ist ein bisschen hackig

Der erste Schritt besteht darin, die Blynk-App von Ihrem bevorzugten App-Store herunterzuladen

Zweitens, melden Sie sich für ein Konto an

Sobald dies erledigt ist, öffnen Sie die App und starten Sie ein neues Projekt, wobei Sie Raspberry Pi 3 als Hardware auswählen.

Die App weist Ihnen ein Zugriffstoken zu (Sie benötigen dieses, um Ihren Code einzugeben)

Sobald Sie das getan haben. Sie müssen die App wie in den Bildern gezeigt einrichten. Auf diese Weise wird es mit dem Walabot verbunden.

Schritt 15: Konfigurieren der Blynk-App

Konfigurieren der Blyn-App
Konfigurieren der Blyn-App
Konfigurieren der Blyn-App
Konfigurieren der Blyn-App
Konfigurieren der Blyn-App
Konfigurieren der Blyn-App

Schritt 16: Sie können diesen QR-Code mit der Blynk-App verwenden, um mein Projekt zu klonen, um Zeit zu sparen

Sie können diesen QR-Code mit der Blynk-App verwenden, um mein Projekt zu klonen, um Zeit zu sparen
Sie können diesen QR-Code mit der Blynk-App verwenden, um mein Projekt zu klonen, um Zeit zu sparen

OK Nachdem die App nun eingerichtet ist, können wir Python und das RPi so konfigurieren, dass sie über das Internet mit ihr kommunizieren. Magie

Schritt 17: Blynk mit dem Raspberry Pi ausführen und Blynk HTTPS für Python verwenden

Zuerst müssen Sie den Blynk HTTPS-Wrapper für Python installieren

Von einer Befehlsshell:

sudo git-Klon

sudo pip installieren blynkapi

Zweitens müssen Sie den Blynk-Dienst auf dem RPi installieren

Von einer Befehlsshell:

git-Klon

cd blynk-library/linux

alles sauber machen

um den blynk-Dienst zu betreiben

sudo./blynk --token=IhrAuthToken

Um sicherzustellen, dass der Blynk-Dienst beim Start ausgeführt wird, müssen Sie die Datei /etc/rc.local. ändern

indem du tust

sudo nano /etc/rc.local

füge das am Ende hinzu

./blynk-library/linux/blynk --token=mein Token &

(Ich habe eine Kopie meiner /etc/rc.local-Datei als Referenz in den Codeabschnitt eingefügt)

Um zu testen, ob es funktioniert, geben Sie einfach ein

sudo /etc/rc.local start

Der Blynk-Dienst sollte jetzt laufen

Schritt 18: Automatisches Ausführen des Skripts

Nun, da dies alles eingerichtet und konfiguriert ist, und wir haben den Python-Code fertig. Wir können die Dinge so einstellen, dass sie automatisch ausgeführt werden, damit wir die Tastatur und die Monitore ablegen können

Es gibt ein paar Dinge zu tun

Erstellen Sie eine neue Skriptdatei, um das Python-Programm auszuführen

sudo nano guitareffect.sh

füge diese Zeilen hinzu

#!/bin/sh

python /home/pi/GuitarEffectCLI.py

unbedingt speichern

Als nächstes müssen wir dem Skript die Berechtigung zum Ausführen durch Eingabe erteilen

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

Und schließlich müssen wir dieses Skript der Datei /etc/rc.local hinzufügen, an der wir zuvor herumgebastelt haben.

Sudo nano /etc/rc.local

Hinzufügen

/home/pi/guitareffect.sh &

Stellen Sie sicher, dass Sie das "&" einfügen, damit das Python-Skript im Hintergrund ausgeführt werden kann

Rechts! Das ist die ganze Konfiguration und Software sortiert, als nächstes wird die Hardware verkabelt

Schritt 19: Die Hardware

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

Erster Breadboard-Prototyp

Schritt 20: Gehäusedesign

Gehäusedesign
Gehäusedesign
Gehäusedesign
Gehäusedesign

Das Gehäuse wurde im fantastischen Fusion360 entworfen und gerendert

Schritt 21: Guts Shots

Bauchschüsse
Bauchschüsse
Bauchschüsse
Bauchschüsse
Bauchschüsse
Bauchschüsse

Schritt 22: Endmontage-Aufnahmen

Endmontage-Aufnahmen
Endmontage-Aufnahmen
Endmontage-Aufnahmen
Endmontage-Aufnahmen
Endmontage-Aufnahmen
Endmontage-Aufnahmen

Schritt 23: Um den Walabot am Ständer zu befestigen

So befestigen Sie den Walabot am Ständer
So befestigen Sie den Walabot am Ständer

Verwenden Sie die selbstklebende Metallscheibe, die mit dem Walabot geliefert wird, um es zu befestigen

Schritt 24: Hardware-STL-Dateien für den 3D-Druck

Schritt 25: Schaltpläne zum Verdrahten des Dings

Schritt 26: Code

Verwenden Sie das angehängte Python-Skript für Ihr Projekt

from _future_ import print_functionfrom sys import platform from os import system from blynkapi import Blynk import WalabotAPI import time import RPi. GPIO als GPIO

#GPIO mit Board-Nummerierung einrichten

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

#blynk-Authentifizierungstoken

auth_token = "Ihr_auth_token_here"

# Importieren Sie das PCA9685-Modul für die Servosteuerung.

Adafruit_PCA9685 importieren

#LCD-Modul von Standort importieren

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

# Initialisieren Sie den PCA9685 mit der Standardadresse (0x40).

pwm = Adafruit_PCA9685. PCA9685()

# Blynk-Objekte

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

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

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

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

def LCDsetup():

LCD1602.init(0x27, 1) # init(Slave-Adresse, Hintergrundbeleuchtung)

def numMap(x, in_min, in_max, out_min, out_max): """ wird verwendet, um die Walabot-Messwerte auf die Servoposition abzubilden """ return int((x- in_min) * (out_max - out_min) / (in_max - in_min) + out_min)

# verwenden Sie dies, um die Rohdaten auf den zugewiesenen Wert aufzurunden

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

#extrahiert die Zahl aus dem zurückgegebenen blynk-String

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

# Frequenz auf 60 Hz einstellen, gut für Servos.

pwm.set_pwm_freq(60)

# Konfigurieren Sie die Standardeinstellungen für die minimale und maximale Servoimpulslänge

SERVO_MIN = 175 # Min. Impulslänge von 4096 SERVO_MAX = 575 # Max. Impulslänge von 4096

# Walabot-Standardwerte

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

SCHWELLENWERT = 1

# Variablen für Blinkwechsel

on = "[u'1']"

Klasse Walabot:

def _init_(selbst):

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

def blynkConfig(self):

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 = ZahlExtract(SERVO_MIN) print("Servo MIN =", SERVO_MIN) R_MAX = Rmax.get_val() R_MAX = ZahlExtract(R_MAX) print("R max =", R_MAX)

R_MIN = Rmin.get_val()

R_MIN = ZahlExtract(R_MIN) print("R Min =", R_MIN)

R_RES = Rres.get_val()

R_RES = ZahlExtract(R_RES) print("R Res =", R_RES)

THETA_MAX = ThetaMax.get_val()

THETA_MAX = ZahlExtract(THETA_MAX) print("Theta Max =", THETA_MAX) THETA_RES = ThetaRes.get_val() THETA_RES = ZahlExtract(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)

SCHWELLENWERT = Schwellenwert.get_val()

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

Sonst: # wenn nichts von blynk app, Standardwerte laden SERVO_MIN = 175 # Min Pulslänge von 4096 SERVO_MAX = 575 # Max Pulslänge von 4096

# Walabot-Standardwerte

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

SCHWELLENWERT = 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. 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. SetArenaPhi(-PHI_MAX, PHI_MAX, PHI_RES) self.wlbt. SetArenaPhi(-PHI_MAX, PHI_MAX, PHI_RES) SetArenaR(R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold(THRESHOLD) außer self.wlbt. WalabotError as err: if err.code != 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' raise err

def start(selbst):

self.wlbt. Start()

def kalibrieren (selbst):

self.wlbt. StartCalibration()

def get_targets(self):

self.wlbt. Trigger() gibt self.wlbt. GetSensorTargets() zurück

def stop(selbst):

self.wlbt. Stop()

def trennen (selbst):

self.wlbt. Disconnect()

def main():

Flag = True check = "" LCDsetup() while Flag: LCD1602.write(0, 0, 'Gitarre') LCD1602.write(0, 1, 'Effektsteuerung') time.sleep(2) LCD1602.write(0, 0, 'Starte drücken bis ') LCD1602.write(0, 1, 'begin') time.sleep(2) if (str(check) == on): flag = False else: check = start_button.get_val() # check for blynk start button press if (GPIO.input(18) == 0): #check footswitch flag = False

LCD1602.write(0, 0, "OK! lass es uns machen")

LCD1602.write(0, 1, ' ') wlbt = Walabot() wlbt.blynkConfig() wlbt.connect() LCD1602.clear() wenn nicht wlbt.isConnected: LCD1602.write(0, 0, 'Nicht verbunden') sonst: LCD1602.write(0, 0, 'Verbunden') time.sleep(2) wlbt.start() wlbt.calibrate() LCD1602.write(0, 0, 'Kalibrieren…..') time.sleep(3) LCD1602.write(0, 0, 'Walabot wird gestartet')

appcheck = start_button.app_status() Flag = True # Reset-Flag für Hauptprogramm

while-Flag: # wird verwendet, um den Effekt (effektiv) in den Standby-Modus zu versetzen

if (appcheck == True): if (str(check) != on): if (GPIO.input(18) != 0): #check footswitch flag = False else: check = start_button.get_val() #check for Startknopf drücken appcheck = start_button.app_status()

anders:

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

xval = 0

yval = 0 zval = 0 Durchschnitt = 2 delayTime = 0

ziele = wlbt.get_targets()

if len(Ziele) > 0:

für j im Bereich (Durchschnitt):

ziele = wlbt.get_targets()

if len(targets) > 0: print(len(targets)) ziele = ziele[0]

print(str(targets.xPosCm))

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

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

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

yval = yval/Durchschnitt

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

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

zval = zval/Durchschnitt

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

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

anders:

print("keine Ziele") LCD1602.write(0, 0, "Herunterfahren") LCD1602.write(0, 1, 'The Walabot') time.sleep(3) wlbt.stop() wlbt.disconnect()

if _name_ == '_main_':

while True: main()

für den Gitarreneffekt.sh

#!/bin/sh

cd /home/pi

sudo python GuitarEffectCLI.py

Eine Kopie der lokalen RC-Datei als Referenz

#!/bin/sh -e# # rc.local # # Dieses Skript wird am Ende jedes Multiuser-Runlevels ausgeführt. # Stellen Sie sicher, dass das Skript bei Erfolg "0" verlässt oder bei einem anderen # Wert bei Fehlern. # # Um dieses Skript zu aktivieren oder zu deaktivieren, ändern Sie einfach die # Ausführungsbits. # # Standardmäßig macht dieses Skript nichts.

# Drucken Sie die IP-Adresse

_IP=$(Hostname -I) || true if ["$_IP"]; then printf "Meine IP-Adresse ist %s\n" "$_IP" fi

./blynk-library/linux/blynk --token="Ihr Token geht hierher" &

schlafe 10 sudo /home/pi/guitareffect.sh & beende 0

Schritt 27: Zu verwendende Github-Repositorys

Verwenden Sie dies für das Sunfounder-LCD

github.com/daveyclk/SunFounder_SensorKit_f…

Verwenden Sie dies für den Servotreiber

github.com/daveyclk/Adafruit_Python_PCA968…

Verwenden Sie dies für den Blynk Python HTTPS Wrapper

github.com/daveyclk/blynkapi

Schritt 28: Fazit

Image
Image
Walabot FX- Guitar Effect Control. Full Demo
Walabot FX- Guitar Effect Control. Full Demo
Abschluss
Abschluss
Abschluss
Abschluss

Nun, das war eine steile Lernkurve, aber es hat sich so gelohnt.

Meine Mitbringsel sind

  • Ich musste Python lernen..es stellte sich heraus, dass es ein Ass ist
  • Schnittstelle von Python auf dem Raspberry Pi mit dem Blynk IoT-Dienst. Dies wird nicht offiziell unterstützt, daher sind seine Funktionen eingeschränkt. Funktioniert aber trotzdem super!
  • Es stellt sich heraus, dass der Walabot großartig für den musikalischen Ausdruck ist. Ich habe es auf einem Korg SDD3000 verwendet, aber Sie können jeden beliebigen Effekt verwenden

Probieren Sie es selbst aus. Dies ist nicht auf Gitarreneffekte beschränkt, ich kann mit jedem Instrument mit jedem Effekt verwendet werden.

Raspberry Pi Wettbewerb 2017
Raspberry Pi Wettbewerb 2017
Raspberry Pi Wettbewerb 2017
Raspberry Pi Wettbewerb 2017

Zweiter Platz beim Raspberry Pi Contest 2017