Përmbajtje:

Drita e sinjalit të dorës së biçikletës: 10 hapa (me fotografi)
Drita e sinjalit të dorës së biçikletës: 10 hapa (me fotografi)

Video: Drita e sinjalit të dorës së biçikletës: 10 hapa (me fotografi)

Video: Drita e sinjalit të dorës së biçikletës: 10 hapa (me fotografi)
Video: A e keni Ditur kete TRIK 😳 2024, Nëntor
Anonim
Dritë sinjali për dorën e biçikletës
Dritë sinjali për dorën e biçikletës

Qëllimi i këtij projekti është të krijojë një dritë që përshtatet në një dorezë biçikletash dhe tregon në drejtim të kthesës së synuar, për të rritur dukshmërinë gjatë natës. Duhet të jetë i lehtë, i lehtë për t’u përdorur dhe i integruar me lëvizjet ekzistuese për sinjalizim (rregullimi minimal i metodës së sinjalit (nuk keni nevojë të shtypni një buton, thjesht shkon kur sinjalizoni)). Kjo do të ishte një dhuratë e shkëlqyer për festën.

Shënim: Kjo kërkon njohuri të mëparshme se si të bashkoni dhe një ide se si të programoni AVR është një plus i madh. Me këtë në mendje, argëtohuni, jini të durueshëm dhe postoni fotografi të produktit tuaj më poshtë! Këtu është një video: Dhe këtu është një fotografi e imja:

Hapi 1: Pjesët

Pjesët
Pjesët

x1 ATmega 32L 8PU (www.digikey.com) x1 40-pin prizë DIP (www.digikey.com) x1 8x8 LED Array (www.sparkfun.com) x1 74138 De-multiplexer (www.digikey.com) x2 Flex Sensorë (www.sparkfun.com) x (Shumë) Rezistorë 180 ohm dhe 10k ohmx2 Bordi i PC (www.sparkfun.com) x6 Ngecje (www.sparkfun.com) dhe vida që përshtaten (Dyqani i Hardware -it Lokal) x1 Përshpejtues në bordin e thyerjes (www.sparkfun.com) Tituj x2 - Meshkuj (www.sparkfun.com), Femra (www.sparkfun.com) dhe Kënd i Djathtë (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 8 baza (E mora në Radio Shack) x1 9v baterix1 këmbë ngjitëse në velcrox1 Doreza e biçikletës me gishta të plota1 rrotull poliestër threadx1 Programues (e kam këtë) x1 Nxjerrës me tela dhe multimetër clipx1Disa nga pjesët:

Hapi 2: Përgatitni Bordet

Përgatitni Bordet
Përgatitni Bordet
Përgatitni Bordet
Përgatitni Bordet
Përgatitni Bordet
Përgatitni Bordet
Përgatitni Bordet
Përgatitni Bordet

Së pari, shtoni pengesat. Ju do të duhet të vidhosni dy së bashku për të marrë lartësinë e duhur. Sigurohuni që ngërçet të zbresin nga ana me pads SQUARE. Në këtë mënyrë ju mund të tejkaloni jastëkët me saldim në pjesën e poshtme dhe urën me jastëkun e zakonshëm në krye për t'u lidhur me tokën. Tjetra shtoni grupin LED dhe bashkojeni atë. Duhet të jetë sa më pranë skajit të tabelës me dy stanofet sa mund të jetë me YS përballë anës së kundërt. Kunja në pjesën e poshtme të majtë është kunja 1. (markedshtë e shënuar edhe në figurë.) Tjetra shtoni dy bazat 8 kunjore njëra mbi tjetrën në mënyrë që të formoni një prizë me 16 kunja. Sigurohuni që të keni një hapësirë në të majtë dhe më pas bashkojeni atë. Tjetra ndani titujt meshkuj dhe femra në seksione 10 dhe 11 pin. Do t'ju duhen dy herë më shumë tituj femra. Bashkojini ato që shihen në foto. Sa për titujt meshkuj ju duhet të zhvendosni kunjin në mënyrë që sasia e tyre të jetë e barabartë në secilën anë të plastikës iestshtë më e lehtë të shikosh një fotografi për të parë atë që dua të them, kështu që hidhi një sy #6. Kam përdorur disa pincë dhe funksionoi mjaft mirë. Tani nëse merrni titujt meshkuj dhe i vendosni në mes të 2 titujve femra do të shihni se ato tani janë me madhësinë e duhur për të lidhur tabelën e sipërme dhe të poshtme së bashku.

Hapi 3: Shtoni Rezistencat

Shtoni Rezistencat
Shtoni Rezistencat
Shtoni Rezistencat
Shtoni Rezistencat
Shtoni Rezistencat
Shtoni Rezistencat

Këta rezistorë shkojnë midis grupit LED dhe 74138 (Ground) për të mbrojtur grupin. Palosni njërën prej prizave nga rezistenca mbi pjesën e sipërme në mënyrë që të dy prizat të jenë paralele. Vendosini ato në kunjat 7, 9, 10, 11, 12, 13, 14 dhe 15 dhe ngjitini. Kam gjetur se funksionon më mirë nëse alternoni drejtimin e rezistencës siç mund të shihni në fotot e dyta dhe të treta.

Hapi 4: Lidhni pjesën e sipërme

Tela në krye
Tela në krye
Tela në krye
Tela në krye
Tela në krye
Tela në krye
Tela në krye
Tela në krye

Ky është deri tani hapi më i gjatë i projektit, kështu që me siguri shpresoj se ju pëlqen bashkimi! Vetëm ndiqni skemën më poshtë dhe sigurohuni që të testoni vazhdimësinë me ju multimetër. Në rast se doni të dini se si na erdhi me pamjen skematike të fletës së të dhënave për grupin dhe 74138.

Hapi 5: Plotësoni pjesën e poshtme

Populloni pjesën e poshtme
Populloni pjesën e poshtme
Populloni pjesën e poshtme
Populloni pjesën e poshtme
Populloni pjesën e poshtme
Populloni pjesën e poshtme
Populloni pjesën e poshtme
Populloni pjesën e poshtme

Tani është koha për të vendosur përbërësit tanë bazë në tabelën e poshtme. Së pari ne do të bëjmë prizën 40 pin DIP e cila shkon sa më afër majtas sa të jetë e mundur duke lënë një rresht hapësirë në anën e majtë. (Shih figurën #1.) Bashkojeni atë dhe më pas vendosni titujt. Mënyra më e lehtë për ta bërë këtë është të lidhni ato në krye me ato që do të shkojnë në fund duke përdorur titujt tuaj të modifikuar meshkuj. Nëse keni bërë gjithçka siç duhet, duhet të përfundoni me tre kunjat e sipërme në kokën e majtë pranë kunjave të poshtëm të djathtë në prizë. Kjo është ne rregull. Ne përdorim vetëm kunjin më të poshtëm në të djathtë dhe siç mund ta shihni ne kemi një goditje të qartë drejt tij nga një drejtim tjetër. Tani shtoni rregullatorin e tensionit siç tregohet në figurë. Unë e sigurova timen përmes vrimës në lavamanin metalik me një vidë dhe arrë. Lavamani është një mënyrë tjetër për të tokëzuar çipin dhe fiksimi i tij në tabelë siguron një kontakt të fortë me lidhjen e zakonshme. Kjo lidhet me pjesën e poshtme si dhe me pjesën e sipërme sepse të dy janë të lidhur me ngërçet metalike. Sidoqoftë, nëse nuk po përdorni lidhjen e zakonshme për tokën MOS e mbyllni lavamanin në tabelë pasi lavamani shërben si tokë dhe me siguri do të lidhni diçka. Teli tjetër në kapësen e baterisë. E kuqja shkon në kunjin në të majtë (Me lavamanin lart dhe kunjat poshtë) e zezë në mes dhe kunja e djathtë prodhon +5v. Tani mund ta lidhni energjinë në krye (shiko foton #2). Tani për lidhësin e programuesit. Unë kam një përshtatës që kam bërë për programuesin tim, por ju ndoshta do të dëshironi të përfshini një kokë me 6 pin (3x2) në modelin tuaj. Sidoqoftë, nëse keni një përshtatës si unë, këtu është ajo që kam bërë. Mora një kokë të këndit të drejtë dhe një kokë femre dhe i bashkova ato (Figura #3). Pastaj e bashkova me tabelën me kunjin e parë të lidhur me kunjin 6. Tani ju duhet të fikni dhe fikni çipin si dhe instalime elektrike në një rezistencë për të tërhequr rivendosjen lartë. Drejtova një rezistencë 10k nga kunja 9 në kunjin 10 dhe më pas lidha kunjin 10 në +5v. Kunja tjetër (11) shkon në lidhjen e zakonshme (Ground). Më në fund shikoni figurën #4 për të përfunduar këtë hap (prettyshtë mjaft vetë -shpjeguese).

Hapi 6: Lidhni pjesën e poshtme

Tela në pjesën e poshtme
Tela në pjesën e poshtme
Tela në pjesën e poshtme
Tela në pjesën e poshtme
Tela e Fundit
Tela e Fundit

E mbani mend atë hap vërtet argëtues ku duhet të kaloni mbi 30 tela për të punuar një grup LED? Tani ju duhet ta bëni përsëri! Në fund!. Ky është pak më i shpejtë, por jo shumë i imi. Edhe një herë, shikoni skemën dhe kontrolloni të gjitha lidhjet tuaja me multimetrin tuaj. Mos u shqetësoni, kjo është pjesa e fundit e madhe e bashkimit të projektit dhe pothuajse keni mbaruar.

Hapi 7: Sensorët Flex dhe Përshpejtuesi

Sensorët Flex dhe Përshpejtuesi
Sensorët Flex dhe Përshpejtuesi
Sensorët Flex dhe Përshpejtuesi
Sensorët Flex dhe Përshpejtuesi
Sensorët Flex dhe Përshpejtuesi
Sensorët Flex dhe Përshpejtuesi

Ne do të trajtojmë së pari sensorët fleksibël, por ju jeni në shtrirjen e shtëpisë për sa i përket harduerit. Unë mendoj se fotografitë më poshtë shpjegojnë shumë se çfarë të bëni. Lidhni njërën kunj me +5v tjetrën me kunjin e tretë ose të katërt nga lart në anën e djathtë të AVR (Mikrokontrolluesi në zemër të këtij projekti). Kur e bashkova për herë të parë këtë mendova se ishte gjithçka që duhej të bëja, por rezulton se që AVR të lexojë sensorët fleksibël ju duhet të vendosni një rezistencë nga kunja në sensorin që shkon në AVR në tokë (Shih fotografitë # 10 dhe 11). Kam përdorur një 10k. Kjo ndan tensionin që shkon në AVR i cili praktikisht dyfishon ndjeshmërinë e sensorit. Tani për përshpejtuesin. Për shkak se përshpejtuesi është vetëm një fije floku më i gjatë se hapësira midis dy dërrasave dhe sepse ne mund të duam ta zëvendësojmë atë një ditë, unë kam vendosur të përdor kokë për ta përplasur atë nga bordi dhe për ta lidhur atë. Përdorni një kokë me kënd të drejtë për t'u lidhur me 6 kunjat në tabelën e shpërthimit. Tani merrni një kokë tjetër me kënd të drejtë dhe ngjitni një kokë femre në kunjat e shkurtra, pastaj ngjiteni këtë në pjesën e poshtme të majtë të tabelës tuaj. Lidhni akselerometrin për t'u siguruar që përshtatet, hiqeni nga priza dhe më pas lidhni kunjat e duhur me Vcc (+5v) dhe Gnd. Pastaj lidhni pinin që del me X në pin 40 dhe Y në pin 39. Tani duhet të vendoseni që të shtoni IC -të (Qarqet e Integruara) dhe ta ndizni.

26 dhjetor 2009: Kam gjetur se mënyra se si e montova sensorin e përkuljes së gishtit tregues bëri që materiali që lidh sensorin me kunjat të degradohet. Që atëherë kam blerë një sensor zëvendësues dhe kam ngjitur një sensor plastike të hollë në sensor për të parandaluar që kjo zonë të jetë pjesa që bën pjesën më të madhe të lakimit. Unë kam etiketuar vendndodhjen në foton më poshtë.

Hapi 8: Shtimi i IC -ve dhe Programit të Parë

Shtimi i IC -ve dhe Programit të Parë
Shtimi i IC -ve dhe Programit të Parë
Shtimi i IC -ve dhe Programit të Parë
Shtimi i IC -ve dhe Programit të Parë
Shtimi i IC dhe Programi i Parë
Shtimi i IC dhe Programi i Parë
Shtimi i IC -ve dhe Programit të Parë
Shtimi i IC -ve dhe Programit të Parë

Ky është ndoshta hapi më i lehtë i të gjithë procesit. Edhe një herë ndihma e figurës. Sigurohuni që keni patate të skuqura në mënyrën e duhur siç shpjegohet në figurën #3. Së pari do të lidhja fuqinë me asgjë të lidhur dhe do të prekja lavamanin në rregullatorin e tensionit. Nëse është nxehtë, atëherë diçka po shkurtohet dhe ju duhet të ktheheni dhe të kontrolloni lidhjet tuaja. Vazhdoni në këtë mënyrë, duke shtuar një çip në të njëjtën kohë, ndjenjën e nxehtësisë dhe sapo gjithçka të jetë në vendin e tij, shtrëngoni arrat në tabelën e poshtme në mënyrë që të dy dërrasat të fiksohen mirë së bashku. Tjetra ju do të programoni AVR. Nëse nuk e keni bërë kurrë më parë, një kërkim i shpejtë në Google jep një bollëk rezultatesh. Nëse do të isha në vendin tuaj, do ta vendosja AVR -në në një tabelë buke dhe do ta programoja atje para se ta provonit në punën tuaj të palodhur. Kam shkruar një program të thjeshtë për të nxjerrë informacionin që merret nga sensorët fleksibël në grupin LED. Kjo duhet t'ju japë një ide themelore se çfarë është dhe çfarë nuk funksionon në qarkun tuaj. Këtu është një video e kodit në veprim …… dhe këtu është kodi: #define F_CPU 800000UL #include #include #include void ADCINIT () { ADMUX = 0b01100000; ADCSRA = 0b10000000;} int kryesore () {int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADCINIT (); ndërsa (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; ndërsa (bit_is_ paqartë (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _vonesa_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; ndërsa (bit_is_ paqartë (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _vonesa_ms (1); PORTB = 0x00; }}

Hapi 9: Bashkimi i rrethit tuaj me një dorezë

Bashkimi i rrethit tuaj me një dorezë
Bashkimi i rrethit tuaj me një dorezë
Bashkimi i rrethit tuaj me një dorezë
Bashkimi i rrethit tuaj me një dorezë
Bashkimi i rrethit tuaj me një dorezë
Bashkimi i rrethit tuaj me një dorezë

Unë mendoj se ka shumë mënyra për të lidhur qarkun tuaj në dorën tuaj dhe për njëfarë kohe mendova se do t'ia lija lexuesit, por më pas vendosa që mësimi nuk do të ishte i plotë pa këtë mbyllje. Unë shkova në dyqanin tim lokal të biçikletave dhe mora dorezën më të lirë me gisht të plotë që mund të gjeja. Gishti i plotë është i nevojshëm sepse përndryshe ju nuk mund t'i lidhni sensorët fleksibël shumë mirë. Unë pastaj shkova në një dyqan pëlhure dhe mora një fije poliestër dhe velcro ngjitëse. Vura dorezën dhe vura qarkun në dorën time. Pjesë e pozicionimit është komoditeti, por një pjesë tjetër janë sensorët fleksibël. Ata duhet të zbresin në mes të dy gishtërinjve. Unë qepja sythe rreth tre pengesave për të mbajtur tabelën kryesore (Shih figurën #2) dhe pastaj bëra sythe 3/4 të rrugës poshtë secilit gisht të sensorit fleksibël (#3 dhe 4). Sigurohuni që të mos e qepni dorezën të mbyllur. Më pas mbërtheva një copë velcro në anën e gishtit të madh për të mbajtur baterinë. Kam gjetur pas testimit se me të vërtetë ia vlen të qepësh edhe këtë pasi shkopi nuk zgjat shumë. Më tej vendos një lak velcro rreth 9v (Figura 5). Ky konfigurim duket se funksionon mjaft mirë. Siç e shihni në fotografitë në rrëshqitjet e para dhe të fundit, tani kam shtuar mëngë për sensorët fleksibël, por nëse nuk keni kohë, sythe duhet të funksionojnë mirë. Kur të përfundoni me projektin tuaj, ju lutemi postoni fotografi të produktit tuaj të përfunduar më poshtë. Do të më pëlqente të shihja se çfarë keni dalë për të bashkuar qarkun!

Hapi 10: Kodi Real

Kodi Real
Kodi Real

Faleminderit që duruat me mua deri më tani. Ju lutemi mbani në mend se kodi im nuk është i përsosur. Kam gjetur se duhet pak mësim për të funksionuar sinjalin ashtu si duhet. Unë do të vazhdoj të përpiqem të përsos sistemin tim dhe do ta mbaj këtë faqe të përditësuar me kod të ri sapo ta shkruaj. 26 Dhjetor 2009: KODI I RI! Shtë postuar aty ku ishte kodi i vjetër. Shumë faleminderit Jakobit për thjeshtimin. Me të vërtetë punon mirë. Ja ku eshte. Faleminderit për leximin dhe mos harroni të votoni! #include #include #include // Cakton ose Pastron bit në regjistra #përcakto setBit (sfr, bit) (sfr | = (1 << bit)) #define clearBit (sfr, bit) (sfr & = ~ (1 << bit)) #define flipBit (sfr, bit) (sfr ^= (1 << bit)) #përcakto FALSE 0 #përcakto TRUE 1 #përcakto matricënX (x) (PORTA = (x - 1) << 5) #define matrixGY (y) (PORTD = y) #përcakto matricënRY (y) (PORTB = y) vonesë e pavlefshme (vonesë e panënshkruar int) {pa shenjë int x = 0; ndërsa (x <vonesë) {x ++; }} void initMatrix () {DDRD = 0xFF; // Kontrolli i gjelbër DDRB = 0xFF; // Kontrolli i kuq DDRA = 0xE0; // Kontrolli i tokës} matrica e pavlefshmeRowDraw (maskë jeshile, maskë e kuqe, kolonë e zezë) {matrixX (kolonë); int i = 0; për (i = 0; i <8; i ++) {matrixGY (maskë jeshile & (1 << i)); matrixRY (maskë e kuqe & (1 << i)); _vonesa_us (150); } matrixGY (0x00); matricëRY (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; ndërsa (bit_is_ paqartë (ADCSRA, ADIF)); kthehet ADCH; } char adcAvg (char chan, char avgnum) // Vetëm mesatarisht deri në 256 mostra {int i = 0; pa nënshkrim int total = 0; për (i = 0; i <avgnum; i ++) {total+= adcGet (chan); } total total/avgnum; } int main () {initMatrix (); adcInit (); ndërsa (1) {ndërsa (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Vlerat gjashtëkëndore këtu duhet të ndryshohen në varësi të konfigurimit të përdoruesve për të përcaktuar ndjeshmërinë e sensorëve fleksibël. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } if (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} kthimi 0; } Falenderim i veçantë për Chamberlains, prindërit dhe miqtë e mi që ndihmuan.

Finalist në Konkursin e Pushimeve të bëra në shtëpi

Recommended: