Kazalo:

Signalna lučka za kolo: 10 korakov (s slikami)
Signalna lučka za kolo: 10 korakov (s slikami)

Video: Signalna lučka za kolo: 10 korakov (s slikami)

Video: Signalna lučka za kolo: 10 korakov (s slikami)
Video: Экран под ванну (со скрытым люком) 2024, November
Anonim
Ročna signalna luč za kolo
Ročna signalna luč za kolo

Cilj tega projekta je ustvariti luč, ki se prilega kolesarski rokavici in kaže v smeri predvidenega zavoja, za večjo vidljivost ponoči. Biti mora lahek, enostaven za uporabo in integriran z obstoječimi gibi signalizacije (minimalno prilagajanje metode signala (ni vam treba pritisniti gumba, deluje samo, ko signalizirate)). To bi bilo odlično darilo za praznike.

Opomba: To zahteva predhodno znanje o spajkanju in ideja o programiranju AVR -jev je velik plus. S tem v mislih se imejte zabavni, potrpežljivi in spodaj objavite slike svojega izdelka! Tukaj je video: In tukaj je moja slika:

1. korak: Deli

Deli
Deli

x1 ATmega 32L 8PU (www.digikey.com) x1 40-polna DIP vtičnica (www.digikey.com) x1 LED matrika 8x8 (www.sparkfun.com) x1 74138 De-multiplekser (www.digikey.com) x2 Senzorji Flex (www.sparkfun.com) x (Veliko) Upori 180 ohmov in 10 k ohmx2 PC plošča (www.sparkfun.com) x6 Stojala (www.sparkfun.com) in vijaki za pritrditev (lokalna trgovina s strojno opremo) x1 Merilnik pospeška na odklopni plošči (www.sparkfun.com) x2 glave - moške (www.sparkfun.com), ženske (www.sparkfun.com) in pravokotne (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 8 -polne vtičnice (Jaz sem ga dobil v Radio Shacku) x1 9v baterija x1 nožna palica na velcrox1 polnoprstna kolesarska rokavicax1 tuljava poliestrska nit x1 programer (imam tega) x1 odstranjevalec žice in multimeter clipx1 Nekateri deli:

2. korak: Pripravite plošče

Pripravite deske
Pripravite deske
Pripravite deske
Pripravite deske
Pripravite deske
Pripravite deske
Pripravite deske
Pripravite deske

Najprej dodajte odstopanja. Za pravilno višino boste morali priviti dva skupaj. Prepričajte se, da se odstopanja spuščajo s strani z blazinicami SQUARE. Na ta način lahko premostite blazinice s spajkanjem na dnu in premostite s skupno blazinico na vrhu za povezavo z maso. Nato dodajte matriko LED in jo spajkajte. To mora biti čim bolj do roba plošče z dvema stanovalcema, kolikor je lahko z YS obrnjeno proti nasprotni strani. Zatič spodaj levo je nožica 1. (Označena je tudi na sliki.) Nato dodajte dve 8 -polni vtičnici eno na drugo, tako da tvorite eno 16 -polno vtičnico. Poskrbite, da boste imeli levo mesto na levi strani in nato to spajkajte. Nato razdelite moške in ženske glave na 10 in 11 polni odsek. Potrebovali boste dvakrat več ženskih glav. Spajajte tiste, kot je prikazano na fotografiji. Kar zadeva moške glave, morate zatič premakniti tako, da je enak na vsaki strani plastike. Najlažje je pogledati sliko, da vidite, kaj mislim, zato poglejte številko 6. Uporabil sem nekaj klešč in se je zelo dobro obnesel. Če vzamete moške glave in jih postavite med dve ženski glavi, boste videli, da sta zdaj prave velikosti, da povežeta zgornjo in spodnjo ploščo.

Korak: Dodajte upore

Dodajte upore
Dodajte upore
Dodajte upore
Dodajte upore
Dodajte upore
Dodajte upore

Ti upori gredo med niz LED in 74138 (ozemljitev), da zaščitijo niz. Eden od vodnikov upora upognite na vrh, tako da sta oba vzporedna. Namestite jih na zatiče 7, 9, 10, 11, 12, 13, 14 in 15 in jih spajkajte. Ugotovil sem, da najbolje deluje, če zamenjate smer upora, kot lahko vidite na drugi in tretji sliki.

4. korak: Povežite vrh

Ožičite vrh
Ožičite vrh
Ožičite vrh
Ožičite vrh
Ožičite vrh
Ožičite vrh
Ožičite vrh
Ožičite vrh

To je daleč najdaljši korak projekta, zato upam, da vam je všeč spajkanje! Samo sledite spodnji shemi in se prepričajte, da preizkusite kontinuiteto z multimetrom. Če želite vedeti, kako sem prišel s shematskim pregledom podatkovnega lista za matriko in 74138.

5. korak: Napolnite dno

Naseli dno
Naseli dno
Naseli dno
Naseli dno
Naseli dno
Naseli dno
Naseli dno
Naseli dno

Zdaj je čas, da svoje osnovne komponente postavimo na spodnjo ploščo. Najprej naredimo 40 -polno DIP vtičnico, ki je čim bližje levemu zgornjemu delu, pri tem pa pusti eno vrstico prostora na levi strani. (Glejte sliko št. 1). Spajkajte in vstavite glave. Najlažji način za to je, da povežete tiste na vrhu s tistimi, ki bodo na dnu z uporabo spremenjenih moških glav. Če ste naredili vse pravilno, bi morali na koncu s tremi zgornjimi tremi zatiči na levi glavi poleg spodnjih desnih zatičev na vtičnici. To je v redu. Uporabljamo samo najnižji zatič na desni in kot vidite, imamo nanj jasen strel iz druge smeri. Zdaj dodajte regulator napetosti, kot je prikazano na sliki. Jaz sem svojega pritrdil skozi luknjo v kovinskem hladilniku z vijakom in matico. Hladilnik je še en način za ozemljitev čipa in pritrditev na ploščo zagotavlja trden stik s skupno povezavo. To je povezano tako z dnom kot z vrhom, ker sta povezana s kovinskimi oporniki. Če pa ne uporabljate skupne povezave za ozemljitev, hladilnika NE privijačite na ploščo, saj hladilnik služi kot ozemljitev in boste verjetno kaj kratek stik. Naslednja žica v sponki za baterijo. Rdeča preide na zatič na levi (s hladilnikom navzgor in z zatiči navzdol) črna na sredino in desni zatič proizvaja +5V. Zdaj lahko priključite napajanje na vrh (glejte sliko št. 2). Zdaj za priključek za programerje. Imam adapter, ki sem ga naredil za svojega programerja, vendar boste verjetno želeli v svojo zasnovo vključiti 6 -polno (3x2) glavo. Če pa imate adapter, kot sem jaz, sem to naredil. Vzel sem glavo pod pravim kotom in žensko glavo ter jih spajal skupaj (slika št. 3). Nato sem ga pritrdil na ploščo s prvim zatičem, priključenim na pin 6. Zdaj morate napajati in ozemljiti čip ter ožičenje v uporu, da potegnete reset visoko. Potekel sem 10k upor od pin 9 do pin 10 in nato priključil pin 10 na +5v. Naslednji zatič (11) gre na skupno povezavo (ozemljitev). Končno poglejte sliko št. 4, da dokončate ta korak (precej samoumevno).

6. korak: Spodaj ožičite

Ožičite spodnji del
Ožičite spodnji del
Ožičite spodnji del
Ožičite spodnji del
Ožičite spodnji del
Ožičite spodnji del

Se spomnite tistega res zabavnega koraka, pri katerem morate zagnati več kot 30 žic, da LED -matrica deluje? Zdaj lahko to storite znova! Na dnu !. Ta je sicer malo hitrejši, vendar ne veliko. Še enkrat poglejte shemo in preverite vse svoje povezave z multimetrom. Ne skrbite, to je zadnji veliki spajkalni del projekta in skoraj ste končali.

7. korak: upogljivi senzorji in merilnik pospeška

Prilagodljivi senzorji in merilnik pospeška
Prilagodljivi senzorji in merilnik pospeška
Prilagodljivi senzorji in merilnik pospeška
Prilagodljivi senzorji in merilnik pospeška
Prilagodljivi senzorji in merilnik pospeška
Prilagodljivi senzorji in merilnik pospeška

Najprej se bomo lotili senzorjev upogibanja, a kar zadeva strojno opremo, ste doma. Mislim, da spodnje slike precej razlagajo, kaj storiti. Priključite en pin na +5v, drugega na tretji ali četrti pin z vrha na desni strani AVR (mikrokrmilnik v osrčju tega projekta). Ko sem to prvič sestavil, sem mislil, da je to vse, kar moram storiti, vendar se je izkazalo, da morate za branje senzorjev upogibanja AVR vstaviti upor iz zatiča na senzorju, ki gre na AVR na tla (glejte slike # 10 in 11). Uporabil sem 10k. To deli napetost, ki gre na AVR, kar skoraj podvoji občutljivost senzorja. Zdaj pa merilnik pospeška. Ker je merilnik pospeška le za las višji od prostora med obema ploščama in ker bi ga nekega dne morda želeli zamenjati, sem se odločil, da ga z glavami iztrgam in povežem. S pravokotno glavo povežite s 6 zatiči na odklopni plošči. Zdaj vzemite še eno glavo z desnim kotom in spajkajte žensko glavo na kratke zatiče, nato pa jo spajkajte v spodnji levi del plošče. Priključite merilnik pospeška, da se prepriča, da se prilega, ga odklopite in nato priključite ustrezne zatiče na Vcc (+5v) in Gnd. Nato priključite izhod X na pin 40 in Y na pin 39. Zdaj morate nastaviti, da dodate IC (integrirana vezja) in ga vklopite.

26. december 2009: Ugotovil sem, da je zaradi načina namestitve senzorja upogibanja kazalca material, ki povezuje senzor s čepi, propadel. Od takrat sem kupil nadomestni senzor in vroče zlepil kos tanke plastike na senzor, da preprečim, da bi to območje večino upogibalo. Na spodnji fotografiji sem označil lokacijo.

8. korak: Dodajanje IC -jev in prvega programa

Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa
Dodajanje IC -jev in prvega programa

To je verjetno najlažji korak v celotnem procesu. Še enkrat slika pomaga. Prepričajte se, da imate čipe na pravilen način, kot je razloženo na sliki #3. Najprej bi priklopil napajanje brez povezave in se dotaknil hladilnika na regulatorju napetosti. Če je vroče, potem nekaj primanjkuje, zato se morate vrniti in preveriti povezave. Nadaljujte tako, dodajajte en čip naenkrat, občutite toploto in ko je vse na svojem mestu, privijte matice na spodnji plošči, tako da sta obe plošči varno pritrjeni skupaj. Nato boste programirali AVR. Če tega še niste storili, hitro iskanje v Googlu prinese obilo rezultatov. Če bi bil jaz na vašem mestu, bi svoj AVR postavil na ploščo in program, preden ga poskusite na svojem trdem delu. Napisal sem preprost program za prenos informacij, prejetih od senzorjev flex, v matriko LED. To bi vam moralo dati osnovno predstavo o tem, kaj deluje in kaj ne deluje v vašem vezju. Tukaj je video kode v akciji …… in tukaj je koda: #define F_CPU 800000UL #include #include #include void ADCINIT () { ADMUX = 0b01100000; ADCSRA = 0b10000000;} int main () {int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADCINIT (); medtem ko (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _dey_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _dey_ms (1); PORTB = 0x00; }}

9. korak: pritrditev kroga na rokavico

Pritrditev kroga na rokavico
Pritrditev kroga na rokavico
Pritrditev kroga na rokavico
Pritrditev kroga na rokavico
Pritrditev kroga na rokavico
Pritrditev kroga na rokavico

Mislim, da obstaja veliko načinov, kako svoje vezje pritrditi na roko in nekaj časa sem mislil, da bom to prepustil bralcu, potem pa sem se odločil, da navodila ne bodo popolna brez tega zaprtja. Odšel sem v lokalno trgovino s kolesi in dobil najcenejšo rokavico s polnimi prsti, ki sem jo našel. Polni prst je potreben, ker v nasprotnem primeru senzorjev upogibanja ne morete dobro pritrditi. Nato sem šel v trgovino s tkaninami in dobil poliestrsko nit in lepljiv velcro. Oblekel sem rokavico in vezje položil na roko. Del pozicioniranja je udobje, drugi del pa so senzorji upogibanja. Morali bi iti navzdol po sredini dveh prstov. Okoli treh odmikov sem zašil zanke za držanje glavne plošče (glej sliko št. 2) in nato zrahljal zanke 3/4 poti navzdol po vsakem prstu senzorja upogibanja (#3 in 4). Pazite, da rokavic ne zašijete. Nato sem na stran palca prilepil košček velcro, da je držal baterijo. Po testiranju sem ugotovil, da se tudi to res splača prišiti, saj palica ne traja predolgo. Nato sem okoli 9v postavil zanko z ježkom (slika 5). Zdi se, da ta nastavitev deluje zelo dobro. Kot vidite na slikah na prvem in zadnjem diapozitivu, sem zdaj dodal rokave za senzorje upogibanja, če pa nimate časa, bi morale biti zanke v redu. Ko končate s svojim projektom, objavite fotografije svojega končnega izdelka. spodaj. Rad bi videl, kaj ste pripravili, da pritrdite vezje!

10. korak: Prava koda

Prava koda
Prava koda

Hvala, ker ste bili doslej z mano. Upoštevajte, da moja koda ni popolna. Ugotovil sem, da se je potrebno malo naučiti, da signal deluje pravilno. Še naprej bom poskušal izpopolniti svoj sistem in ko bom to napisal, bom to stran posodabljal z novo kodo. 26. december 2009: NOVA KODA! Objavljeno je tam, kjer je bila stara koda. Najlepša hvala Jakobu za poenostavitev. Res dobro deluje. Tukaj je. Hvala za branje in ne pozabite glasovati! #include #include #include // Nastavi ali počisti bite v registrih #define setBit (sfr, bit) (sfr | = (1 << bit)) #define clearBit (sfr, bit) (sfr & = ~ (1 << bit)) #define flipBit (sfr, bit) (sfr ^= (1 << bit)) #define FALSE 0 #define TRUE 1 #define matrixX (x) (PORTA = (x - 1) << 5) #define matrixGY (y) (PORTD = y) #define matrixRY (y) (PORTB = y) void delay (unsigned int delay) {unsigned int x = 0; while (x <zakasnitev) {x ++; }} void initMatrix () {DDRD = 0xFF; // Zeleni nadzor DDRB = 0xFF; // Rdeča krmilna enota DDRA = 0xE0; // zemeljski nadzor} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (stolpec); int i = 0; za (i = 0; i <8; i ++) {matrixGY (zelena maska & (1 << i)); matrixRY (redmask & (1 << i)); _delay_us (150); } matrixGY (0x00); matrixRY (0x00); } void matrixLeft () {matrixRowDraw (0x10, 0, 1); matrixRowDraw (0x20, 0, 2); matrixRowDraw (0x40, 0, 3); matrixRowDraw (0xFF, 0, 4); matrixRowDraw (0xFF, 0, 5); matrixRowDraw (0x40, 0, 6); matrixRowDraw (0x20, 0, 7); matrixRowDraw (0x10, 0, 8); } void matrixRight () {matrixRowDraw (0x18, 0, 1); matrixRowDraw (0x18, 0, 2); matrixRowDraw (0x18, 0, 3); matrixRowDraw (0x18, 0, 4); matrixRowDraw (0x99, 0, 5); matrixRowDraw (0x5A, 0, 6); matrixRowDraw (0x3C, 0, 7); matrixRowDraw (0x18, 0, 8); } void adcInit () {ADMUX = 0x60; ADCSRA = 0x80; } char adcGet (char chan) {ADMUX = 0x60 | chan; ADCSRA | = 0x40; while (bit_is_clear (ADCSRA, ADIF)); vrniti ADCH; } char adcAvg (char chan, char avgnum) // Povprečno le do 256 vzorcev {int i = 0; brez podpisa int skupaj = 0; za (i = 0; i <avgnum; i ++) {skupaj+= adcGet (chan); } vrnitev skupaj/avgnum; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Tu je treba šestnajstiške vrednosti spremeniti glede na nastavitve uporabnikov za določitev občutljivosti senzorjev upogibanja. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } if (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} vrni 0; } Posebna zahvala komornikom, mojim staršem in prijateljem, ki so pomagali.

Finalist na tekmovanju Domače počitnice

Priporočena: