Sončna metulja, David Boldevin Engen: 4 koraki (s slikami)
Sončna metulja, David Boldevin Engen: 4 koraki (s slikami)
Anonim
Image
Image

Kompaktna metuljček, ki lahko neprekinjeno prikazuje zvok v štirih različnih frekvencah na svojih dveh zrcaljenih LED diodah 4x5

Ta vadnica bo opisala, kako narediti metuljček, s katerim boste izstopali v kateri koli množici.

Kaj potrebujete za ta projekt:

1 Arduino Pro Micro ali Arduino podobne velikosti, ki deluje pri 16 MHz

40 3 mm LED

1 preprost gumb

1 električni mikrofon

1 Polnilna 3,7V 800mAh 25C 1-celična LiPo baterija

10 100Ω upori

1 10kΩ upor

1 220Ω upor

Dostop do tiskanega vezja (tiskana vezja)

Poceni nastavljiva kljukasta/pripenjajoča se metuljček ali samo nastavljiv pritrdilni/pritrdilni pas

1. korak: Natisnite tiskano vezje

Natisnite tiskano vezje
Natisnite tiskano vezje

Pri tiskanju vezja boste morda morali datoteko.cmp prilagoditi zahtevam proizvajalca. Vendar je bila plošča v izvirniku izdelana po dokaj netočni metodi, zato bo večina proizvajalcev najverjetneje lahko proizvedla PCB brez sprememb. Na slikah lahko vidite sprednjo in zadnjo stran tiskanega vezja. Zasnova predvideva, da luknje za spajkanje ne vsebujejo vijakov in da jih je mogoče namestiti samo ločeno (v tiskanih vezjih z več kot eno stransko odprtino so povezave med plastmi).

Vsaka luč je naslovljena posamično s tehniko, imenovano Charlieplexing, ki omogoča veliko manj vhodnih vozlišč kot običajna LED matrika, pomanjkljivost pa je, da se lahko naenkrat vklopi le luč, kar določa mejo, kako velika je lahko matrika in brez opaznega utripanja. Charliplexing deluje tako, da namesto dveh signalov 1 in 0 ima tri 1, 0 in Z. Kjer Z deluje kot odprto vezje, z zelo visoko impedanco. Tako se vsaka luč prižge tako, da je vozlišče v kombinaciji 1, 0, Z, Z, Z, kar pomeni, da lahko tok prehaja le iz enega vozlišča naenkrat.

Korak: Spajkajte vse skupaj

Spajkanje skupaj
Spajkanje skupaj

Pri spajkanju luči na tiskanem vezju je zelo pomembno dosledno spajkati pozitivno stran LED na kvadrate in negativno na krog. Če to storite nasprotno, bo naslov v kodi prižgal napačne luči, zaradi nedoslednosti pa se bo zaradi enakih dražljajev vklopilo več luči.

Nato spajkajte 10 100Ω uporov na sprednji del metuljčka.

Nato ostale dele povežite na način, prikazan na shemi vezja, v redu je, da baterijo spajkate neposredno na Arduino, saj se bo napolnila, ko bo arduino priključen prek USB -ja. Pred lepljenjem vseh kosov na zadnjo stran tiskanega vezja morate preizkusiti napake v matriki.

3. korak: Nalaganje kode in odpravljanje napak

Naložite zgornjo kodo. Ko je naložen, pritisnite gumb, da ga aktivirate, zdaj pa bi se morala oblika trikotnika, obrnjena navznoter, pomikati navzgor ali navzdol po metulji.

Če tega ne storite, uporabite funkcijo utripanja (LED), ki vnese številko 1-20, za vsako svetlobo posebej v zanki while (način = 0) v zanki void, medtem ko preostanek komentirate zanka.

void loop () {

while (način == 0) {

Utripa (1); // En za drugim preizkusimo, ali luči delujejo tako, kot bi morale, in katere ne

// Utripa (2); // naslednji korak vse do 20

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

način = 1;

Izklopljeno ();

turnOn (1);

zamuda (200);

zlom;

}

Izklopljeno (); */ // ta odsek je komentiran med odpravljanjem napak

}

…..

Odpravljanje napak:

Če imate na vsaki strani različne luči, je s spajkanjem nekaj narobe, zato morate razsvetliti prizadete luči in znova narediti korak 2.

Če sta para dveh luči izklopljena, morda manjkata vias.

Če se dve luči vedno prižgeta skupaj in sta manj svetli od drugih, je ena spajkana na napačno pot.

Če se vsaka lučka prižge posamično, vendar ne sledite vzorcu, opisanemu v navodilih na vrhu kode, ste zamotili 2. korak.

druge težave lahko nastanejo zaradi slabih povezav ali kratkega stika na tiskanem vezju.

Opozorilo: Ta segment je zelo tehničen in nepotreben za izdelavo metuljčka

Kodo za analizo spektra sem napisal posebej za Arduino s taktno frekvenco 16MHz. Tako da nisem povsem prepričan, kako dobro bo deloval na drugih sistemih, lahko povzroči, da se bodo vsi pasovi odzvali zelo različno, vendar se morda ne bo kaj dosti spremenilo.

Deluje tako, da vzame približno 60 vzorcev v približno 6,77 ms, kar je frekvenca vzorčenja približno 8,99 kHz. Nato jih analiziramo na 4 različne načine in damo 4 različne frekvence.

Analiza najvišje frekvence deluje tako, da vsak drugi vzorec primerja z naslednjim, vrednost povzame v kvadrat in jo sešteje za vsak par vzorcev. To daje največji učinek okoli polovice frekvence vzorčenja, zato je pasovni filter okoli 4, 4 kHz.

Groba matematična formula za analizo:

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

Naslednji deluje zelo podobno, vendar najprej doda dva vzorca hkrati. To učinkovito daje polovico frekvence vzorčenja zadnjega sistema, hkrati pa filtrira najvišje frekvence, kar ustvarja pasovni filter okoli 2, 2 kHz.

Naslednji sistem naredi enako, namesto da hkrati doda 2 vzorca, doda 10, ki postane pasovni filter za 440Hz.

Zadnja analiza povzame prvih 30 vzorcev in jih primerja z vsoto zadnjih 30. To dejansko postane pasovni filter za 150Hz.

4. korak: Lepite vse skupaj

Lepite vse skupaj
Lepite vse skupaj

Pomembno je, da Arduino ločite od tiskanega vezja, saj lahko pride do kratkega stika, če pridejo v stik. To lahko storite tako, da jih lepite skupaj z električnim trakom. prav tako je za ravnotežje ugodno imeti baterijo na enem krilu metuljčka, mikrokrmilnik pa na drugem. Poskusite ohraniti sredino metuljčka dokaj prazno, saj tukaj povežete ovratnik, z izjemo mikrofona, ki naj bi štrlel nekaj milimetrov in pokazal proti požiralniku, kar bo pomenilo, da ko govorite vsi bodo videli, da je to najbolj jasno.

Ne pozabite: na zadnji strani metuljčka je funkcionalnost veliko pomembnejša od estetike, saj tega nihče ne bo videl.

Priporočena: