Sisukord:
- Samm: mida vajate
- Samm: ühendage ahel kokku
- Samm: programmeerige see
- 4. samm: ehitage see üles
- Samm: mängige trumme
Video: Stuudiotrummid: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Trummarid veedaksid tunde ja tunde harjutades… Kuid kõigil ei saa kodus trummi olla: ruum ja müra on suur probleem!
Sel põhjusel tahtsime luua kaasaskantava ja vaikse trummikomplekti, mida saaksite kodus mängida.
Seda trummikomplekti on väga lihtne kasutada, peate lihtsalt lööma padjakesi ja see kõlab nagu tõeline trumm! Kaasas ka ekraan, kus näete, millisele padjale te lööte. Ja kui soovite seda kasutada vaikerežiimis, ühendage lihtsalt kõrvaklapid sülearvutiga!
Samm: mida vajate
MATERJAL
- Arduino Uno
- Leivalaud
- Mingi traat
- 5x pieso
- 5x 1M oomi takistid
- 5 purgi kaant
- Eva vaht
- Vahtplaat
PROGRAMMID:
- Arduino IDE
- Töötlemine
*Ülaltoodud programmide arvutisse allalaadimiseks järgige allolevaid linke:
- https://www.arduino.cc/en/main/software
- https://www.arduino.cc/en/main/software
Samm: ühendage ahel kokku
Kõigepealt peame jootma pieso külge (GND kollasele osale ja analoog -tihvtraat pieso valgele osale).
Kõigi ühendamiseks kasutame leivaplaati.
Ühendage takisti ja pieso juhtmed, nagu on näidatud ülaltoodud skeemil. Seejärel ühendage leivaplaadi GND juhe Arduino GND -ga. Lõpuks ühendage pieso iga traat oma Arduino analoogpistikuga, nagu allpool näidatud.
Analoogpistikutega ühendatud piesod:
- Caixa = A0;
- Charles = A1;
- Tomtom = A2;
- Krahh = A3;
- Bombo = A4;
Samm: programmeerige see
Otsustasime trummikomplekti jaoks luua oma ekraani, selle asemel et kasutada eelseadistatud programmi. Selleks kasutasime töötlemist.
Oleme selle programmeerinud nii, et pieso tabamisel kõlab vastava trummi heli. Lisaks süttib ekraanil vastav trummimuster.
Peate importima töötlusheli ja töötlema jadaraamatukogusid.
Ärge unustage lisada trummikõlasid andmekausta!
ARDUINO KOOD
// PIEZOS ON ÜHENDATUD ANALOOGI PINSIDEGA
const int caixa = A0;
const int charles = A1;
const int tomtom = A2;
const int crash = A3;
const int bombo = A4;
const int lävi = 100; // läviväärtus, et otsustada, millal tuvastatud heli on koputus või mitte
// LUGEGE JA SALVESTAGE VÄÄRTUST, MIDA LUGEGE ANDURIPINDIDEST
int caixaReading = 0;
int charlesReading = 0;
int tomtomReading = 0;
int crashReading = 0;
int bomboReading = 0;
tühine seadistus () {
Seriaalne algus (9600); // kasuta jadaporti
}
void loop () {
// lugege andurit ja salvestage see muutuvas anduris
caixaReading = analogRead (caixa);
// kui anduri näit on künnisest suurem:
if (caixaReading> = künnis) {
// KUI TULED CAIXA, SAADA 0 TÖÖTLEMISEKS
Serial.print ("0");
Serial.println (caixaReading);
}
charlesReading = analogRead (charles);
if (charlesReading> = künnis) {
// KUI SAATED KARLESELE, SAADA 1 TÖÖTLEMISEKS
Serial.print ("1");
Serial.println (caixaReading);
}
tomtomReading = analogRead (tomtom);
if (tomtomReading> = künnis) {
// KUI TULED CAIXA, SAADA 2 TÖÖTLEMISEKS
Serial.print ("2");
Serial.println (tomtomReading);
}
crashReading = analogRead (krahh);
if (crashReading> = künnis) {
// KUI TULED CAIXA, SAADA 3 TÖÖTLEMISEKS
Serial.print ("3");
Serial.println (crashReading);
}
bomboReading = analogRead (bombo);
if (bomboReading> = 15) {
// KUI TULED CAIXA, SAADA 4 TÖÖTLEMISEKS
Serial.print ("4");
Serial.println (bomboReading);
}
viivitus (10); // viivitus, et vältida jadapordi puhvri ülekoormamist
}
TÖÖTLEMISKOOD
// IMPORDI HELI- JA SERIAALRAAMATUKOGUD
impordi töötlemine.heli.*;
impordi töötlemine.seriaalne.*;
Seeria myPort; // Loo objekt seeria klassist
String val; // Jadaportist saadud andmed
// TRUMMIKÕLAD
SoundFile caixa;
SoundFile charles;
SoundFile tomtom;
SoundFile'i krahh;
SoundFile pomm;
// DRUMS STUDIO PILDID
PImage img0;
PImage img1;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;
// DRUMS STUDIO WAVES MUUTLIKUD
ujuk n = 0;
ujuk n2 = 1;
ujuk n3 = 2;
ujuk n4 = 3;
ujuk n5 = 4;
ujuk y = 0;
ujuk y2 = 1;
ujuk y3 = 2;
ujuk y4 = 3;
ujuk y5 = 4;
tühine seadistus ()
{
// AVATUD IGASADAM ON KASUTATAV
String portName = Serial.list () [0]; // muutke 0 1 -ks või 2 -ks jne, et see vastaks teie pordile
myPort = uus seeria (see, pordiNimi, 9600);
// DRUMS STUDIO CONSOLA
suurus (720, 680);
taust (15, 15, 15);
löökKaal (2);
// LAADI TÖÖSTUDIOONI PILTE
img0 = loadImage ("drumsstudio.png");
img1 = loadImage ("res.png");
img2 = loadImage ("caixa.png");
img3 = loadImage ("charles.png");
img4 = loadImage ("tomtom.png");
img5 = loadImage ("crash.png");
img6 = loadImage ("bombo.png");
// LAADI HELI
caixa = uus SoundFile (see, "caixa.aiff");
charles = uus SoundFile (see, "charles.aiff");
tomtom = uus SoundFile (see, "tomtom.aiff");
crash = uus SoundFile (see, "crash.aiff");
bombo = uus SoundFile (see, "bombo.aiff");
}
tühine viik ()
{
// TITULO DRUMS STUDIO
pilt (img0, 125, 0);
// LAINED JOONISTAVAD
if (y> 720) // Alusta laineid uuesti
{
y = 0;
y2 = 1;
y3 = 2;
y4 = 3;
y5 = 4;
}
täitke (0, 10);
sirge (0, 0, laius, kõrgus);
// Dejamos fill a blanco para
// dibujar la bola
täitma (255);
insult (250, 255, 3);
punkt (y, (kõrgus-40) + sin (n) * 30);
n = n + 0,05;
y = y + 1;
insult (250, 255, 3);
punkt (y2, (kõrgus-40) + cos (n2) * 30);
n2 = n2 + 0,05;
y2 = y2 + 1;
insult (250, 255, 3);
punkt (y3, (kõrgus-40) + sin (n3) * 30);
n3 = n3 + 0,05;
y3 = y3 + 1;
insult (250, 255, 3);
punkt (y4, (kõrgus-40) + cos (n4) * 30);
n4 = n4 + 0,05;
y4 = y4 + 1;
insult (250, 255, 3);
punkt (y5, (kõrgus-40) + sin (n5) * 30);
n5 = n5 + 0,05;
y5 = y5 + 1;
// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA
pilt (img1, 0, 80);
// TEGE VÄLJUNDI IGAKS SISESTUSEKS
kui (myPort.available ()> 0)
{// Kui andmed on saadaval, val = myPort.readStringUntil ('\ n'); // loe seda ja salvesta val
println (val);
String list = split (val, ','); // Avage loend iga sisendväärtuse võtmiseks
kui (nimekiri! = null)
{
if (list [0].equals ("0")) {// kui tabad caixa
caixa.play (); // Esita caixa heli
pilt (img2, 0, 80); // Caixa on ekraanil valgustatud
println ("caixa"); // printige see konsoolist välja
} else if (list [0].equals ("1")) {// kui tabate charles
charles.play (); // Esita charlesi heli
pilt (img3, 0, 80); // Charles on ekraanil valgustatud
println ("charles"); // printige see konsoolist välja
} else if (list [0].equals ("2")) {// Kui tabad tomtomi
tomtom.play (); // Esita tomtomi heli
pilt (img4, 0, 80); // Tomtom on ekraanil valgustatud
println ("tomtom"); // printige see konsoolist välja
} else if (list [0].equals ("3")) {// Kui tabasite krahhi
crash.play (); // Esita krahhi heli
pilt (img5, 0, 80); // Kokkuvarisemine on ekraanil valgustatud
println ("krahh"); // printige see konsoolist välja
} else if (list [0].equals ("4")) {// kui tabad pommi
bombo.play (); // Bombo heli esitamine
pilt (img6, 0, 80); // Bombo on ekraanil valgustatud
println ("pomm"); // printige see konsoolist välja
}
}
}
}
4. samm: ehitage see üles
Prototüübi realiseerimiseks on meil
kasutas protsessi lihtsustamiseks igapäevaseid elemente, kuid otsis alati funktsionaalsust ja head viimistlust.
Esimene samm oli kaablite keevitamine piesoelektriliste külge, lõigates need piisava pikkusega, et oleks vabadus aku lauale paigutamisel või seal, kus me harjutame.
Pärast mõningaid uuringuid täheldasime, et on oluline, et padi edastaks optimaalselt iga löögi vibratsiooni piesoelektrikule, nii et sellised materjalid nagu puit või plast jäeti kõrvale. Lõpuks otsustasime konservide jaoks kasutada metallkaaneid, mis vastavad oma funktsioonile ja on otstarbele sobiva välimusega.
Trummipulkadega proovides ja nagu oodatud, olid löögid liiga lärmakad ja eemaldusid vaikse trummi lahendusest. Selle lahendamiseks katame pinna kaane Eva vahuga, lõigatuna kaane keskmõõdu mõõtmeteni. See on liimitud kahepoolse teibiga, mis on piisavalt õhuke, nii et reljeef pole mängimisel märgatav. Lisaks, kuna kaanede serv tegi ikka tüütut häält, mis takistas meil mugavalt mängimast, panime servale mõned väikesed tilgad kuumsulamliimi, et vältida padja libisemist ja iga löögi pehmendamist nii palju kui võimalik.
Et vältida nelja padja puudutamisel hajumist, ühendasime need paarikaupa küljelt sisenenud keermestatud varda abil, mis oli seestpoolt väikese mutriga kinnitatud. Mängima asudes oli probleemiks see, et kuna see oli metallmaterjal, kandis see vibratsioone ühelt padjalt teisele üle, nii et kui me ühte mängisime, kõlas tema partner samal ajal.
Lõpuks eemaldasime vardad ja nägime, et piisab ja veelgi praktilisem kasutada piesokaablit liiduna.
Pedaali osas oli meil esialgne idee hoida pieso võileiva vahel; vältida pieso otsest lööki maapinnale. Selleks liimisime pieso puidust plaadile ja liimisime teise sama suurusega PVC plaadi, mille külge tegime väikese prao, mis hõlbustas ja mahutas nii pieso kui ka kaabli.
Alguses kasutasime mõlema plaadi jaoks PVC -d, kuid pärast mitmeid katseid saime aru, et see materjal neelas liiga palju lööki ja kandis selle pieso juurde.
Et vältida pedaali lahti ja liikumist sammu astudes, otsustasime võileiva vahele panna kummipaela, mis hoiab pedaali jalast kinni ja tagab iga löögi trumlis.
Lõpuks ehitasime parema viimistluse saavutamiseks ise väikese kasti, kus olid protoboard ja arduino. See on koht, kus 5 kaablit sisenevad ühest küljest ja võimaldavad USB -kaabli ühendamist teise kaudu. See on paigaldatud musta sulepapist, et seda oleks lihtne käsitseda ja jätkata kogu prototüübi mustvalge esteetikaga.
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust