Cov txheej txheem:
- Kauj ruam 1: Txuas rau hauv koj NunChuck
- Kauj Ruam 2: Paub Paub Mozzi
- Kauj Ruam 3: Muab tag nrho ua ke
- Kauj Ruam 4: Kov Kawg
Video: Wii Nunchuck Synthesizer: 4 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
Lub Ntiaj Teb ntawm Wii Music:
Kuv txiav txim siab thaum kawg ua ke kuv txoj kev hlub nkauj nrog me ntsis ntawm cov kev paub uas kuv tau txais dhau ob peb xyoos dhau los. Kuv tau txaus siab tsim lub cuab yeej ntawm kuv tus kheej txij li thaum kuv pom tham los ntawm Tod Machover ntawm kuv lub tsev kawm ntawv. Yog tias koj tsis tau paub txog nws txoj haujlwm muab nws rau Google, raws li nws tau thawb thaj tsam ntawm cov nkauj, thev naus laus zis, nrog rau lawv cuam tshuam rau ntau xyoo tam sim no (MIT media labs, Rock Band, Guitar Hero thiab lwm yam …).
Kuv tau txuas kuv Nunchuck mus rau Arduino Uno khiav ntawm Mozzi lub suab sib txuas ua tsev qiv ntawv vim muaj cov ntaub ntawv teev cia zoo ntawm ob qho online. Kom yooj yim, Kuv siv WiiChuck breadboard adapter uas ntsaws ncaj rau hauv Arduino. Txoj haujlwm yooj yim no ua ntu zus ntawm qhov suab nyob ntawm Lub Suab (YZ-Dav Hlau) ntsuas los ntawm Nunchuck's tus ntsuas qhov ntsuas. Tus joystick tus Y tus nqi tau teeb tsa kom nce mus ua suab nrov dua lossis softer. Nws kuj tseem hloov pauv chords nyob ntawm Z-Khawm thiab tig rau ntawm qib ntawv hloov pauv lub hnab ntawv thaum C-Khawm raug nias. Lub hnab ntawv qhov zaus tau hloov pauv nrog Roll ntsuas los ntawm Nunchuck (daim duab tig lub pob qhov rooj).
Cov peev txheej:
- 1 x Arduino Uno
- 1 x Wii Nunchuck
- 1 x WiiChuck Adapter
- 1 x breadboard tau tshaj 3.5mm poj niam lub tso suab nkaus
- 1 x 3.5mm audio cable
- 1 x hais lus ntawm qee yam (Koj tuaj yeem ntsaws lub suab nrov thaum xub thawj los sim nws
- 4-5 Xov ntawm ntau xim
Yeem tab sis pom zoo:
- 1 x 330 Ohm resistor
- 1 x.1 uF capacitor
Kauj ruam 1: Txuas rau hauv koj NunChuck
Luam/Paste chav WiiChuck los ntawm Arduino Chaw Ua Si. Peb yuav xav tau cov ntawv tshaj tawm nrog PWR thiab GND pins. Txuag nws li WiiChuck.h thiab khaws nws hauv cov npe tib yam li koj txoj haujlwm.
Tam sim no luam/muab tshuaj txhuam hauv qab no rau hauv Arduino IDE thiab rub tawm.
#suav nrog "Wire.h" //#suav nrog "WiiChuckClass.h" // feem ntau yuav yog nws WiiChuck.h rau tag nrho peb. #include "WiiChuck.h" WiiChuck chuck = WiiChuck ();
void teeb tsa () {
// nunchuck_init (); Serial.begin (115200); chuck.begin (); chuck.update (); //chuck.calibrateJoy (); }
void voj () {
ncua (20); chuck.update ();
Serial.print (chuck.readPitch ());
Serial.print (","); Serial.print (chuck.readRoll ()); Serial.print (",");
Serial.print (chuck.readJoyX ());
Serial.print (","); Serial.print (chuck.readJoyY ()); Serial.print (",");
yog (chuck.buttonZ) {
Serial.print ("Z"); } lwm {Serial.print ("-"); }
Serial.print (",");
// tsis muaj nuj nqi // yog (chuck.buttonC ()) {
yog (chuck.buttonC) {Serial.print ("C"); } lwm {Serial.print ("-"); }
Serial.println ();
}
Txuas koj Arduino los ntawm lub zog thiab txuas koj WiiChuck adapter rau Analog Pins 2-5 ntawm koj Arduino.
Txuas mus rau lub zog dua thiab xyuas kom meej tias Nunchuck tus nqi raug xa mus rau koj Arduino thiab luam tawm rau Serial Monitor. Yog tias koj tsis pom ib qho kev hloov pauv hauv tus lej kom ntseeg tau tias koj txuas tau zoo, thiab koj Nunchuck tau ua haujlwm. Kuv tau siv ob peb hnub sim kho software ua ntej paub kuv Nunchuck cov hlau tau tawg sab hauv!
Tom ntej no, peb yuav txuas txhua yam mus rau Mozzi…
Kauj Ruam 2: Paub Paub Mozzi
Ua ntej tshaj, koj yuav tsum rub tawm qhov tshiab ntawm Mozzi. Lawv tau txhawb nqa los ntawm kev pub dawb yog li pub dawb yog tias koj xav zoo li ntawd thiab rub tawm lub tsev qiv ntawv. Koj tuaj yeem ntxiv nws rau koj lub tsev qiv ntawv yooj yim los ntawm kev xaiv Sketch> Libraries> Ntxiv. ZIP Library … los ntawm Arduino IDE.
Tam sim no peb yuav txuas lub 3.5mm lub mloog pob ntseg mus rau lub khob cij thiab Arduino yog li peb tuaj yeem txuas tau yooj yim rau nws tom qab (koj tuaj yeem tshem tawm Nunchuck thiab adapter rau tam sim no).
- Txuas koj lub Jack rau hauv qab txoj cai kaum ntawm pawg thawj coj saib kom ua rau chav so. Lub jack yuav tsum yog 5 pins dav.
- Txuas kab nruab nrab mus rau hauv av nrog xaim jumper.
- Txuas cov kab ntawv saum toj kawg nkaus ntawm lub nkaus rau kab uas tsis muaj dab tsi saum toj no (Kab 10 hauv daim duab). Nov yog xaim nqa lub teeb liab.
- Txuas Digital Pin ~ 9 rau kab 10 ib yam.
- Txuas hauv av ntawm koj Arduino mus rau txoj kev tsheb nqaj hlau ntawm lub khob cij.
- Koj tsis tas yuav tsum tau siv tus tiv thaiv thiab lub tshuab hluav taws xob tseem tab sis koj yuav pom tias muaj suab nrov nrov yog tias koj tsis ua. Nws ua raws li cov lim lim qis kom tshem tawm cov zaus ntau dua ~ 15 kHz.
Qhib Mozzi's Sinewave kos duab hauv Arduino IDE los ntawm xaiv Cov Ntawv> Piv txwv> Mozzi> Pib> Sinewave. Qhov no yog qhov tseem ceeb Mozzi qhov sib npaug ntawm "Nyob Zoo Ntiaj Teb".
Tshaj tawm qhov kos duab thiab ntsaws tus neeg hais lus rau hauv daim ntawv qhia zaub mov. Koj tuaj yeem siv lub buzzer ib yam nkaus yog tias koj tsis tau xaim lub khob cij rau lub suab nkaus tseem.
Yog tias koj tsis hnov ib txwm A4 (440Hz) los ntawm koj tus neeg hais lus kom ntseeg tau tias koj txhua qhov kev sib txuas tau zoo thiab sim dua.
Tom ntej no, peb yuav txuas Nunchuck rau Arduino!
Kauj Ruam 3: Muab tag nrho ua ke
Tam sim no peb yuav siv tus nqi yob los ntawm Nunchuck los hloov qhov zaus ntawm Sinewave.
Los ntawm Arduino IDE Xaiv Cov Ntaub Ntawv> Piv txwv> Mozzi> Sensors> Piezo Zaus
Peb yuav tsum tau ntxiv ob peb kab rau cov cai no txhawm rau kom nws ua haujlwm nrog Nunchuck. Ntxiv qhov suav nrog rau WiiChuck lub tsev qiv ntawv thiab muab cov khoom WiiChuck hu ua chuck. Koj tseem tuaj yeem tawm lus tshaj tawm PIEZO_PIN lossis tsuas yog rho tawm nws vim peb yuav tsis siv nws.
#suav nrog "WiiChuck. H"
WiiChuck chuck = WiiChuck (); // const int PIEZO_PIN = 3; // teeb tus pin nkag analog rau piezo
Tam sim no hauv kev teeb tsa, peb yuav xav tau ntxiv cov hauv qab no:
chuck.begin (); chuck.update ();
thiab thaum kawg peb yuav xav hloov qee yam hauv kev hloov kho tshiab ():
void updateControl () {
chuck.update (); // tau txais cov ntaub ntawv tshiab nunchuck // nyeem piezo // int piezo_value = mozziAnalogRead (PIEZO_PIN); // tus nqi yog 0-1023 int piezo_value = daim ntawv qhia (Tawm tswv yim tawm kab uas teev piezo_value thiab ntxiv cov hauv qab no hauv qab no:
void updateControl () {chuck.update (); // tau txais cov ntaub ntawv tshiab nunchuck // nyeem piezo // int piezo_value = mozziAnalogRead (PIEZO_PIN); // tus nqi yog 0-1023 // Peb tsis xav tau kab saum toj no tab sis vim li cas ho tsis qhia daim ntawv yob rau tib yam? int piezo_value = daim ntawv qhia (chuck.readRoll (), -180, 180, 0 1023);
Tshaj tawm cov cai thiab zaus yuav tsum sib haum rau koj Nunchuck's Roll. Sim ua daim phiaj rau qhov sib txawv ntau zaus. Yog tias koj tsis tau pom dua hauv qab no hauv qhov kos duab tus nqi los ntawm lub ntsuas pa tau muab 3 ntxiv yog li tam sim no peb tab tom ua suab nrov los ntawm 0 Hz txog li 3000 Hz.
Kauj Ruam 4: Kov Kawg
Tam sim no koj tau npaj los rub tawm qhov kawg ntawm cov cai uas kuv tau ua ua ke los ntawm cov kauj ruam dhau los thiab ob peb ntxiv ntawm Mozzi tus piv txwv (Phase_Mod_Envelope, thiab Control_Gain kom raug). Ua kom kuv lub neej yooj yim dua kuv kuj suav nrog cov ntaub ntawv hu ua pitches.h uas yooj yim txhais cov zaus zaus nrog cov npe paub zoo (piv txwv li NOTE_A4).
Kuv hais qhia nyeem Mozzi cov ntaub ntawv ntau npaum li cov cai tau ncaj los ntawm cov piv txwv tshwj tsis yog cov cai rau Nunchuck.
Nov yog qhov txuas rau kuv Git chaw cia khoom. Txhua cov ntaub ntawv tseem ceeb suav nrog tshwj tsis yog lub tsev qiv ntawv Mozzi uas koj yuav tsum tau txais los ntawm lawv lub vev xaib yog li nws yog qhov tshiab. Rub tawm WiiMusic.ino thiab xa nws mus rau koj lub cuab yeej kom hnov lub suab zoo li cas. Kuv qhia koj ua si ib puag ncig nrog qhov ntsuas uas kuv tau hloov pauv (hloov pauv daim duab qhia chaw, faib/faib cov lej, thiab lwm yam …) raws li qhov kuv pom lub suab tshwj xeeb uas kuv tab tom nrhiav.
Kev xav
Kuv tsis hnov zoo li kuv ua tiav lawm. Qhov ntawd tsis tau hais tias kuv tsis txaus siab rau txoj haujlwm lossis lub suab nws ua, tab sis kuv zoo li kuv nyuam qhuav dov kuv cov ntiv taw mus rau hauv lub ntiaj teb tshiab uas kuv xav tshawb nrhiav ntxiv yog li kuv yuav ntxiv ib ceg tshiab los ntawm txoj haujlwm no thaum kuv txuas ntxiv mus ua hauj lwm
Tseem, uas tau hais tias qhov no yog kuv thawj txoj kev taug mus rau hauv lub ntiaj teb ntawm microcontrollers yog li kuv zoo siab heev rau kev kawm paub. Lub sijhawm nees nkaum los yog li ntawd kuv siv sijhawm ua haujlwm rau nws muab tswv yim Christmas rau kuv tus kheej thiab xyaum ua txhua tus tswv cuab ntawm kuv tsev neeg. Kuv tu siab me ntsis tsis ua haujlwm ntawm txoj haujlwm no nrog lwm tus li kuv tuaj yeem tau siv ntau cov lus qhia thiab kev qhia raws txoj hauv kev. Txawm li cas los xij, Kuv tus kheej tau kawm ntau dhau los ntawm kuv qhov kev sim suav nrog peb hnub ntawm rub kuv cov plaub hau tawm los sim daws qhov teeb meem software uas tsis muaj nyob ntawd (cov xov hlau sab hauv hauv Nunchuck tau tawg).
Tseem muaj ntau qhov muaj peev xwm txav mus tom ntej. Piv txwv li, Kuv xav siv Arduino ua hom MIDI interface hauv nruab nrab ntawm MIDI maub los thiab lub mloog pob ntseg tawm los hloov qhov tsis ntawm MIDI ceeb toom vim tias muaj ntau yam los xaiv los ntawm (ntim, txiav tawm, lub hnab ntawv zaus, suab khoov., kev hloov kho, vibrato, koj lub npe nws). Qhov no yuav tso cai rau ntau qhov kev hloov pauv yooj yim suav nrog kev hloov pauv tsis nrog cov nyees khawm, thiab yooj yim ua si chord uas tsis nyuaj rau hauv C ++ array.
Pom zoo:
Oh Christmas Tree (Oh Tannenbaum) Nrog MakeyMakey ntawm Dej Synthesizer: 7 Kauj Ruam
Oh Christmas Tree (Oh Tannenbaum) Nrog MakeyMakey ntawm Dej Synthesizer: Zaj nkauj Christmas no yog qhov zoo los ua si nrog makeymakey ntawm cov dej haus. Koj tuaj yeem ua nws nrog cuaj tones.Rau qhov cua nws zoo nkauj kom muaj qee lub teeb Christmas :-) Txaus siab rau
Arpeggiating Synthesizer (Yoov I): 6 Cov Kauj Ruam
Arpeggiating Synthesizer (Yoov Tshaj Lij I): Yoov Tshaj Lij Kuv yog tus tsim hluav taws xob me me uas siv Arduino Nano thiab Mozzi suab synthesis library. Nws tuaj yeem ua si ntau dua nees nkaum 8-ntu ntu tab sis koj tuaj yeem ntxiv ntau qhov kev coj ua raws li koj nyiam. Nws yog qhov yooj yim los teeb tsa thiab tsis ua
Keytar Hero (Siv tus Wii Guitar Controller Raws li tus Synthesizer): 7 Kauj Ruam (nrog Duab)
Keytar Hero (Siv Wii Guitar Controller Raws li Cov Khoom Siv Hluav Taws Xob): Guitar Hero game tau ua rau muaj kev npau taws heev kaum ob xyoos dhau los, yog li muaj kev khi rau ntau tus qub guitar tswj tau pw ib puag ncig sib sau ua ke. Lawv muaj ntau lub nyees khawm, pob qhov rooj, thiab qib, yog li vim li cas ho tsis muab lawv siv rov zoo dua? Guitar tswj
Nunchuck Tswj tsom tsom tsom iav qhov muag: 6 Cov kauj ruam (nrog Duab)
Nunchuck Controlled Telescope Focuser: Yog tias koj tau sim siv koj lub tsom iav raj ntawm qhov siab loj (> 150x) koj yuav tau pom tias yuav kho tus kheej li cas rau koj lub tsom iav tsom iav tuaj yeem ua rau mob tiag tiag hauv caj dab
Wireless Wii Nunchuck Tswj Arduino: 7 Kauj Ruam
Wireless Wii Nunchuck Controlled Arduino: Siv qhov tsis tau hloov pauv wireless Wii Nunchuck raws li kev tswj hwm rau ib qho Arduino raws txoj haujlwm. Tsis muaj ntxiv cov xov tooj cua xa xov/txais tus khub thiab lwm yam. Cov lus qhia no xav tias qee qhov kev paub nrog Arduino microcontroller. Cov radi