ዝርዝር ሁኔታ:

Walabot FX - የጊታር ውጤት ቁጥጥር 28 ደረጃዎች (ከስዕሎች ጋር)
Walabot FX - የጊታር ውጤት ቁጥጥር 28 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Walabot FX - የጊታር ውጤት ቁጥጥር 28 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Walabot FX - የጊታር ውጤት ቁጥጥር 28 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Walabot FX- Guitar Effect Control. Full Demo 2024, ሀምሌ
Anonim
Walabot FX - የጊታር ውጤት ቁጥጥር
Walabot FX - የጊታር ውጤት ቁጥጥር

ግሩም ጊታር ከሚያስገኛቸው በስተቀር ምንም በመጠቀም የእርስዎን ተወዳጅ የጊታር ውጤት ይቆጣጠሩ!

ደረጃ 1: የሚያስፈልጉዎት ነገሮች

የሃርድዌር አካላት

ዋላቦት - ዋላቦት

Raspberry Pi - Raspberry Pi 3 ሞዴል ቢ

የፀሐይ መውጫ LCD1602

SunFounder PCA9685 16 Channel 12 Bit PWM Servo Driver for Arduino and Raspberry Pi

ሰርቪ (አጠቃላይ) ምንም አገናኝ የለም

9V ባትሪ ቅንጥብ

4xAA ባትሪ መያዣ

AA ባትሪዎች

ዝላይ ሽቦዎች (አጠቃላይ)

DPDT Latching Action Foot Switch

Korg SDD3000-PDL

የሶፍትዌር ስርዓተ ክወናዎች ፣ መተግበሪያዎች እና የመስመር ላይ አገልግሎቶች

Autodesk Fusion360 -

ብሊንክ -

መሣሪያዎች ወዘተ

3 ዲ አታሚ

የብረታ ብረት

ደረጃ 2: ረቂቅ

Getting Started
Getting Started

በ 3 ዲ ቦታ ውስጥ ከጊታርዎ አቀማመጥ በስተቀር ምንም ነገር በመጠቀም የሙዚቃ አገላለጽን መቆጣጠር ምን ይመስላል? ደህና ፣ አንድ ነገር ፕሮቶፕ እናድርግ እና ለማወቅ እንሞክር!

ደረጃ 3 መሠረታዊው ሀሳብ

በእውነተኛ ጊዜ ውስጥ የ 3 የውጤት መለኪያን መቆጣጠር መቻል ፈልጌ ነበር ፣ ጊታሬን እንዴት እንዳስቀመጥኩ ይህንን ለማድረግ ፈልጌ ነበር። ስለዚህ አንድ ነገር ግልፅ ነበር ፣ ጥቂት ነገሮች ያስፈልጉኝ ነበር።

  • 3 ዲ ቦታን ማየት የሚችል ዳሳሽ
  • ኩርባዎቹን ለማዞር ሰርቪስ
  • ኤልሲዲ ማሳያ
  • አንድ I2C ሰርቮ ሾፌር
  • አንድ Raspberry Pi
  • Python ን ለመማር

ደረጃ 4 ዋላቦት

በግድግዳዎች በኩል ማየት ይፈልጋሉ? በ3 -ል ቦታ ውስጥ ዕቃዎችን ይገነዘባሉ? ከክፍሉ ማዶ እየተነፈሱ ከሆነ ይሰማዎታል? ደህና ፣ ዕድለኛ ነዎት!

ዋላቦት ዝቅተኛ ኃይል ራዳርን በመጠቀም በዙሪያዎ ያለውን ቦታ ለመገንዘብ አዲስ መንገድ ነው።

ይህ ለዚህ ፕሮጀክት ቁልፍ ይሆናል ፣ በ 3 ዲ ቦታ ውስጥ የነገሮችን ካርታሳንን (X-Y-Z) መውሰድ እችላለሁ ፣ እና ፔዳውን ሳይነካው በእውነተኛ ጊዜ ውስጥ የጊታር ውጤት እንዴት እንደሚሰማው በመለወጥ እነዚያን ወደ ሰርቪስ አቀማመጥ ያዙ።

አሸነፉ።

ስለ ዋላቦት ተጨማሪ መረጃ እዚህ ይገኛል

ደረጃ 5: መጀመር

በመጀመሪያ ነገሮች ዋላቦትን ለማሽከርከር ኮምፒተር ያስፈልግዎታል ፣ ለዚህ ፕሮጀክት በ WiFi እና በአጠቃላይ ተጨማሪ ኦምፍ ምክንያት Raspberry Pi 3 (እዚህ RPi ላይ ተጠቅሷል) እጠቀማለሁ።

ነገሮችን ጥሩ እና ቀላል ለማድረግ በ NOOBS ቀድሞ የተጫነ የ 16 ጊባ ኤስዲ ካርድ ገዛሁ እና Raspian ን እንደ የእኔ ምርጫ Linux OS ለመጫን መርጫለሁ።

(Raspian ን እንዴት እንደሚጭኑ የማያውቁ ከሆኑ እባክዎን ይህንን ትንሽ ለማንበብ ትንሽ ጊዜ ይውሰዱ)

እሺ ፣ አንድ ጊዜ Raspian ን በእርስዎ RPi ላይ ሲያሄዱ ፣ ለፕሮጀክታችን ነገሮችን ለማዘጋጀት ጥቂት የማዋቀር ደረጃዎች አሉ።

ደረጃ 6 - Raspberry Pi ን ማቀናበር - 1

በመጀመሪያ የቅርብ ጊዜውን የከርነል ስሪት እያሄዱ መሆኑን ያረጋግጡ እና የትእዛዝ ዛጎል በመክፈት እና በመተየብ ዝመናዎችን ይፈትሹ

sudo apt-get ዝማኔ

sudo apt-get dist-upgrade

(ሱዶ ታክሏል ፣ የአስተዳደር ሽልማቶችን ማግኘትዎን ያረጋግጡ ፣ ለምሳሌ ነገሮች ይሰራሉ)

ይህ ለማጠናቀቅ ትንሽ ጊዜ ሊወስድ ይችላል ፣ ስለዚህ ይሂዱ እና ጥሩ ሻይ ይጠጡ።

ደረጃ 7 - Raspberry Pi ን ማቀናበር - 2

ለ RPi ዋላቦት ኤስዲኬን መጫን ያስፈልግዎታል። ከእርስዎ RPi የድር አሳሽ ወደ https://www.walabot.com/gettingstarted ይሂዱ እና የ Raspberry Pi ጫኝ ጥቅል ያውርዱ።

ከትዕዛዝ ቅርፊት:

ሲዲ ውርዶች

sudo dpkg -I walabotSDK_RasbPi.deb

ደረጃ 8 - Raspberry Pi ን ማቀናበር - 3

I2c አውቶቡስን ለመጠቀም RPi ን ማዋቀር መጀመር አለብን።

sudo apt-get install Python-smbus ን ይጫኑ

sudo apt-get install i2c-tools ን ይጫኑ

አንዴ ይህ ከተጠናቀቀ የሚከተለውን ወደ ሞጁሎች ፋይል ማከል አለብዎት

ከትዕዛዝ ቅርፊት:

sudo nano /etc /modules

በተለዩ መስመሮች ላይ እነዚህን 2 ሕብረቁምፊዎች ያክሉ

i2c-dev

i2c-bcm2708

ደረጃ 9 - Raspberry Pi ን ማቀናበር - 4

ዋላቦቱ ወቅታዊ የሆነ ትንሽ ይስባል ፣ እንዲሁም ነገሮችን ለመቆጣጠር GPIO ን እንጠቀማለን ስለዚህ እነዚህን ማዋቀር አለብን

ከትዕዛዝ ቅርፊት:

sudo nano /boot/config.txt

በፋይሉ መጨረሻ ላይ የሚከተሉትን መስመሮች ያክሉ

safe_mode_gpio = 4

max_usb_current = 1

አርፒአይ ለአምራቾች እጅግ በጣም ጥሩ መሣሪያ ነው ፣ ግን ወደ ዋላቦት ሊልከው በሚችለው በአሁኑ ጊዜ ውስን ነው። ስለዚህ ለምን ከመደበኛ 500mA ይልቅ 1Amp max የአሁኑን እንጨምራለን

ደረጃ 10 - ፓይዘን

ለምን Python? ደህና ፣ ለኮድ በጣም ቀላል ስለሆነ ፣ በፍጥነት ለመሮጥ እና ብዙ ጥሩ የፓይዘን ምሳሌዎች አሉ! ከዚህ በፊት በጭራሽ አልጠቀምበትም እና ብዙም ሳይቆይ ተነሳሁ። አሁን RPi እኛ ለምንፈልገው ተዋቅሯል ፣ ቀጣዩ ደረጃ ፓይቶን ወደ ዋላቦት ኤፒአይ ፣ ኤልሲዲ ሰርቪ በይነገጽ እንዲደርስ ማዋቀር ነው።

ደረጃ 11 ለዋላቦት

ከትዕዛዝ ቅርፊት

የሱዶ ፒፕ መጫኛ “/usr/share/walabot/python/WalabotAPI-1.0.21.zip”

ደረጃ 12 ለ Servo በይነገጽ

ከትዕዛዝ ቅርፊት

sudo apt-get install git build-important Python-dev

ሲዲ ~

git clone

cd Adafruit_Python_PCA9685

sudo python setup.py ጫን

ለምን የ servo ሾፌር መጠቀም ያስፈልገናል? ደህና ፣ ለ RPi ሁለት ምክንያቶች።

1. በ servo የተቀረፀው የአሁኑ በጣም ከፍተኛ ሊሆን ይችላል ፣ እና ያ ቁጥር እርስዎ (በእርግጥ) ካሉት የበለጠ servos ይበልጣል። ሰርቪውን ዳይሬክትን ከ RPi እየነዱ ከሆነ የኃይል አቅርቦቱን የመናድ አደጋ ያጋጥምዎታል

2. የ servos አቀማመጥን የሚቆጣጠሩት የ PWM (Pulse Width Modulation) ጊዜዎች በጣም አስፈላጊ ናቸው። አርፒአይ በእውነተኛ ሰዓት ስርዓተ ክወና የማይጠቀም እንደመሆኑ (ማቋረጦች እና የመሳሰሉት ሊኖሩ ይችላሉ) ጊዜዎቹ ትክክለኛ አይደሉም እና አገልጋዮቹን በፍርሃት እንዲንቀጠቀጡ ሊያደርግ ይችላል። ራሱን የወሰነ ሾፌር ትክክለኛ ቁጥጥርን ይፈቅዳል ፣ ግን እስከ 16 servos እንዲጨመርም ያስችላል ፣ ስለዚህ ይህ ለማስፋፋት በጣም ጥሩ ነው።

ደረጃ 13 ለ LCD

ብሊንክ
ብሊንክ

የእርስዎን RPi የድር አሳሽ ይክፈቱ

www.sunfounder.com/learn/category/ ዳሳሽ-k…

አውርድ

github.com/daveyclk/SunFounder_SensorKit_…

ከትዕዛዝ ቅርፊት:

sudo mkdir/usr/share/sunfounder

የግራፊክ አሳሹን በመጠቀም የፒቲን አቃፊውን ከዚፕ ፋይሉ ውስጥ ወደ አዲስ የፀሐይ መውጫ አቃፊ ይቅዱ

ኤልሲዲው በትክክል ምን እየሆነ እንዳለ ለተጠቃሚው ለማሳወቅ ያገለግላል። በእያንዳንዱ ሰርቪ ላይ በካርታ ላይ እስከ x ፣ y እና z እሴቶች ድረስ የማዋቀሩን ሂደት በማሳየት ላይ

ደረጃ 14 ብሊንክ

ብሊንክ
ብሊንክ
ብሊንክ
ብሊንክ

ብሊንክ ነገሮችዎን ለመቆጣጠር ብጁ መተግበሪያን እንዲፈጥሩ የሚያስችልዎ እጅግ በጣም ጥሩ የ IoT አገልግሎት ነው። በእውነቱ በቅንብሮች ውስጥ ለመደወል የዋላቦትን የርቀት መቆጣጠሪያ ለእኔ ለመስጠት ፍጹም መፍትሔ ይመስላል…

አንድ ችግር። ብሊንክ በአሁኑ ጊዜ በ Python መድረክ ፣ bugger ላይ አይደገፍም። ግን አትፍሩ! የርቀት መቆጣጠሪያን እና የርቀት ግቤትን ግብዓት የሚፈቅድ አንድ ጥሩ ትንሽ ሥራን ማግኘት ችያለሁ! ትንሽ አደገኛ ነው

የመጀመሪያው እርምጃ የብሊንክ መተግበሪያን ከሚወዱት የመተግበሪያ መደብር ማውረድ ነው

ሁለተኛ ፣ ለመለያ ይመዝገቡ

ያ አንዴ ከተጠናቀቀ መተግበሪያውን ይክፈቱ እና Raspberry Pi 3 ን እንደ ሃርድዌር በመምረጥ አዲስ ፕሮጀክት ይጀምሩ።

መተግበሪያው የመዳረሻ ማስመሰያ ይሰጥዎታል (በኮድዎ ውስጥ ለማስገባት ይህ ያስፈልግዎታል)

ያንን ካደረጉ በኋላ። በምስሎቹ ላይ እንደሚታየው መተግበሪያውን ማዘጋጀት ያስፈልግዎታል። ከዋላቦት ጋር የሚገናኘው በዚህ መንገድ ነው።

ደረጃ 15 የብላይንክ መተግበሪያን ማዋቀር

የብሊንክ መተግበሪያን በማዋቀር ላይ
የብሊንክ መተግበሪያን በማዋቀር ላይ
የብላይንክ መተግበሪያን በማዋቀር ላይ
የብላይንክ መተግበሪያን በማዋቀር ላይ
የብላይንክ መተግበሪያን በማዋቀር ላይ
የብላይንክ መተግበሪያን በማዋቀር ላይ

ደረጃ 16 - ጊዜዎን ለመቆጠብ የእኔን ፕሮጀክት ለማጥበብ ይህንን የ QR ኮድ በብላይክ መተግበሪያ መጠቀም ይችላሉ

ጊዜዎን ለመቆጠብ የእኔን ፕሮጀክት ለማጥበብ ይህንን የ QR ኮድ በብላይክ መተግበሪያ መጠቀም ይችላሉ
ጊዜዎን ለመቆጠብ የእኔን ፕሮጀክት ለማጥበብ ይህንን የ QR ኮድ በብላይክ መተግበሪያ መጠቀም ይችላሉ

እሺ አሁን መተግበሪያው ሁሉም እንደተዋቀረ Python ን እና RPi ን በይነመረብ ላይ ለማነጋገር ማዋቀር እንችላለን። አስማት

ደረጃ 17 ብሊንክን ከ Raspberry Pi ጋር ማስኬድ እና ብላይን ኤች ቲ ቲ ፒ ኤስ ን ለፓይዘን መጠቀም

በመጀመሪያ ፣ ለ Python የብሊንክ ኤችቲቲፒኤስ መጠቅለያ መጫን ያስፈልግዎታል

ከትዕዛዝ ቅርፊት:

sudo git clone

sudo pip ጫን blynkapi

በሁለተኛ ደረጃ ፣ በ RPi ላይ የብላይንክ አገልግሎትን መጫን ያስፈልግዎታል

ከትዕዛዝ ቅርፊት:

git clone

ሲዲ ብሊንክ-ቤተ-መጽሐፍት/ሊኑክስ

ሁሉንም አፅዳ

ብሌን አገልግሎትን ለማካሄድ

sudo./blynk –token = YourAuthToken

የብላይንክ አገልግሎት ጅምር መጀመሩን ለማረጋገጥ /etc/rc.local ን መለወጥ ያስፈልግዎታል

በማድረግ

sudo nano /etc/rc.local

ይህንን በመጨረሻ ያክሉ

./blynk-library/linux/blynk --token = የእኔ ማስመሰያ &

(ለማጣቀሻ በኮዱ ክፍል ውስጥ የእኔ /etc/rc.local ፋይልን መቋቋም አካትቻለሁ)

እየሰራ መሆኑን ለመሞከር በቀላሉ ይተይቡ

sudo /etc/rc.local ጅምር

የብሊንክ አገልግሎት አሁን መሮጥ አለበት

ደረጃ 18 ስክሪፕቱን በራስ -ሰር ማስጀመር

አሁን ይህ ሁሉ ተዋቅሯል እና ተዋቅሯል ፣ እና እኛ የፓይዘን ኮድ ዝግጁ ነን። የቁልፍ ሰሌዳውን እና መከታተያዎቹን ለማሰናከል ነገሮችን በራስ -ሰር እንዲሠራ ማቀናበር እንችላለን

ማድረግ ያለባቸው ጥቂት ነገሮች አሉ

የ Python ፕሮግራምን ለማጠናቀቅ አዲስ የስክሪፕት ፋይል ይፍጠሩ

sudo nano guitareffect.sh

እነዚህን መስመሮች ያክሉ

#!/ቢን/ሽ

Python /home/pi/GuitarEffectCLI.py

እሱን ማስቀመጥዎን ያረጋግጡ

በመቀጠል በመተየብ እንዲሠራ የስክሪፕቱን ፈቃድ መስጠት አለብን

ሱዶ chmod +x /home/pi/guitareffect.sh

እና በመጨረሻ ፣ እኛ ቀደም ብለን ባሰብነው /etc/rc.local ፋይል ውስጥ ይህንን ስክሪፕት ማከል አለብን።

ሱዶ ናኖ /etc/rc.local

አክል

/ቤት /pi/guitareffect.sh &

“&” ን ማካተትዎን እርግጠኛ ይሁኑ ይህ የ Python ስክሪፕት ከበስተጀርባ እንዲሠራ ያስችለዋል

ቀኝ! ያ ሁሉ ውቅሩ እና ሶፍትዌሩ የተደረደሩ ናቸው ፣ ቀጥሎ ሃርድዌርን ለማገናኘት ጊዜው ነው

ደረጃ 19 ሃርድዌር

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

የመጀመሪያው የዳቦ ሰሌዳ ምሳሌ

ደረጃ 20 - የማቀፊያ ንድፍ

የማቀፊያ ንድፍ
የማቀፊያ ንድፍ
የማቀፊያ ንድፍ
የማቀፊያ ንድፍ

ግቢው የተነደፈው እና በአስደናቂው Fusion360 ውስጥ ነው

ደረጃ 21: የሆድ መተኮስ

ጉቶች ጥይቶች
ጉቶች ጥይቶች
ጉቶች ጥይቶች
ጉቶች ጥይቶች
ጉቶች ጥይቶች
ጉቶች ጥይቶች

ደረጃ 22: የመጨረሻ ስብሰባ ጥይቶች

የመጨረሻ ስብሰባ ጥይቶች
የመጨረሻ ስብሰባ ጥይቶች
የመጨረሻ ስብሰባ ጥይቶች
የመጨረሻ ስብሰባ ጥይቶች
የመጨረሻ ስብሰባ ጥይቶች
የመጨረሻ ስብሰባ ጥይቶች

ደረጃ 23 - ዋላቦትን በቋሚነት ለማስተካከል

ዋላቦትን በቋሚነት ለማስተካከል
ዋላቦትን በቋሚነት ለማስተካከል

በቦታው ለማስተካከል ከዋላቦት ጋር የሚመጣውን የራስ ተለጣፊ የብረት ዲስክን ይጠቀሙ

ደረጃ 24 የሃርድዌር STL ፋይሎች ለ 3 ዲ ማተሚያ

ደረጃ 25 - ነገሩን ለማገናኘት መርሃግብሮች

ደረጃ 26 ኮድ

የተያያዘውን የ Python ስክሪፕት ለፕሮጀክትዎ ይጠቀሙ

ከ _future_ አስመጣ print_function ከ sys ማስመጫ መድረክ ከ os ማስመጫ ስርዓት ከቢሊንካፒ ማስመጣት ብሊንክ ማስመጣት WalabotAPI የማስመጣት ጊዜ አስመጪ RPi. GPIO እንደ GPIO

#የቦርድ ቁጥርን በመጠቀም GPIO ን ያዋቅሩ

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

#ብሊንክ ሀው ቶክ

auth_token = "የአንተ_እውነት_እስከዚህ"

# ለ servo ቁጥጥር የ PCA9685 ሞጁሉን ያስመጡ።

Adafruit_PCA9685 አስመጣ

#ኤልሲዲ ሞዱሉን ከአከባቢው ያስመጡ

ከ imp import load_source LCD1602 = load_source ('LCD1602' ፣ '/usr/share/sunfounder/Python/LCD1602.py')

# ነባሪውን አድራሻ (0x40) በመጠቀም PCA9685 ን ያስጀምሩ።

pwm = Adafruit_PCA9685. PCA9685 ()

# ብልጥ ነገሮች

ነባሪዎች = ብሊንክ (auth_token ፣ pin = "V9") start_button = Blynk (auth_token, pin = "V3") Rmax = Blynk (auth_token, pin = "V0") Rmin = Blynk (auth_token, pin = "V1") Rres = ብሊንክ (auth_token ፣ pin = “V2”)

ቴታማክስ = ብሊንክ (auth_token ፣ pin = “V4”)

ThetaRes = Blynk (auth_token ፣ pin = "V5")

PhiMax = ብሊንክ (auth_token ፣ pin = “V6”)

PhiRes = Blynk (auth_token ፣ pin = "V7")

ደፍ = ብሊንክ (auth_token ፣ pin = “V8”)

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

ServoMax = ብሊንክ (auth_token ፣ pin = “V11”)

def LCDsetup ():

LCD1602.init (0x27, 1) # init (የባሪያ አድራሻ ፣ የጀርባ ብርሃን)

def numMap (x, in_min, in_max, out_min, out_max): "" "ዋላቦትን ንባቦች ወደ ሰርቦ አቀማመጥ" "" int int ((x- in_min) * (out_max - out_min) / (in_max - in_min)) + ውጭ_ ደቂቃ)

# ጥሬውን መረጃ ወደ ተመደበው እሴት ለመጠቅለል ይህንን ይጠቀሙ

def myRound (x ፣ base = 2): int (base * round (float (x)/base)) መመለስ

#ቁጥሩ የተመለሰውን የብላይን ሕብረቁምፊ ይመሰርታል

def ቁጥር Extract (val): val = str (val) መመለስ int (ማጣሪያ (str.isdigit ፣ val))

# ድግግሞሽ ወደ 60hz ያዋቅሩ ፣ ለ servos ጥሩ።

pwm.set_pwm_freq (60)

# የ min እና ከፍተኛ servo pulse pulse ርዝመት ነባሪዎችን ያዋቅሩ

SERVO_MIN = 175 # ከ 4096 ውስጥ አነስተኛ የልብ ምት ርዝመት SERVO_MAX = 575 # ከ 4096 ውስጥ ከፍተኛው የልብ ምት ርዝመት

# walabot ነባሪ እሴቶች

R_MAX = 60 R_MIN = 20 R_RES = 5

THETA_MAX = 20

THETA_RES = 5

PHI_MAX = 20

PHI_RES = 5

THRESHOLD = 1

ለብሊንክ መቀየሪያ # ተለዋዋጮች

በርቷል = "[u'1 ']"

ዋላቦት መደብ

def _init _ (ራስን) ፦

self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = የውሸት ራስን።

def blynkConfig (ራስ):

load_defaults = defaults.get_val () str (load_defaults) == በርቷል ከሆነ: SERVO_MAX = ServoMax.get_val () SERVO_MAX = numberExtract (SERVO_MAX) ህትመት ("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) ህትመት ("R max =", R_MAX)

R_MIN = Rmin.get_val ()

R_MIN = ቁጥር Extract (R_MIN) ህትመት ("R ደቂቃ =", R_MIN)

R_RES = Rres.get_val ()

R_RES = ቁጥር Extract (R_RES) ህትመት ("R Res =", R_RES)

THETA_MAX = ThetaMax.get_val ()

THETA_MAX = numberExtract (THETA_MAX) ህትመት ("Theta Max =", THETA_MAX) THETA_RES = ThetaRes.get_val () THETA_RES = numberExtract (THETA_RES) ህትመት ("Theta Res =", THETA_RES)

PHI_MAX = PhiMax.get_val ()

PHI_MAX = ቁጥር Extract (PHI_MAX) ህትመት ("Phi Max =", PHI_MAX) PHI_RES = PhiRes.get_val () PHI_RES = numberExtract (PHI_RES) ህትመት ("Phi Res =", PHI_RES)

THRESHOLD = ደፍ.get_val ()

THRESHOLD = ቁጥር Extract (THRESHOLD) ህትመት ("ደፍ =", THRESHOLD)

ሌላ: # ከብርጭ መተግበሪያ ምንም ካልሆነ ፣ ነባሪዎቹን ይጫኑ SERVO_MIN = 175 # ከ 4096 SERVO_MAX = 575 # ከፍተኛ የልብ ምት ርዝመት ከ 4096

# 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.wlbt. ConnectAny () self.isConnected = እውነተኛ self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) #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. SetArenaR (R_MIN ፣ R_MAX ፣ R_RES) self.wlbt. SetThreshold (THRESHOLD) ከራስ.wlbt. ዋላቦት ስህተት እንደ ስህተት ከስህተት ኮድ! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' ስህተትን ከፍ ያድርጉ

def ጅምር (ራስን):

self.wlbt. Sartart ()

def calibrate (ራስን):

self.wlbt. StartCalibration ()

def get_targets (ራስን) ፦

self.wlbt. Trigger () ተመለስ self.wlbt. GetSensorTargets ()

def stop (ራስን) ፦

self.wlbt. Stop ()

def disconnect (ራስን) ፦

self.wlbt. አገናኝ ()

def ዋና ():

ባንዲራ = እውነተኛ ቼክ = "" LCDsetup () ባንዲራ ሳለ LCD1602. ጻፍ (0 ፣ 0 ፣ 'ጊታር') LCD1602. ጻፍ (0 ፣ 1 ፣ 'የውጤት መቆጣጠሪያ') ጊዜ። እንቅልፍ (2) LCD1602. ጻፍ (0, 0 ፣ 'ወደ ጀምር ይጫኑ') LCD1602. ጻፍ (0 ፣ 1 ፣ 'ጀምር') ጊዜ.sleep (2) ከሆነ (str (ቼክ) == በርቷል): ባንዲራ = ሌላ ሐሰት: ቼክ = start_button.get_val () # ብሌንክ የመነሻ ቁልፍን ይጫኑ (GPIO.input (18) == 0): #የ footswitch ባንዲራ = ውሸት ይፈትሹ

LCD1602. ይፃፉ (0 ፣ 0 ፣ “እሺ! እናድርገው”)

LCD1602. ጻፍ (0 ፣ 1 ፣”) wlbt = Walabot () wlbt.blynkConfig () wlbt.connect () LCD1602.clear () ካልሆነ wlbt.is ተገናኝቷል LCD1602. ጻፍ (0 ፣ 0 ፣‘አልተገናኘም’) ሌላ: LCD1602. ጻፍ (0 ፣ 0 ፣ 'ተገናኝቷል') time.sleep (2) wlbt.start () wlbt.calibrate () LCD1602. ጻፍ (0 ፣ 0 ፣ 'Calibrating…..') time.sleep (3) LCD1602. ይፃፉ (0 ፣ 0 ፣ ‘ዋላቦት መጀመር’)

appcheck = start_button.app_status () flag = እውነተኛ # ዳግም ማስጀመር ባንዲራ ለዋና ፕሮግ

ባንዲራ ሳለ # በተጠባባቂ ውስጥ ተግባራዊ ለማድረግ (ውጤታማ)

ከሆነ (appcheck == እውነት): ከሆነ (str (ቼክ)! = በርቷል): ከሆነ (GPIO.input (18)! = 0): #የ footswitch ባንዲራ ይፈትሹ = ሌላ ሐሰት: ይፈትሹ = start_button.get_val () #ይፈትሹ ለ የመነሻ ቁልፍን ይጫኑ appcheck = start_button.app_status ()

ሌላ

ከሆነ (GPIO.input (18)! = 0): #የ footswitch ባንዲራ ቼክ = ውሸት

xval = 0

yval = 0 zval = 0 አማካይ = 2 መዘግየት ጊዜ = 0

ዒላማዎች = wlbt.get_targets ()

ሌን (ዒላማዎች)> 0 ከሆነ

በ j ክልል ውስጥ (አማካይ)

ዒላማዎች = wlbt.get_targets ()

ሌን (ኢላማዎች)> 0 ከሆነ: ማተም (ሌን (ኢላማዎች)) ኢላማዎች = ዒላማዎች [0]

ማተም (str (target.xPosCm))

xval += int (target.xPosCm) yval += int (ዒላማዎች

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

xval = myRound (xval) ከሆነ xval SERVO_MAX: xval = SERVO_MAX LCD1602. ጻፍ (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. ጻፍ (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. ጻፍ (8 ፣ 1 ፣ 'z =' + str (zval)) pwm.set_pwm (2 ፣ 0 ፣ zval)

ሌላ

ህትመት ("ምንም ዒላማዎች የሉም") LCD1602. ይፃፉ (0 ፣ 0 ፣ "መዘጋት") LCD1602. ጻፍ (0 ፣ 1 ፣ 'The Walabot') time.sleep (3) wlbt.stop () wlbt.disconnect ()

_name_ == '_main_' ከሆነ ፦

እውነት ሲሆን ዋና ()

ለ guitareffect.sh

#!/ቢን/ሽ

ሲዲ /ቤት /ፒ

sudo python GuitarEffectCLI.py

ለማጣቀሻ የ RC አካባቢያዊ ፋይል ቅጂ

#!/bin/sh -e # # rc.local # # ይህ ስክሪፕት በእያንዳንዱ ባለብዙ ሩጫ ደረጃ መጨረሻ ላይ ይፈጸማል። # ስክሪፕቱ በስኬት ወይም በሌላ በስህተት ላይ # እሴት እንደሚወጣ ያረጋግጡ። # # ይህንን ስክሪፕት ለማንቃት ወይም ለማሰናከል የአፈፃፀሙን # ቢት ይለውጡ። # # በነባሪ ይህ ስክሪፕት ምንም አያደርግም።

# የአይፒ አድራሻውን ያትሙ

_IP = $ (የአስተናጋጅ ስም -አ) || እውነት ከሆነ ["$ _IP"]; ከዚያም printf "የእኔ አይፒ አድራሻ %s / n" "$ _IP" fi ነው

./blynk-library/linux/blynk --token = "እርስዎ ማስመሰያ ወደዚህ ይሄዳል" &

መተኛት 10 sudo /home/pi/guitareffect.sh & መውጣት 0

ደረጃ 27 - ለመጠቀም Github ማከማቻዎች

ይህንን ለ Sunfounder LCD ይጠቀሙ

github.com/daveyclk/SunFounder_SensorKit_f…

ይህንን ለ servo ሾፌር ይጠቀሙ

github.com/daveyclk/Afarta_Python_PCA968…

ይህንን ለ Blynk Python HTTPS Wrapper ይጠቀሙ

github.com/daveyclk/blynkapi

ደረጃ 28 መደምደሚያ

Image
Image
Walabot FX- Guitar Effect Control. Full Demo
Walabot FX- Guitar Effect Control. Full Demo
መደምደሚያ
መደምደሚያ
መደምደሚያ
መደምደሚያ

ደህና ይህ ቁልቁል የመማሪያ ኩርባ ነው ፣ ግን በጣም ዋጋ ያለው ነው።

የእኔ የመውሰጃ መንገዶች ናቸው

  • Python ን መማር ነበረብኝ
  • በ Raspberry Pi ላይ Python ን ከብሊንክ አይዮት አገልግሎት ጋር አገናኘ። ይህ በይፋ አይደገፍም ስለዚህ ለእሱ ተግባራት አንዳንድ ገደቦች አሉ። አሁንም ቢሆን ጥሩ ይሰራል!
  • ዋላቦት ለሙዚቃ መግለጫ በጣም ጥሩ ነው። እኔ በ Korg SDD3000 ላይ ተጠቀምኩበት ፣ ግን የሚወዱትን ማንኛውንም ውጤት መጠቀም ይችላሉ

እራስዎ ይሂዱ። ይህ በጊታር ውጤቶች ብቻ የተገደበ አይደለም ፣ እኔ በማንኛውም ውጤት በማንኛውም መሣሪያ መጠቀም እችላለሁ።

Raspberry Pi ውድድር 2017
Raspberry Pi ውድድር 2017
Raspberry Pi ውድድር 2017
Raspberry Pi ውድድር 2017

በ Raspberry Pi ውድድር 2017 ውስጥ ሯጭ

የሚመከር: