Sisukord:

Sonic kikilips, autor David Boldevin Engen: 4 sammu (koos piltidega)
Sonic kikilips, autor David Boldevin Engen: 4 sammu (koos piltidega)

Video: Sonic kikilips, autor David Boldevin Engen: 4 sammu (koos piltidega)

Video: Sonic kikilips, autor David Boldevin Engen: 4 sammu (koos piltidega)
Video: Did You Know That In UP 2024, November
Anonim
Image
Image

Kompaktne kikilips, mis suudab pidevalt kuvada ümbritsevat heli neljal erineval sagedusel kahel peegeldatud 4x5 LED -massiivil

Selles õpetuses selgitatakse välja, kuidas valmistada kikilipsu, mis paneb sind silma paistma igas rahvahulgas.

Mida vajate selle projekti jaoks:

1 Arduino Pro Micro või sarnase suurusega Arduino, mis töötab sagedusel 16 MHz

40 3 mm LED -i

1 lihtne nupp

1 elektreetmikrofon

1 laetav 3,7 V 800mAh 25C 1-cell LiPo aku

10 100Ω takisti

1 10 kΩ takisti

1 220Ω takisti

Juurdepääs trükkplaadile (trükkplaat)

Odav reguleeritav konksuga/klambriga kikilips või lihtsalt reguleeritav haakimis-/klambrikael

Samm: printige trükkplaat

Printige trükkplaat
Printige trükkplaat

Trükkplaadi printimisel peate võib -olla kohandama.cmp -faili vastavalt tootja nõuetele. Originaalplaat valmistati siiski üsna ebatäpse meetodi abil, nii et enamik tootjaid suudavad suure tõenäosusega toota trükkplaati ilma muudatusteta. Piltidel näete trükkplaadi esi- ja tagakülge. Disain eeldab, et jootmisavad ei sisalda viasid ja neid saab paigutada ainult eraldi (PCB -des, kus on rohkem kui üks külgviaal, on kihtidevahelised ühendused).

Iga valgus on adresseeritud individuaalselt, kasutades tehnikat nimega Charlieplexing, mis võimaldab palju vähem sisendsõlme kui tavaline LED -maatriks, puuduseks on see, et korraga saab sisse lülitada ainult valgust, mis seab piirangu massiivi suurusele ja ilma märgatava vilkumiseta. Charliplexing töötab selle asemel, et omada kahte signaali 1 ja 0, sellel on kolm 1, 0 ja Z. Kui Z töötab nagu avatud ahel, on sellel väga suur takistus. Seega lülitatakse iga tuli sisse nii, et sõlm on kombinatsioonis 1, 0, Z, Z, Z, mis tähendab, et vool võib korraga liikuda ainult ühest sõlmest teise.

2. samm: jootke see kõik kokku

Kõik koos jootmine
Kõik koos jootmine

PCB tulede jootmisel on väga oluline joota LED -i positiivne külg järjekindlalt ruutudele ja negatiivne ringile. Kui teete vastupidi, lülitab koodis olev aadress sisse valed tuled ja ebajärjekindluse tõttu lülitatakse samad stiimulid sisse mitu valgust.

Seejärel jootke 10 100Ω takisti kikilipsu ette.

Seejärel ühendage teised osad skeemil näidatud viisil. Aku jootmine otse Arduino külge on hea, kuna see laeb uuesti, kui arduino on USB kaudu ühendatud. Enne kõigi tükkide liimimist PCB tagaküljele peaksite testima massiivi vigu.

Samm: koodi üleslaadimine ja silumine

Laadige ülaltoodud kood üles. Kui see on üles laaditud, vajutage selle aktiveerimiseks nuppu, nüüd peaks sissepoole suunatud kolmnurga kuju kerima kikilipsu üles või alla.

Kui te seda ei tee, kasutage vilkumise (LED) funktsiooni, mis võtab sisendiks numbri 1–20, iga valguse kohta eraldi tühjusahelas oleva aja (režiim = 0) tsükli kohta, kommenteerides samal ajal ülejäänud osa silmus.

void loop () {

samas (režiim == 0) {

Vilgub (1); // Ükshaaval testida, kas tuled töötavad nii nagu peavad ja millised mitte

// Blink (2); // järgmine samm kuni 20

/* kui (digitalRead (Button) == 0) {

režiim = 1;

Väljas();

turnOn (1);

viivitus (200);

murda;

}

Väljas(); */ // seda jaotist kommenteeritakse silumise ajal

}

…..

Silumine:

Kui mõlemal küljel on erinevad tuled, on jootmisel midagi valesti ja peaksite kahjustatud tuled desoldeerima ja uuesti toimingut 2 tegema.

Kui kahe tule paarid on välja lülitatud, võivad puududa vias.

Kui kaks valgust põlevad alati koos ja on vähem eredad kui teised, on üks joodetud valel viisil.

Kui iga tuli süttib eraldi, kuid ärge järgige koodi ülaosas olevates juhistes kirjeldatud mustrit, jagasite sammu 2.

muud probleemid võivad tekkida halbadest ühendustest või PCB lühisest.

Hoiatus: see segment on väga tehniline ja kikilipsu tegemiseks mittevajalik

Olen kirjutanud spektrianalüüsi koodi spetsiaalselt 16 MHz taktsagedusega Arduino jaoks. Nii et ma ei ole päris kindel, kui hästi see teistes süsteemides töötab, võib see põhjustada kõigi bändide väga erineva reageerimise, kuid see ei pruugi palju muutuda.

See töötab 60 proovi võtmisega umbes 6, 7 ms jooksul, mis on umbes 8, 9 kHz proovivõtu sagedus. Seejärel analüüsides neid 4 erineval viisil, andes 4 erinevat sagedust.

Kõrgeima sagedusega analüüs töötab kõigi teiste proovide võrdlemisega järgmisega, ruudu väärtuse määramise ja summeerimise iga proovi paari kohta. See annab suurima efekti umbes poole proovivõtu sageduse tõttu, nii et selle ribalaiuse filter on umbes 4, 4 kHz.

Ligikaudne matemaatiline valem analüüsiks:

Σ (ruut (x [2n-1] -x [2n]))

Järgmine töötab väga sarnaselt, kuid lisab kõigepealt kaks proovi korraga. See annab tõhusalt poole viimase süsteemi diskreetimissagedusest, filtreerides samal ajal välja kõrgeimad sagedused, luues ribalaiuse filtri umbes 2, 2 kHz.

Järgmine süsteem teeb sama, kuid kahe proovi korraga lisamise asemel lisab see 10, millest saab 440 Hz sagedusfiltri.

Viimane analüüs võtab kokku esimesed 30 proovi ja võrdleb seda viimase 30 summaga. Sellest saab tegelikult ribalaiuse filter 150 Hz jaoks.

Samm: liimige see kõik kokku

Liimige see kõik kokku
Liimige see kõik kokku

Oluline on hoida Arduino trükkplaadist eraldatud, kuna see võib kokkupuutel põhjustada lühise. Seda saab teha, kleepides need kokku elektrilindiga. tasakaalu saavutamiseks on kasulik ka see, et aku on kikilipsu ühel tiival ja mikrokontroller teisel. Peaksite proovima hoida kikilipsu keskosa üsna tühjana, sest see on koht, kus te ühendate kaelarihma, välja arvatud võimalik mikrofon, kuna see peaks paar millimeetrit välja paistma ja suunama söögitoru poole, see tähendab, et kui räägite kõik näevad seda kõige selgemini.

Pidage meeles: kikilipsu tagaküljel on funktsionaalsus palju olulisem kui esteetika, sest keegi ei näe seda.

Soovitan: