ዝርዝር ሁኔታ:
- ደረጃ 1: የሚያስፈልጉዎት ነገሮች
- ደረጃ 2: ረቂቅ
- ደረጃ 3 መሠረታዊው ሀሳብ
- ደረጃ 4 ዋላቦት
- ደረጃ 5: መጀመር
- ደረጃ 6 - Raspberry Pi ን ማቀናበር - 1
- ደረጃ 7 - Raspberry Pi ን ማቀናበር - 2
- ደረጃ 8 - Raspberry Pi ን ማቀናበር - 3
- ደረጃ 9 - Raspberry Pi ን ማቀናበር - 4
- ደረጃ 10 - ፓይዘን
- ደረጃ 11 ለዋላቦት
- ደረጃ 12 ለ Servo በይነገጽ
- ደረጃ 13 ለ LCD
- ደረጃ 14 ብሊንክ
- ደረጃ 15 የብላይንክ መተግበሪያን ማዋቀር
- ደረጃ 16 - ጊዜዎን ለመቆጠብ የእኔን ፕሮጀክት ለማጥበብ ይህንን የ QR ኮድ በብላይክ መተግበሪያ መጠቀም ይችላሉ
- ደረጃ 17 ብሊንክን ከ Raspberry Pi ጋር ማስኬድ እና ብላይን ኤች ቲ ቲ ፒ ኤስ ን ለፓይዘን መጠቀም
- ደረጃ 18 ስክሪፕቱን በራስ -ሰር ማስጀመር
- ደረጃ 19 ሃርድዌር
- ደረጃ 20 - የማቀፊያ ንድፍ
- ደረጃ 21: የሆድ መተኮስ
- ደረጃ 22: የመጨረሻ ስብሰባ ጥይቶች
- ደረጃ 23 - ዋላቦትን በቋሚነት ለማስተካከል
- ደረጃ 24 የሃርድዌር STL ፋይሎች ለ 3 ዲ ማተሚያ
- ደረጃ 25 - ነገሩን ለማገናኘት መርሃግብሮች
- ደረጃ 26 ኮድ
- ደረጃ 27 - ለመጠቀም Github ማከማቻዎች
- ደረጃ 28 መደምደሚያ
ቪዲዮ: Walabot FX - የጊታር ውጤት ቁጥጥር 28 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:34
ግሩም ጊታር ከሚያስገኛቸው በስተቀር ምንም በመጠቀም የእርስዎን ተወዳጅ የጊታር ውጤት ይቆጣጠሩ!
ደረጃ 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: ረቂቅ
በ 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 ኮድ በብላይክ መተግበሪያ መጠቀም ይችላሉ
እሺ አሁን መተግበሪያው ሁሉም እንደተዋቀረ 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 ሃርድዌር
የመጀመሪያው የዳቦ ሰሌዳ ምሳሌ
ደረጃ 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 መደምደሚያ
ደህና ይህ ቁልቁል የመማሪያ ኩርባ ነው ፣ ግን በጣም ዋጋ ያለው ነው።
የእኔ የመውሰጃ መንገዶች ናቸው
- Python ን መማር ነበረብኝ
- በ Raspberry Pi ላይ Python ን ከብሊንክ አይዮት አገልግሎት ጋር አገናኘ። ይህ በይፋ አይደገፍም ስለዚህ ለእሱ ተግባራት አንዳንድ ገደቦች አሉ። አሁንም ቢሆን ጥሩ ይሰራል!
- ዋላቦት ለሙዚቃ መግለጫ በጣም ጥሩ ነው። እኔ በ Korg SDD3000 ላይ ተጠቀምኩበት ፣ ግን የሚወዱትን ማንኛውንም ውጤት መጠቀም ይችላሉ
እራስዎ ይሂዱ። ይህ በጊታር ውጤቶች ብቻ የተገደበ አይደለም ፣ እኔ በማንኛውም ውጤት በማንኛውም መሣሪያ መጠቀም እችላለሁ።
በ Raspberry Pi ውድድር 2017 ውስጥ ሯጭ
የሚመከር:
Logitech 3D Extreme Pro Hall ውጤት ውጤት ዳሳሽ መለወጥ: 9 ደረጃዎች
Logitech 3D Extreme Pro Hall Effect Sensor ልወጣ - በእኔ ጆይስቲክ ላይ ያለው የመሪ መቆጣጠሪያ እየወጣ ነበር። ማሰሮዎቹን ለይቼ ለማፅዳት ሞከርኩ ፣ ግን በእርግጥ አልረዳኝም። ስለዚህ ምትክ ማሰሮዎችን መፈለግ ጀመርኩ እና ከብዙ ዓመታት በፊት በተጠቀሱት ጥቂት የተለያዩ ድርጣቢያዎች ላይ ተሰናከልኩ
ለአስፈፃሚው ፓር 3 የጎልፍ ጨዋታ አውቶማቲክ ውጤት -12 ደረጃዎች (ከስዕሎች ጋር)
ለአስፈፃሚው ፓር 3 የጎልፍ ጨዋታ አውቶማቲክ ውጤት - ተንቀሳቃሽ እና በውስጥም በውጭም ሊጫወት የሚችል አዝናኝ የማስቀመጫ ጨዋታ በመገንባት ላይ በቅርቡ አንድ አስተማሪ ለጥፌያለሁ። እሱ “አስፈፃሚ ፓር 3 የጎልፍ ጨዋታ” ይባላል። እያንዳንዱ ተጫዋች ለ 9 “ቀዳዳዎች” ውጤት ለማስመዝገብ የተባዛ ውጤት ካርድ አዘጋጅቼአለሁ። ልክ እንደ
MIDI2LED - በ MIDI ቁጥጥር የሚደረግበት የ LED ስትሪፕ ብርሃን ውጤት 6 ደረጃዎች
መካከለኛ ስለዚህ በኤልዲአይ ውስጥ የ LED ንጣፍ እንዲበራ የሚያደርገውን በአርዱዲኖ ላይ የተመሠረተ ሳጥን ሠራሁ
የግፊት አዝራሮችን ፣ Raspberry Pi እና Scratch ን በመጠቀም 8 የብሩህነት ቁጥጥር PWM ላይ የተመሠረተ የ LED ቁጥጥር 8 ደረጃዎች (ከስዕሎች ጋር)
የግፊት አዝራሮችን ፣ Raspberry Pi እና Scratch ን በመጠቀም የብሩህነት ቁጥጥር PWM ላይ የተመሠረተ የ LED ቁጥጥር - PWM ለተማሪዎቼ እንዴት እንደሰራ ለማብራራት መንገድ ለመፈለግ እየሞከርኩ ነበር ፣ ስለዚህ 2 የግፋ አዝራሮችን በመጠቀም የ LED ን ብሩህነት ለመቆጣጠር የመሞከርን ተግባር አዘጋጀሁ። - አንድ አዝራር የ LED ን ብሩህነት የሚጨምር ሲሆን ሌላኛው ደግሞ እየደበዘዘ ነው። ለፕሮግራም
Raspberry Pi ቁጥጥር የሚደረግበት ክፍል የሙቀት መቆጣጠሪያ በ Gupuplot የምስል ውጤት እና በኢሜል የማስጠንቀቂያ ችሎታ 7 ደረጃዎች
Raspberry Pi Controlled Room Temperature Monitoring With Gnuplot Image Output and Email Alert Ability: እኔ በምሠራበት ቦታ ብዙ ኮምፒውተሮችን የያዘ በጣም አስፈላጊ ክፍል አለ። የእነዚህን ስርዓቶች አፈፃፀም ለማመቻቸት የዚህ ክፍል የአካባቢ ሙቀት በጣም አሪፍ መሆን አለበት። የማድረግ ችሎታ ያለው የክትትል ስርዓት እንዳወጣ ተጠየቅኩ