Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйлс
- Алхам 2: Хураангуй
- Алхам 3: Үндсэн санаа
- Алхам 4: Walabot
- Алхам 5: Эхлэх
- Алхам 6: Raspberry Pi -ийг тохируулах - 1
- Алхам 7: Raspberry Pi -ийг тохируулах - 2
- Алхам 8: Raspberry Pi -ийг тохируулах - 3
- Алхам 9: Raspberry Pi -ийг тохируулах - 4
- Алхам 10: Python
- Алхам 11: Walabot -ийн хувьд
- Алхам 12: Servo интерфэйсийн хувьд
- Алхам 13: LCD -ийн хувьд
- Алхам 14: Блинк
- Алхам 15: Blynk програмыг тохируулах
- Алхам 16: Та энэхүү QR кодыг Blynk програм ашиглан ашиглан миний төслийг клончлох боломжтой бөгөөд энэ нь таны цагийг хэмнэх болно
- Алхам 17: Raspberry Pi -тай Blynk ажиллуулж, Python -д Blynk HTTPS ашиглах
- Алхам 18: Скриптийг дахин ажиллуулах
- Алхам 19: Тоног төхөөрөмж
- Алхам 20: Хашааны дизайн
- Алхам 21: Шууд цохилт
- Алхам 22: Эцсийн чуулганы буудлага
- Алхам 23: Walabot -ийг сууринд засах
- Алхам 24: 3D хэвлэх тоног төхөөрөмжийн STL файлууд
- Алхам 25: Утсыг холбох схем
- Алхам 26: Код
- Алхам 27: Ашиглах Github репозиторууд
- Алхам 28: Дүгнэлт
Видео: Walabot FX - Гитарын эффектийн хяналт: 28 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:06
Гитарын гайхалтай дүр төрхийг ашиглахаас өөр дуртай гитарын эффектээ удирдаарай!
Алхам 1: Танд хэрэгтэй зүйлс
Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд
Walabot - Walabot
Raspberry Pi - Raspberry Pi 3 Model B
Sunfounder LCD1602
SunFounder PCA9685 16 суваг Arduino болон Raspberry Pi-ийн 12 битийн PWM Servo драйвер
Servo (ерөнхий) Холбоос байхгүй
9V батерейны хавчаар
4хАА зай эзэмшигч
AA батерей
Холбогч утас (ерөнхий)
DPDT түгжээний үйлдэл хөл шилжүүлэгч
Korg SDD3000-PDL
Програм хангамжийн үйлдлийн систем, програмууд болон онлайн үйлчилгээ
Autodesk Fusion360 -
Блинк -
Багаж хэрэгсэл гэх мэт
3D хэвлэгч
Гагнуурын төмөр
Алхам 2: Хураангуй
Хөгжмийн илэрхийлэлийг гитараа 3D орон зайд байрлуулахаас өөр зүйлгүйгээр удирдах нь ямар байх вэ? За, ямар нэг зүйл protoype болон олж мэдье!
Алхам 3: Үндсэн санаа
Би 3 эффектийн параметрийг бодит цаг хугацаанд удирдах боломжтой байхыг хүсч байсан бөгөөд үүнийг гитараа хэрхэн байрлуулсан байдлаа ашиглан хийхийг хүсч байсан. Тиймээс нэг зүйл тодорхой байсан, надад хэдэн зүйл хэрэгтэй болно.
- 3D орон зайг харах чадвартай мэдрэгч
- Бариулыг эргүүлэхийн тулд servo
- LCD дэлгэц
- I2C Servo драйвер
- Raspberry Pi
- Python сурах
Алхам 4: Walabot
Ханан дээрээс харахыг хүсч байна уу? 3D орон зайд байгаа объектуудыг мэдрэх үү? Хэрэв та өрөөний цаанаас амьсгалж байгаа бол мэдрэх үү? За, та азтай байна!
Walabot бол бага чадлын радар ашиглан таны эргэн тойрон дахь орон зайг мэдрэх цоо шинэ арга юм.
Энэ нь төслийн гол түлхүүр байх болно, би 3D орон зайд байгаа объектуудын картезан (X-Y-Z) координатуудыг авч, гитарийн эффект хэрхэн дуугарч байгааг бодит цаг хугацаанд дөрөөнд хүрэлгүйгээр сольж байрлуулах газрын зураг зурах боломжтой болно.
Ялах.
Walabot -ийн талаарх дэлгэрэнгүй мэдээллийг эндээс авах боломжтой
Алхам 5: Эхлэх
Нэгдүгээрт, танд Walabot -ийг жолоодох компьютер хэрэгтэй болно, учир нь энэ төслийн хувьд би Raspberry Pi 3 -ийг ашиглаж байна (энд RPi дээр дурдсан болно), WiFi болон ерөнхий нэмэлт функцээс шалтгаалан.
Сайхан, энгийн байлгахын тулд би NOOBS -ийг урьдчилан суулгасан 16GB SD картыг худалдаж аваад Raspian -ийг өөрийн сонгосон Линукс үйлдлийн систем болгон сонгосон.
(хэрэв та Raspian -ийг хэрхэн суулгах талаар мэдэхгүй байгаа бол үүнийг жаахан уншихад хэсэг хугацаа зарцуулна уу)
За, та Raspi -г RPi дээрээ ажиллуулсны дараа манай төсөлд бэлэн байхын тулд хэд хэдэн тохиргооны алхамуудыг хийх хэрэгтэй.
Алхам 6: Raspberry Pi -ийг тохируулах - 1
Нэгдүгээрт, та хамгийн сүүлийн үеийн цөмийн хувилбарыг ажиллуулж байгаа эсэхээ шалгаарай, командын бүрхүүлийг нээж бичээд шинэчлэлтийг шалгаарай
sudo apt-get update
sudo apt-get dist-upgrade
(танд захиргааны давуу эрх байгаа эсэхийг баталгаажуулахын тулд sudo -ийг нэмж оруулсан болно.
Үүнийг дуусгахад хэсэг хугацаа шаардагдах тул аятайхан цай уугаарай.
Алхам 7: Raspberry Pi -ийг тохируулах - 2
Та RPi -д зориулсан Walabot SDK -ийг суулгах хэрэгтэй. RPi вэб хөтөч дээрээс https://www.walabot.com/gettingstarted руу орж Raspberry Pi Installer Pack -ийг татаж аваарай.
Командын бүрхүүлээс:
cd татаж авах
sudo dpkg -I walabotSDK_RasbPi.deb
Алхам 8: Raspberry Pi -ийг тохируулах - 3
Бид i2c автобусыг ашиглахын тулд RPi -ийг тохируулж эхлэх хэрэгтэй.
sudo apt-get python-smbus суулгана уу
sudo apt-get i2c-tools суулгах
Үүнийг хийсний дараа та модулийн файлд дараахь зүйлийг оруулах ёстой
Командын бүрхүүлээс:
sudo нано /etc /модулиуд
тусдаа мөрөнд эдгээр 2 мөрийг нэмнэ үү.
i2c-dev
i2c-bcm2708
Алхам 9: Raspberry Pi -ийг тохируулах - 4
Walabot нь бага зэрэг гүйдэл гаргадаг бөгөөд бид мөн GPIO -ийг ашиглан эд зүйлсийг хянах болно, тиймээс бид эдгээрийг тохируулах хэрэгтэй.
Командын бүрхүүлээс:
sudo нано /boot/config.txt
файлын төгсгөлд дараах мөрүүдийг нэмнэ үү.
safe_mode_gpio = 4
max_usb_current = 1
RPi бол үйлдвэрлэгчдэд зориулсан маш сайн хэрэгсэл боловч Walabot руу илгээх боломжтой хязгаарлагдмал тоо юм. Тиймээс бид илүү стандарт 500мА -аас илүү 1Амп гүйдлийг нэмж байна
Алхам 10: Python
Яагаад Python гэж? За, код бичихэд маш хялбар, хурдан ажиллуулах боломжтой, олон тооны сайн питоны жишээ бий! Би үүнийг өмнө нь хэзээ ч ашиглаж байгаагүй бөгөөд удалгүй ашиглалтанд орсон. Одоо RPi нь бидний хүссэнээр тохируулагдсан бөгөөд дараагийн алхам бол Python -ийг Walabot API, LCD Servo интерфэйсүүдэд нэвтрэх боломжтой болгох явдал юм.
Алхам 11: Walabot -ийн хувьд
Командын бүрхүүлээс
Sudo pip суулгах "/usr/share/walabot/python/WalabotAPI-1.0.21.zip"
Алхам 12: Servo интерфэйсийн хувьд
Командын бүрхүүлээс
sudo apt-get install git build-essential python-dev
cd ~
git clone
cd Adafruit_Python_PCA9685
sudo python setup.py суулгах
Бид яагаад servo драйвер ашиглах хэрэгтэй байна вэ? За, RPi -ийн хувьд хэд хэдэн шалтгаан бий.
1. Servo -ийн гүйдэл маш өндөр байж болох бөгөөд энэ тоо нь таны servo байх тусам томордог (мэдээж). Хэрэв та RPi -ээс servo directky жолоодож байгаа бол түүний тэжээлийн хангамжийг үлээх эрсдэлтэй болно
2. Сервүүдийн байрлалыг хянадаг ХОУХ -ны цаг (Pulse Width Modulation) нь маш чухал юм. RPi нь бодит цагийн үйлдлийн системийг ашигладаггүй (тасалдал байж магадгүй), цаг хугацаа нь үнэн зөв биш бөгөөд servos нь сандрах болно. Зориулалтын драйвер нь нарийвчлалтай хянах боломжийг олгодог боловч 16 хүртэлх servo нэмэх боломжийг олгодог тул үүнийг өргөжүүлэхэд тохиромжтой.
Алхам 13: LCD -ийн хувьд
RPi вэб хөтчийг нээнэ үү
www.sunfounder.com/learn/category/sensor-k…
татаж авах
github.com/daveyclk/SunFounder_SensorKit_…
Командын бүрхүүлээс:
sudo mkdir/usr/share/sunfounder
График судлаачийг ашиглан python фолдерыг зип файлаас шинэ нарны хамгаалагч хавтсанд хуулж ав
LCD нь яг юу болоод байгааг хэрэглэгчдэд мэдээлэхэд ашиглагддаг. Тохиргооны процессыг x, y, z -ийн утгыг серво тус бүр дээр харуулав
Алхам 14: Блинк
Blynk бол эд зүйлсээ хянах тусгай програм үүсгэх боломжийг олгодог гайхалтай IoT үйлчилгээ юм. Тохиргоог үнэхээр залгахын тулд надад валаботын алсын удирдлагыг өгөх төгс шийдэл мэт санагдсан …
Нэг асуудал. Blynk одоогоор Python платформ дээр дэмжигдээгүй байна. Гэхдээ бүү ай! Би алсын удирдлага, алсын параметр оруулах боломжийг олгодог жижигхэн ажил олж чадсан юм! энэ нь жаахан эвгүй юм
Эхний алхам бол дуртай апп дэлгүүрээсээ Blynk програмыг татаж авах явдал юм
Хоёрдугаарт, данс бүртгүүлэх
Үүнийг хийсний дараа програмыг нээгээд Raspberry Pi 3 -ийг тоног төхөөрөмж болгон сонгож шинэ төсөл эхлүүлээрэй.
Апп нь танд хандалтын жетон хуваарилах болно (кодоо оруулахын тулд танд энэ хэрэгтэй болно)
Та үүнийг хийснийхээ дараа. Та програмыг зураг дээр үзүүлсэн шиг тохируулах хэрэгтэй болно. Энэ нь walabot -тэй хэрхэн харилцах болно.
Алхам 15: Blynk програмыг тохируулах
Алхам 16: Та энэхүү QR кодыг Blynk програм ашиглан ашиглан миний төслийг клончлох боломжтой бөгөөд энэ нь таны цагийг хэмнэх болно
OK Одоо апп -ыг тохируулсны дараа бид Python болон RPi -г интернэтээр дамжуулан ярилцахаар тохируулж болно. Ид шид
Алхам 17: Raspberry Pi -тай Blynk ажиллуулж, Python -д Blynk HTTPS ашиглах
Нэгдүгээрт, та Python -д зориулсан Blynk HTTPS боолтыг суулгах хэрэгтэй
Командын бүрхүүлээс:
sudo git clone
sudo pip blynkapi суулгана уу
Хоёрдугаарт, та Blynk үйлчилгээг RPi дээр суулгах хэрэгтэй
Командын бүрхүүлээс:
git clone
cd blynk-library/linux
бүгдийг цэвэрлэ
blynk үйлчилгээг ажиллуулах
sudo./blynk --token = YourAuthToken
Blynk үйлчилгээ асаалттай байхын тулд та /etc/rc.local хаягийг өөрчлөх хэрэгтэй
хийснээр
sudo нано /etc/rc.local
үүнийг төгсгөлд нь нэмнэ үү
./blynk-library/linux/blynk --token = миний жетон &
(Би лавлагааны зориулалтаар код хэсэгт өөрийн /etc/rc.local файлыг оруулсан болно)
Ажиллаж байгаа эсэхийг шалгахын тулд зүгээр л бичнэ үү
sudo /etc/rc.local эхлэх
Blynk үйлчилгээ одоо ажиллаж байх ёстой
Алхам 18: Скриптийг дахин ажиллуулах
Энэ бүгдийг тохируулж, тохируулсны дараа бид питон кодоо бэлэн болголоо. Бид зүйлсийг автоматаар ажиллуулахаар тохируулах боломжтой бөгөөд ингэснээр бид гар болон мониторыг хааж болно
Хэд хэдэн хийх зүйл байна
Python програмыг ажиллуулахын тулд шинэ скрипт файл үүсгэнэ үү
sudo nano guitareffect.sh
эдгээр мөрүүдийг нэмнэ үү
#!/бин/ш
python /home/pi/GuitarEffectCLI.py
аврахаа мартуузай
Дараа нь бид скриптийг бичих замаар ажиллуулах зөвшөөрөл өгөх ёстой
Sudo chmod +x /home/pi/guitareffect.sh
Эцэст нь бид энэ скриптийг өмнө нь ашиглаж байсан /etc/rc.local файлд нэмэх хэрэгтэй.
Sudo нано /etc/rc.local
Нэмэх
/home/pi/guitareffect.sh &
Python скриптийг арын дэвсгэр дээр ажиллуулах боломжийг олгодог "&" тэмдэгтийг оруулахаа мартуузай
Зөв! Энэ бол бүх тохиргоо, програм хангамжийг эрэмбэлсэн бөгөөд дараа нь тоног төхөөрөмжийг холбох цаг болжээ
Алхам 19: Тоног төхөөрөмж
Breadboard -ийн анхны загвар
Алхам 20: Хашааны дизайн
Энэхүү хашлага нь гайхалтай Fusion360 -д зохион бүтээгдсэн болно
Алхам 21: Шууд цохилт
Алхам 22: Эцсийн чуулганы буудлага
Алхам 23: Walabot -ийг сууринд засах
Валаботтой хамт ирдэг өөрөө наалддаг металл дискийг ашиглан түүнийг засаарай
Алхам 24: 3D хэвлэх тоног төхөөрөмжийн STL файлууд
Алхам 25: Утсыг холбох схем
Алхам 26: Код
Төсөлдөө хавсаргасан Python скриптийг ашиглана уу
_future_ импортын print_function -аас sys импортын платформоос blynkapi -аас импортлох системээс Blynk импорт WalabotAPI импортлох цаг импортлох RPi. GPIO хэлбэрээр GPIO хэлбэрээр
#ТУЗ -ийн дугаарлалтыг ашиглан GPIO -г тохируулна уу
GPIO.setmode (GPIO. BOARD) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP)
#blynk auth жетон
auth_token = "таны_авс_токен_ энд"
# Серво хянах PCA9685 модулийг импортлох.
Adafruit_PCA9685 импортлох
LCD модулийг байршлаас #импортлох
импортын импортоос load_source LCD1602 = load_source ('LCD1602', '/usr/share/sunfounder/Python/LCD1602.py')
# Анхдагч хаягийг (0x40) ашиглан PCA9685 -ийг эхлүүлнэ үү.
pwm = Adafruit_PCA9685. PCA9685 ()
# blynk объектууд
анхдагч утга = 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 = Блинк (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")
Босго = Блинк (auth_token, pin = "V8")
ServoMin = Blynk (auth_token, pin = "V10")
ServoMax = Blynk (auth_token, pin = "V11")
Def LCDsetup ():
LCD1602.init (0x27, 1) # init (боолын хаяг, арын гэрэл)
def numMap (x, in_min, in_max, out_min, out_max): "" "walabot -ийн уншилтыг servo байрлалд буулгахад ашигладаг" "буцах int ((x- in_min) * (out_max - out_min) / (in_max - in_min) + гадагш_мин)
# түүхий өгөгдлийг өгөгдсөн утгад нь нэгтгэхийн тулд үүнийг ашиглана уу
def myRound (x, base = 2): return int (base * round (float (x)/base))
#буцааж өгсөн blynk мөрөөс дугаарыг гаргаж авдаг
def numberExtract (val): val = str (val) return int (шүүлтүүр (str.isdigit, val))
# Давтамжийг 60Гц болгож тохируулаарай, энэ нь servo -д тохиромжтой.
pwm.set_pwm_freq (60)
# Хамгийн бага ба хамгийн их серво импульсийн уртыг тохируулах
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
Босго = 1
blynk шилжих # хувьсагч
дээр = "[u'1 ']"
Walabot анги:
def _init _ (өөрөө):
self.wlbt = WalabotAPI self.wlbt. Init () self.wlbt. SetSettingsFolder () self.isConnected = Худал өөрийгөө.isTargets = Худал
def blynkConfig (өөрөө):
load_defaults = defaults.get_val () if str (load_defaults) == on: 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 Min =", R_MIN)
R_RES = Rres.get_val ()
R_RES = numberExtract (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 = Threshold.get_val ()
THRESHOLD = numberExtract (THRESHOLD) хэвлэх ("Threshold =", THRESHOLD)
өөр: # blynk апп -аас юу ч байхгүй бол ачаалах үндсэн утга 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
Босго = 1
def connect (self): оролдох: self.wlbt. ConnectAny () self.isConnected = Жинхэнэ self.wlbt. SetProfile (self.wlbt. PROF_SENSOR) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPynmItm). (self.wlbt. FILTER_TYPE_NONE) #self.wlbt. SetDynamicImageFilter (self.wlbt. FILTER_TYPE_DERIVATIVE) self.wlbt. SetArenaTheta (-THETA_MAX, THETA_MAX, THE PHLIPH_SMA) SetArenaR (R_MIN, R_MAX, R_RES) self.wlbt. SetThreshold (THRESHOLD) self.wlbt. WalabotError in error: if err.code! = 19: # 'WALABOT_INSTRUMENT_NOT_FOUND' алдаа гарга
def start (өөрөө):
self.wlbt. Start ()
def calibrate (өөрөө):
self.wlbt. StartCalibration ()
def get_targets (өөрөө):
self.wlbt. Trigger () буцах self.wlbt. GetSensorTargets ()
def stop (өөрөө):
self.wlbt. Stop ()
def салгах (өөрөө):
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, 'Start дарахын тулд') LCD1602. бичих (0, 1, 'эхлэх') time.sleep (2) if (str (check) == on): flag = False else: check = start_button.get_val () # blynk эхлэх товчлуур байгаа эсэхийг шалгана уу, хэрэв (GPIO.input (18) == 0): #footswitch flag = check false
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, 'Walabot -ийг эхлүүлэх')
appcheck = start_button.app_status () flag = Үндсэн прог -ийн үнэн # тугийг дахин тохируулах
while flag: # нь зогсолтын горимд ажилладаг (үр дүнтэй)
if (appcheck == True): if (str (check)! = on): if (GPIO.input (18)! = 0): #footswitch flag = checkche false: check = start_button.get_val () #check эхлэх товчийг дарна уу appcheck = start_button.app_status ()
өөр:
if (GPIO.input (18)! = 0): #footswitch flag = хуурамч эсэхийг шалгана уу
xval = 0
yval = 0 zval = 0 дундаж = 2 сааталTime = 0
зорилтууд = wlbt.get_targets ()
хэрэв len (зорилтот)> 0:
j -ийн хувьд (дундаж):
зорилтууд = wlbt.get_targets ()
if len (зорилтот)> 0: хэвлэх (len (зорилтот)) зорилтот = зорилтот [0]
хэвлэх (str (targets.xPosCm))
xval += int (targets.xPosCm) yval += int (targets.yPosCm) zval += int (targets.zPosCm) time.sleep (delayTime) өөр: хэвлэх ("зорилтгүй") xval = xval/дундаж
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') цаг.нас (3) wlbt.stop () wlbt.disconnect ()
хэрэв _name_ == '_main_':
үнэн байхад: main ()
guitareffect.sh -ийн хувьд
#!/бин/ш
cd /home /pi
sudo python GuitarEffectCLI.py
Лавлахын тулд RC орон нутгийн файлын хуулбар
#!/bin/sh -e # # rc.local # # Энэ скриптийг олон хэрэглэгчийн ажиллуулах түвшин бүрийн төгсгөлд гүйцэтгэдэг. # Скрипт амжилт эсвэл алдааны бусад # утга дээр "0 гарах" эсэхийг шалгаарай. # # Энэ скриптийг идэвхжүүлэх эсвэл идэвхгүй болгохын тулд гүйцэтгэлийн # битийг өөрчилнө үү. # # Анхдагч байдлаар энэ скрипт юу ч хийхгүй.
# IP хаягийг хэвлэх
_IP = $ (хостын нэр -I) || үнэн бол ["$ _IP"]; printf "Миний IP хаяг бол %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/Adafruit_Python_PCA968…
Үүнийг Blynk Python HTTPS боолтонд ашиглаарай
github.com/daveyclk/blynkapi
Алхам 28: Дүгнэлт
Энэ бол сургалтын огцом муруй байсан боловч үнэ цэнэтэй байсан.
Миний авах арга замууд бол
- Би Python сурах ёстой байсан.. энэ нь хөзөр болж хувирсан
- Raspberry Pi дээрх Python -ийг Blynk IoT үйлчилгээтэй холбосон. Үүнийг албан ёсоор дэмждэггүй тул функцэд зарим хязгаарлалт байдаг. Гэсэн хэдий ч гайхалтай ажиллаж байна!
- Walabot нь хөгжмийн илэрхийлэлд маш сайн байдаг. Би үүнийг Korg SDD3000 дээр ашигласан боловч та хүссэн эффектээ ашиглаж болно
Өөрөө очиж үзээрэй. Энэ нь зөвхөн гитарын эффектээр хязгаарлагдахгүй, би ямар ч эффект бүхий ямар ч хэрэгслээр ашиглаж болно.
2017 оны Raspberry Pi тэмцээнд 2 -р байр эзэлсэн
Зөвлөмж болгож буй:
Аналог хэлхээний мэдлэг - DIY нь IC -гүй бол дууны эффектийн хэлхээ: 7 алхам (зурагтай)
Аналог хэлхээний мэдлэг - DIY нь IC -гүй бол дууны эффектийн хэлхээ юм: Энэхүү дууны эффектийн хэлхээг зөвхөн IC бүрэлдэхүүн хэсэггүй транзистор, резистор, конденсатороор бүтээсэн болно. Энэхүү практик, энгийн хэлхээгээр хэлхээний үндсэн мэдлэгийг олж авах нь танд хамгийн тохиромжтой юм. Шаардлагатай дэвсгэр
Бяцхан басс preamp ба эффектийн хайрцаг: Хар мөс, Electra Fuzz: 9 алхам (зурагтай)
Бяцхан басс бэлдмэл ба эффектийн хайрцаг: Хар мөс, Электра Фуз: Энэхүү гарын авлагад би өөрийн басс/гитарын урьдчилсан өсгөгч, эффектийн хайрцгийг хэрхэн яаж хийхийг харуулах болно. Би "Black Ice" эсвэл "Electra Distortion" гажуудлын эффектийг "Bazz Fuss" гялалзсан эффекттэй хольсон холимог эффект хайрцаг хийхийг сонгосон
Гэрлийн эффектийн зөөврийн LED проектор: 6 алхам (зурагтай)
Гэрлийн эффектэд зориулагдсан зөөврийн LED проектор: Зураг дээрх өнгөлөг гэрлийн эффектүүд надад үргэлж таалагддаг байсан … Тиймээс гэрэл зураг, кино хийх зориулалттай зөөврийн LED проектор бүтээх санаа төрсөн. чийдэн нь боломжоо өргөжүүлж
ATMega1284P гитар ба хөгжмийн эффектийн дөрөө: 6 алхам (зурагтай)
ATMega1284P гитар ба хөгжмийн эффектийн дөрөө: Би Arduino Uno ATMega328 Pedalshield -ийг (Electrosmash -ийн боловсруулсан, хэсэгчлэн Нээлттэй хөгжмийн лабораторид ажилласан) ATMega1284P -т Uno -оос 8 дахин их RAM (2кБ -ийн эсрэг 16кБ) суулгасан. Нэмэлт гэнэтийн ашиг тус бол
Гитар эффектийн хавхлага ба цахилгаан хангамж: 7 алхам (зурагтай)
Valve Guitar Effect Case ба Цахилгаан хангамж: Энэ нь хавхлагад суурилсан гитар эффектийн дөрөө авах зориулалттай цахилгаан эх үүсвэр ба явах эд анги болно. Би явж байхдаа үүнийг олж мэдсэн тул миний үзүүлэх ахиц дэвшил нь миний авсан захиалга биш юм. Дараахь зүйл бол хамгийн тохиромжтой, дахин зохион байгуулалттай, огт харуулаагүй зам юм