Përmbajtje:

Makina e zhurmës Arduino: 4 hapa
Makina e zhurmës Arduino: 4 hapa

Video: Makina e zhurmës Arduino: 4 hapa

Video: Makina e zhurmës Arduino: 4 hapa
Video: Arduino 64 Step Sequencer с минимальным аппаратным обеспечением, адаптированный из Drum Sequencer 2024, Korrik
Anonim
Makinë Zhurmë Arduino
Makinë Zhurmë Arduino
Makinë Zhurmë Arduino
Makinë Zhurmë Arduino
Makinë Zhurmë Arduino
Makinë Zhurmë Arduino

Gjeta një altoparlant të vogël ndërsa rrëzova një P. C të vjetër. për riciklim dhe mendova të shikoja se si dukej duke përdorur funksionin Arduino Tone (). Fillova me një potenciometër 10Ω për të kontrolluar lartësinë dhe fillova të bëja pak zhurmë. Funksioni Tone () përdor një model të thjeshtë pulsi. Ai ndez dhe fik tingullin në frekuenca të ndryshme në një model valor katror. Kisha dy potenciometra të tjerë të shtrirë përreth, kështu që i shtova dhe i përdor për të kontrolluar kohëzgjatjen e tonit. Njëra për të kontrolluar gjatësinë e tonit dhe një për të kontrolluar hapësirën e heshtur midis toneve. Në thelb po përdor një model tjetër valor katror, por me një frekuencë shumë më të ulët. Ju mund të arrini një larmi të mirë të zhurmës me këtë qark. Punon mirë edhe me një zile piezo, por i mungon përgjigja e basit të një altoparlanti.

Hapi 1: Pjesët që do t'ju nevojiten

Arduino Uno

Telat e bukës dhe kërcyesit

1 Folës i vogël ose zile Piezo

1 Ndërprerës butoni

3 Potenciometra 10Ω

1 rezistencë 22Ω

1 rezistencë 10kΩ

Hapi 2: Ndërtoni qarkun

Ndërtoni qarkun
Ndërtoni qarkun

Lidhni tabelën e bukës me kunjin tuaj Arduino 5V dhe GND. Vendoseni çelësin Pushbutton në të djathtën ose në të majtë të bordit të bukës dhe lidheni atë me 5V dhe tokëzoni duke përdorur rezistencën 10kΩ. Lidhni një tel nga qarku i kalimit në pin 2 në Arduino tuaj.

Nga ana tjetër e bordit të bukës vendosni qarkun e altoparlantit/piezo në 5v dhe tokëzoni duke përdorur rezistencën 220Ω. Ky rezistencë kontrollon rrymën duke kontrolluar kështu volumin; mund të provoni rezistorë të ndryshëm këtu për vëllim më të lartë ose më të ulët.

Vendosni potenciometrat tuaj në qendër të dërrasës së bukës duke i dhënë hapësirë të mjaftueshme për t'u vënë në dorë me çelësat. Çdo tenxhere do të duhet të lidhet me 5V dhe tokëzim dhe kunjat qendrore në secilën të lidhur me kunjat analoge A0, A1 dhe A2

Hapi 3: Kodi

Një potenciometër ose tenxhere është një rezistencë e ndryshueshme e cila kur lidhet me një Arduino do të kthejë një vlerë midis 0 dhe 1023. Ne do të përdorim funksionin e hartës () për të ndryshuar këto vlera për t'iu përshtatur nevojave tona. Funksioni i hartës () merr pesë argumente dhe në rastin tonë ne duhet të ri-hartojmë gamën midis 220 dhe 2200 për të prodhuar një tingull të arsyeshëm të dëgjueshëm.

Funksioni duket diçka si kjo:

hartë (tenxhere, 0, 1023, 220, 2200);

Mund të luani me dy vlerat e fundit për tonet me frekuencë më të lartë dhe më të ulët, vetëm kini kujdes që të mos e shqetësoni qenin tuaj.

Zhurmë_Makine.ino

/* Makinë zhurmë duke përdorur tre potenciometra të lidhur me hyrje analoge
dhe një altoparlant piezo ose të vogël. Një buton ndez zhurmën, potenciometrat
kontrolloni lartësinë duke përdorur funksionin Arduino tone (), dhe dy vonesa
vlerat të cilat kontrollojnë gjatësinë e secilit ton dhe gjatësinë midis
çdo ton. Potenciometrat japin vlera analoge të cilat ndryshojnë
duke përdorur funksionin e hartës () në zona më të mëdha ose më të vogla që i përshtaten tuajit
shijet muzikore.
Ky kod është në domenin publik.
Matt Thomas 2019-04-05
*/
butoni i mbylljesPin = 2; // Kunja e butonit 2
folës kufizues = 9; // Altoparlant ose piezo në pin 9
butoni int Shteti = 0; // Variablat për butonin
int potZero; // dhe potenciometra
int potOne;
int potTwo;
voidsetup () {
pinMode (9, OUTPUT); // Gjuha pin/dalëse piezo
}
voidloop () {
buttonState = digitalRead (butoniPin); // Lexoni gjendjen e butonit
potZero = analogRead (A0); // Variablat për leximin e vlerave analoge
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = harta (potZero, 0, 1023, 0, 8800); // Hartoni leximet analoge në
int lartë = hartë (potOne, 0, 1023, 0, 100); // vargjet e reja të numrave dhe krijoni
int ulët = hartë (potTwo, 0, 1023, 0, 100); // ndryshoret e reja
nëse (buttonState == LART) {// Nëse shtypet butoni…
toni (altoparlanti, htz); // Tingulli aktiv
vonesë (e lartë); // Gjatësia e tonit
noTone (folës); // Tingulli i fikur
vonesë (e ulët); // Koha deri në tonin tjetër
} tjetër {
noTone (folës); // Asnjë ton nëse butoni lëshohet
}
}

shikoni rawNoise_Machine.ino të organizuar me ❤ nga GitHub

Hapi 4: Fundi

Pra, kjo është gjithçka që ka për të. Luani me vlerat në kod, shtoni më shumë tenxhere /butona dhe shihni se çfarë tjetër mund të kontrolloni. Më tregoni nëse kam bërë ndonjë gabim dhe shpresoj që të kënaqeni me muzikën.

Recommended: