Talaan ng mga Nilalaman:

Ang SENSONIZER, isang DIY Synthesizer: 5 Hakbang
Ang SENSONIZER, isang DIY Synthesizer: 5 Hakbang

Video: Ang SENSONIZER, isang DIY Synthesizer: 5 Hakbang

Video: Ang SENSONIZER, isang DIY Synthesizer: 5 Hakbang
Video: Restocking the ANTIQUE BOOTH Mini Tour Bought Vintage Electronics 2024, Hulyo
Anonim
Ang SENSONIZER, isang DIY Synthesizer
Ang SENSONIZER, isang DIY Synthesizer
Ang SENSONIZER, isang DIY Synthesizer
Ang SENSONIZER, isang DIY Synthesizer

Ito ang sensonizer, ang synthesizer batay sa mga sensor.

Sa maikling sabi

Karaniwan ito ay isang synthesizer keyboard, ngunit sa halip na mga piano key at knobs, slider at button upang makontrol ito. Gumamit ako ng mga sensor ng presyon at posisyon upang mapalitan ang mga key ng piano, at isang gyroscope upang mapalitan ang mga slider.

Ito ay isang proyekto sa paaralan para sa aking ikalawang semestre na NMCT, Hindi ako magkakaroon ng detalye sa code na aking isinulat, maaari kang makahanap ng karagdagang impormasyon sa repositoryang github na ito:

github.com/RobbeBrandse/Project1

Paano ito gamitin muna

Mag-plug sa isang speaker at isang headphone, at hintaying magsimula ito. Iyon lang ang dapat mong gawin! Pindutin lamang ang strip at maaari mong simulan agad ang jamming ng musika kaagad!

Kung ikiling mo ang aparato habang nagpe-play magdagdag ito ng isang epekto ng pagbago.

Ang default na tunog ay isang piano, kung hindi mo nais na marinig ang isang piano, maaari kang mag-type sa IP-adress sa LCD sa iyong browser. Dadalhin ka nito sa isang website kung saan maaari mong baguhin ang instrumento at ilang pangunahing mga kontrol.

Kapag nagrehistro ka at nag-login sa iyong account, susubaybayan nito kapag nilalaro mo at ipinapakita ito para sa iyo.

Hakbang 1: Bill ng Mga Materyales

Ang kabuuang halaga ng proyekto para sa akin ay 147, 81 €. Kailangan kong magpadala ng ilang mga sangkap mula sa Amerika, kaya't ang gastos ay maaaring mag-iba depende sa kung saan ka nakatira.

Ginamit na mga bahagi

  • Raspberry pi 3
  • Arduino Leonardo
  • Breadbords (para sa pagsubok)
  • Pcb para sa pangwakas na layout ng mga sangkap
  • Maraming mga wires (breadbord friendly)
  • MPU-9250 Breakout (gyroscope)
  • Pressure sensor
  • Posisyon sensor
  • 16x2 LCD
  • 1m x 1m x 90mm playwud

Mga gamit na gamit

  • Mas malaswang pamutol
  • Papel de liha / sander
  • Drill
  • Paggiling machine

Para sa isang mas detalyadong pangkalahatang ideya ng mga bahagi at kung saan ito bibilhin, gumawa ako ng isang pdf. (ang mga pahina ay sinadya upang gaganapin sa tabi ng bawat isa)

Hakbang 2: Ang Pabahay

Ang Pabahay
Ang Pabahay
Ang Pabahay
Ang Pabahay
Ang Pabahay
Ang Pabahay

Para sa pabahay ng electronics gumamit ako ng 9mm makapal na playwud.

Pinapayagan kong gawin ng pamutol ng laser ang karamihan sa mabibigat na pag-aangat para sa akin, ang mga hugis kung saan perpekto na at gumawa pa ng ilang mga butas kung saan pupunta ang mga tornilyo.

Pinutol ko ang isang puwang sa likuran, kaya posible na maabot ang raspberry pi at isaksak ang power cable at isang speaker o headphone.

Gumamit ako ng isang milling machine upang makuha ang tama ng lalim ng kahoy, upang ang LCD ay umupo na antas sa kahoy.

Pinutol ko rin ang isang puwang sa tuktok, kaya ang mga wire mula sa mga sensor ay maaaring makapasok sa loob ng pabahay. At kalaunan ay tinakpan ko ang puwang na iyon upang hindi mo makita ang loob ng pabahay.

Pagkatapos ng paggupit ng laser ng kahoy kailangan ko lamang gumamit ng ilang papel de liha upang alisin ang nasunog na mga gilid mula sa laser. Predrill ang mga butas at isubsob ito. Pagkatapos nito ang natitira ay ang pag-ikot ng lahat ng mga piraso, gumamit ako ng drill para dito.

Pinutol ko rin ang isang puwang sa tuktok, kaya ang mga wire mula sa mga sensor ay maaaring makapasok sa loob ng pabahay. At kalaunan ay tinakpan ko ang puwang na iyon upang hindi mo makita ang loob ng pabahay.

Matapos ang lahat ay nagdagdag nagdagdag ako ng logo at kaunting visual flair upang linawin kung aling tala ang iyong nilalaro.

Gumawa rin ako ng isang karton na kahon, kaya't ligtas kong maihatid ito nang hindi nag-aalala tungkol sa pinsala dito. Isinasama ko rin ang eskematiko para dito.

Hakbang 3: Fritzing

Fritzing
Fritzing
Fritzing
Fritzing
Fritzing
Fritzing
Fritzing
Fritzing

Una bumuo ako ng isang bersyon ng breadboard ng circuit upang matiyak na ang lahat ay gumagana nang maayos. Matapos matiyak na gumagana ang lahat nang maayos Gumamit ako ng isang pcb at mga soldered na pin dito upang madali kong makakonekta at idiskonekta ang mga wire kung kinakailangan. Nagawa kong ikonekta ang lahat sa isang lata lamang na iwasan ang paggamit ng mga jumper cables.

Huwag hayaang malito ka ng dami ng mga cable, kinailangan kong magdagdag ng maraming mga extender upang maayos kong buksan ito.

Gumamit ako ng isang micro usb cable upang ikonekta ang kaliwang sulok na usb port ng raspberry pi, ngunit hindi mo ito nakikita sa mga iskema.

Pagkatapos ay nagdagdag ako ng ilang ducktape sa mga kasukasuan upang matiyak na hindi sila magdidiskonekta.

Hakbang 4: Normalisadong Database

Normalisadong Database
Normalisadong Database

Gumawa ako ng isang database upang mag-imbak ng data ng gumagamit. At subaybayan kapag naglalaro ang isang gumagamit.

Na-hash ko ang mga gumagamit ng mga password gamit ang md5 hash, kaya protektado ang kanilang mga account.

Upang masubaybayan ng database ang oras ng pag-play ng isang gumagamit kailangan nilang mag-log in sa pamamagitan ng website muna.

Orihinal na binalak kong gawing posible para sa mga gumagamit na gumawa ng kanilang sariling mga setting ng pag-record at pagrekord, ngunit hindi ako nagtapos sa pagkakaroon ng sapat na oras para sa mga tampok na iyon (kaya't grey ang thery).

Hakbang 5: Pagsulat ng Code

Upang isulat ang code ginamit ko ang mga program na ito:

  • Pycharm: i-program ang back-end sa sawa
  • Visual Studio Code: upang mai-program ang front-end sa HTML, CSS isang Javascript
  • Arduino IDE: upang isulat ang Arduino code
  • MySQL Workbench: upang gawin ang database

Hindi ako detalyado dito sa kung paano ko isinulat ang code, mahahanap mo ang impormasyong iyon sa aking imbakan ng Github na ginawa ko para sa proyektong ito:

Inirerekumendang: