Sisällysluettelo:

Polkupyörän käsivalovalo: 10 vaihetta (kuvilla)
Polkupyörän käsivalovalo: 10 vaihetta (kuvilla)

Video: Polkupyörän käsivalovalo: 10 vaihetta (kuvilla)

Video: Polkupyörän käsivalovalo: 10 vaihetta (kuvilla)
Video: Heikki Kuula - Pöllin polkupyörän 2024, Marraskuu
Anonim
Polkupyörän käsivalo
Polkupyörän käsivalo

Tämän projektin tavoitteena on luoda valo, joka sopii pyöräkäsineeseen ja osoittaa suunnatun käännöksen suuntaan, parantaa näkyvyyttä yöllä. Sen pitäisi olla kevyt, helppokäyttöinen ja integroitu olemassa oleviin signalointiliikkeisiin (signaalimenetelmän minimaalinen säätäminen (sinun ei tarvitse painaa painiketta, se menee vain, kun signaali). Tämä olisi loistava joululahja.

Huomautus: Tämä edellyttää aiempaa juotososaamista ja käsitystä AVR: ien ohjelmoinnista on suuri plussa. Pidä tämä mielessä, pidä hauskaa, ole kärsivällinen ja lähetä kuvia tuotteestasi alla! Tässä video: Ja tässä kuva minusta:

Vaihe 1: Osat

Osat
Osat

x1 ATmega 32L 8PU (www.digikey.com) x1 40-nastainen DIP-liitäntä (www.digikey.com) x1 8x8 LED Array (www.sparkfun.com) x1 74138 Multiplexer (www.digikey.com) x2 Flex-anturit (www.sparkfun.com) x (monet) vastukset 180 ohmia ja 10 k ohmia x 2 PC -korttia (www.sparkfun.com) x6 seisokit (www.sparkfun.com) ja sopivat ruuvit (paikallinen rautakauppa) x1 kiihtyvyysmittari katkaisulaudalla (www.sparkfun.com) x2 otsikkoa - uros (www.sparkfun.com), naaras (www.sparkfun.com) ja oikea kulma (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 8 -nastaista liitintä (Sain omani Radio Shackissa) x1 9v paristox1 jalkatappi, tarranauha

Vaihe 2: Valmistele levyt

Valmistele levyt
Valmistele levyt
Valmistele levyt
Valmistele levyt
Valmistele levyt
Valmistele levyt
Valmistele levyt
Valmistele levyt

Lisää ensin pysäytykset. Sinun on ruuvattava kaksi yhteen sopivan korkeuden saavuttamiseksi. Varmista, että pysähdykset laskeutuvat sivulta SQUARE -tyynyillä. Tällä tavalla voit silittää tyynyjä, joissa on juote pohjassa, ja siltaa yläpuolella olevan yhteisen tyynyn kanssa, jotta voit muodostaa yhteyden maahan. Lisää seuraavaksi LED -ryhmä ja juota se sisään. Sen tulisi olla niin pitkälle levyn reunaan, että molemmat stanoffit ovat niin, että YS on vastakkaiselle puolelle. Vasemmassa alakulmassa oleva nasta on nasta 1. (Se on myös merkitty kuvaan.) Lisää seuraavaksi kaksi 8 -napaista pistorasiaa päällekkäin niin, että muodostuu yksi 16 -nastainen hylsy. Varmista, että vasemmalla on yksi väli ja juota sitten sisään. Jaa seuraavaksi uros- ja naarasotsikot 10 ja 11 -nastaisiin osiin. Tarvitset kaksi kertaa enemmän naarasotsikoita. Juottaa ne kuvan mukaisesti. Mitä tulee miespuolisiin otsikoihin, sinun on siirrettävä tappi niin, että niitä on yhtä paljon muovin kummallakin puolella. Helpointa on katsoa kuvaa nähdäksesi, mitä tarkoitan, joten katso #6. Käytin joitakin pihtejä ja se toimi melko hyvin. Jos otat miespuoliset otsikot ja asetat ne kahden naarasotsikon väliin, näet, että ne ovat nyt oikean kokoisia liittämään ylä- ja alalevy yhteen.

Vaihe 3: Lisää vastukset

Lisää vastukset
Lisää vastukset
Lisää vastukset
Lisää vastukset
Lisää vastukset
Lisää vastukset

Nämä vastukset menevät LED -ryhmän ja 74138: n (maadoitus) väliin ryhmän suojaamiseksi. Taita yksi johtimen johtimista ylhäältä niin, että kaksi johtoa ovat yhdensuuntaiset. Asenna ne tappeihin 7, 9, 10, 11, 12, 13, 14 ja 15 ja juotokseen. Huomasin, että se toimii parhaiten, jos vaihdat vastuksen suuntaa, kuten näet toisessa ja kolmannessa kuvassa.

Vaihe 4: Johda yläosa

Johto yläosaan
Johto yläosaan
Johto yläosaan
Johto yläosaan
Johto yläosaan
Johto yläosaan
Johto yläosaan
Johto yläosaan

Tämä on ylivoimaisesti pisin vaihe projektissa, joten toivon varmasti, että pidät juottamisesta! Noudata alla olevaa kaaviota ja varmista, että testaat jatkuvuuden yleismittarisi kanssa. Jos haluat tietää, miten tulin meille kaavamaisen tarkastelun taulukon taulukkoon ja 74138: een.

Vaihe 5: Täytä pohja

Täytä pohja
Täytä pohja
Täytä pohja
Täytä pohja
Täytä pohja
Täytä pohja
Täytä pohja
Täytä pohja

Nyt on aika sijoittaa peruskomponentit pohjalevylle. Ensin teemme 40 -nastaisen DIP -pistorasian, joka menee niin lähelle vasenta yläkulmaa kuin mahdollista, jättäen kuitenkin yhden rivin tilaa vasemmalle puolelle. (Katso kuva #1.) Juotos siihen ja aseta sitten otsikot. Helpoin tapa tehdä tämä on liittää ylhäällä olevat ja ne, jotka tulevat alaosaan käyttämällä muokattuja urosotsikoita. Jos teit kaiken oikein, sinun pitäisi päätyä siihen, että vasemman otsikon kolme ylintä nastaa ovat pistorasian oikean alakulman vieressä. Tämä on ok. Käytämme vain alinta tappia oikealla ja kuten näet, meillä on selkeä laukaus siihen toisesta suunnasta. Lisää nyt jännitesäädin kuvan osoittamalla tavalla. Kiinnitin omani metallisen jäähdytyselementin reiän läpi ruuvilla ja mutterilla. Jäähdytyselementti on toinen tapa lastaa siru ja ruuvaamalla se levylle tarjoaa kiinteän kosketuksen yhteiseen liitokseen. Tämä on kytketty sekä alaosaan että yläosaan, koska nämä kaksi on yhdistetty metallivasteisiin. Jos et kuitenkaan käytä yhteistä maadoitusliitäntää, ÄLÄ ruuvaa jäähdytyselementtiä levyyn, koska jäähdytyselementti toimii maana ja luultavasti aiheuttaa oikosulun. Seuraava johto akun pidikkeessä. Punainen menee vasemmanpuoleiseen nastaan (jäähdytyselementti ylös ja nastat alas) musta keskelle ja oikea nasta tuottaa +5v. Nyt voit kytkeä virran päälle (katso kuva #2). Nyt ohjelmointiliittimelle. Minulla on sovitin, jonka tein ohjelmoijalleni, mutta luultavasti haluat sisällyttää 6 -nastaisen (3x2) otsikon suunnitteluun. Kuitenkin, jos sinulla on sovitin kuten minulla, tässä on mitä tein. Otin suorakulmaisen otsikon ja naarasotsikon ja juotin ne yhteen (kuva #3). Sitten kiinnitin sen levylle ensimmäisen tapin ollessa kytketty nastaan 6. Nyt sinun on kytkettävä virta ja maadoitettava siru sekä johdotus vastukseen vetääksesi nollaus korkealle. Ajoin 10k vastuksen nastasta 9 nastaan 10 ja kytkin sitten nastan 10 +5v. Seuraava tappi (11) menee yhteiseen liitäntään (maadoitus). Lopuksi katso kuva #4 lopettaaksesi tämän vaiheen (se on melko itsestään selvää).

Vaihe 6: Johdottele pohja

Lanka alaosaan
Lanka alaosaan
Lanka alaosaan
Lanka alaosaan
Lanka alaosaan
Lanka alaosaan

Muista se todella hauska vaihe, jossa sinun on suoritettava yli 30 johtoa saadaksesi LED -järjestelmän toimimaan? Nyt voit tehdä sen uudelleen! Pohjalla!. Tämä on hieman nopeampi, mutta ei minun paljon. Katso jälleen kaaviota ja tarkista kaikki yhteydet yleismittarillasi. Älä huoli, tämä on projektin viimeinen suuri juotososa ja olet melkein valmis.

Vaihe 7: Flex -anturit ja kiihtyvyysanturi

Flex -anturit ja kiihtyvyysanturi
Flex -anturit ja kiihtyvyysanturi
Flex -anturit ja kiihtyvyysanturi
Flex -anturit ja kiihtyvyysanturi
Flex -anturit ja kiihtyvyysanturi
Flex -anturit ja kiihtyvyysanturi

Käsittelemme ensin flex -antureita, mutta olet kotivälillä laitteiston suhteen. Luulen, että alla olevat kuvat selittävät melko paljon, mitä tehdä. Kytke yksi nasta +5v toiseen AVR: n oikeanpuoleisen yläosan kolmanteen tai neljänteen nastaan (Mikroohjain tämän projektin ytimessä). Kun laitoin tämän ensimmäisen kerran yhteen, ajattelin, että se oli kaikki mitä minun tarvitsi tehdä, mutta käy ilmi, että AVR: n lukemaan joustavat anturit sinun on asetettava vastus AVR: ään menevän anturin tapista maahan (katso kuvat # 10 ja 11). Käytin 10k. Tämä jakaa AVR: ään menevän jännitteen, mikä käytännössä kaksinkertaistaa anturin herkkyyden. Nyt kiihtyvyysmittariin. Koska kiihtyvyysmittari on vain hiuksia korkeampi kuin kahden levyn välinen tila ja koska ehkä haluamme vaihtaa sen jonain päivänä, olen päättänyt käyttää otsikoita sen poistamiseksi levyltä ja yhdistämiseksi. Käytä suorakulmaista otsikkoa liittämään katkaisulaudan 6 nastaan. Ota nyt toinen suorakulmainen otsikko ja juota naarasotsikko lyhyisiin nastoihin ja juota tämä levyn vasempaan alakulmaan. Kytke kiihtyvyysmittari pistorasiaan varmistaaksesi, että se sopii, irrota pistoke ja kytke sitten oikeat nastat Vcc (+5v) ja Gnd. Liitä sitten nastainen lähtö X nastaan 40 ja Y nastaan 39. Nyt sinun on asetettava lisäämään IC: t (integroidut piirit) ja kytkemään se päälle.

26.12.2009: Olen havainnut, että tapa, jolla asensin etusormen taipumistunnistimen, aiheutti anturin ja nastojen yhdistävän materiaalin huononemisen. Olen sittemmin ostanut korvaavan anturin ja liimattu anturiin pala kuumaa ohutta muovia, jotta tämä alue ei olisi suurin osa taivutuksesta. Merkitsin sijainnin alla olevaan kuvaan.

Vaihe 8: IC: n ja ensimmäisen ohjelman lisääminen

Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma
Lisätään IC: t ja ensimmäinen ohjelma

Tämä on todennäköisesti koko prosessin helpoin vaihe. Kuva auttaa jälleen. Varmista, että sirut ovat oikealla tavalla, kuten kuvassa #3 selitetään. Kytkisin ensin virran ilman mitään kytkentää ja kosketa jännitesäätimen jäähdytyselementtiä. Jos on kuuma, jokin on oikosulussa ja sinun on palattava ja tarkistettava yhteydet. Jatka tällä tavalla lisäämällä yksi siru kerrallaan, tunne lämpöä ja kun kaikki on paikallaan, kiristä alalevyn mutterit niin, että molemmat levyt kiinnittyvät tukevasti yhteen. Seuraavaksi ohjelmoit AVR: n. Jos et ole koskaan tehnyt tätä aiemmin, nopea google -haku tuottaa lukuisia tuloksia. Jos olisin sinä, asettaisin AVR: n leipäpöydälle ja ohjelmoisin sen ennen kuin yrität sitä kovalla työlläsi. Kirjoitin yksinkertaisen ohjelman tulostamaan flex -antureista vastaanotetut tiedot LED -ryhmään. Tämän pitäisi antaa sinulle peruskuva siitä, mikä toimii ja mikä ei toimi piirissäsi. Tässä on video koodista toiminnassa …… ja tässä on koodi: #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 (); kun taas (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _viive_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _viive_ms (1); PORTB = 0x00; }}

Vaihe 9: Liitoksen kiinnittäminen käsineeseen

Circutin kiinnittäminen käsineeseen
Circutin kiinnittäminen käsineeseen
Circutin kiinnittäminen käsineeseen
Circutin kiinnittäminen käsineeseen
Circutin kiinnittäminen käsineeseen
Circutin kiinnittäminen käsineeseen

Luulen, että on monia tapoja liittää virtapiiri käteen ja ajattelin jonkin aikaa jättää sen lukijan tehtäväksi, mutta päätin sitten, että ohje ei olisi täydellinen ilman tätä sulkemista. sain halvimman kokosormen, jonka löysin. Täysi sormi on tarpeen, koska muuten et voi kiinnittää flex -antureita kovin hyvin. Sitten menin kangaskauppaan ja sain polyesterlankaa ja tarrakiinnitystä. Laitoin hansikan päähäni ja asetin virtapiirin kädelleni. Osa paikannuksesta on mukavuus, mutta toinen osa on flex -antureita. Niiden pitäisi mennä kahden sormen keskelle. Ompelin silmukoita kolmen pysäytyksen ympärille pitämään emolevyn kiinni (katso kuva #2) ja löysin sitten silmukat 3/4 jokaisesta flex -anturisormesta (#3 ja 4). Varmista, että et ompele käsineitä kiinni. Seuraavaksi kiinnitin tarranauhan peukalon sivulle akun pitämiseksi. Olen testin jälkeen huomannut, että myös tämän ompeleminen kannattaa, koska tikku ei kestä liian kauan. Seuraavaksi laitoin tarranauhasilmukan 9v: n ympärille (kuva 5). Tämä kokoonpano näyttää toimivan aika hyvin. Kuten näet ensimmäisen ja viimeisen dian kuvissa, olen nyt lisännyt hihat flex -antureille, mutta jos sinulla ei ole aikaa, silmukoiden pitäisi toimia hyvin. alla. Haluaisin nähdä, mitä keksit piirin liittämiseksi!

Vaihe 10: Todellinen koodi

Todellinen koodi
Todellinen koodi

Kiitos, että jaksat olla kanssani tähän asti. Muista, että koodini ei ole täydellinen. Olen huomannut, että vaatii hieman oppimista, jotta signaali toimisi oikein. Yritän edelleen parantaa järjestelmääni ja pidän tämän sivun ajan tasalla uudella koodilla, kun kirjoitan sen. 26.12.2009: UUSI KOODI! Se on julkaistu siellä, missä vanha koodi oli. Kiitos Jacobille yksinkertaistamisesta. Se toimii todella hyvin. Tässä se on. Kiitos kun luit ja älä unohda äänestää! #include #include #include // Asettaa tai tyhjentää bitit rekistereistä #define setBit (sfr, bit) (sfr | = (1 << bit)) #define clearBit (sfr, bit) (sfr & = ~ (1 << bitti)) #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) mitätön viive (unsigned int delay) {unsigned int x = 0; while (x <viive) {x ++; }} void initMatrix () {DDRD = 0xFF; // Vihreä ohjaus DDRB = 0xFF; // Punainen kontrolli DDRA = 0xE0; // Ground control} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (sarake); int i = 0; for (i = 0; i <8; i ++) {matrixGY (greenmask & (1 << i)); matrixRY (redmask & (1 << i)); _viive_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)); palauta ADCH; } char adcAvg (char chan, char avgnum) // Vain keskimäärin enintään 256 näytettä {int i = 0; unsigned int yhteensä = 0; for (i = 0; i <avgnum; i ++) {yhteensä+= adcGet (chan); } palautus yhteensä/keskiarvo; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Heksadesimaaliarvoja on muutettava käyttäjän asetusten mukaan taipuisantureiden herkkyyden määrittämiseksi. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } jos (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} palauta 0; } Erityiset kiitokset Chamberlainsille, vanhemmilleni ja ystävilleni, jotka auttoivat.

Kotitekoisen lomakilpailun finalisti

Suositeltava: