Tartalomjegyzék:

Kerékpár kézi jelzőfény: 10 lépés (képekkel)
Kerékpár kézi jelzőfény: 10 lépés (képekkel)

Videó: Kerékpár kézi jelzőfény: 10 lépés (képekkel)

Videó: Kerékpár kézi jelzőfény: 10 lépés (képekkel)
Videó: 10 LEGSZOKATLANABB Gyerek a Világon 2024, November
Anonim
Kerékpár kézi jelzőlámpa
Kerékpár kézi jelzőlámpa

A projekt célja, hogy olyan fényt hozzon létre, amely illeszkedik a kerékpáros kesztyűhöz, és a tervezett kanyar irányába mutat, hogy javítsa az éjszakai láthatóságot. Könnyűnek, könnyen használhatónak és integráltnak kell lennie a meglévő jelzési mozdulatokkal (minimális csípés a jelmódban (nem kell gombot megnyomni, csak akkor megy, amikor jelez)). Ez nagyszerű ünnepi ajándék lehet.

Megjegyzés: Ehhez nagy előnyt jelent a forrasztás előzetes ismerete és az AVR programozásának ötlete. Ezt szem előtt tartva érezd jól magad, légy türelmes, és tegyél fel képeket a termékedről alább! Itt egy videó: És itt van egy képem:

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek

x1 ATmega 32L 8PU (www.digikey.com) x1 40 tűs DIP foglalat (www.digikey.com) x1 8x8 LED Array (www.sparkfun.com) x1 74138 Multiplexer (www.digikey.com) x2 Flex érzékelők (www.sparkfun.com) x (Sok) 180 ohmos és 10 k ohmos x 2 PC -kártya (www.sparkfun.com) x6 Kikapcsolások (www.sparkfun.com) és csavarok (helyi hardverbolt) x1 Gyorsulásmérő a kioldótáblán (x2 fejlécek - férfi (www.sparkfun.com), női (www.sparkfun.com) és derékszögű (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 8 tűs foglalat (Az enyémet a Radio Shack-nél kaptam)

2. lépés: Készítse elő a táblákat

Készítse elő a táblákat
Készítse elő a táblákat
Készítse elő a táblákat
Készítse elő a táblákat
Készítse elő a táblákat
Készítse elő a táblákat
Készítse elő a táblákat
Készítse elő a táblákat

Először is adjuk hozzá az eltéréseket. A megfelelő magasság eléréséhez kettőt össze kell csavarni. Győződjön meg arról, hogy a SQUARE párnákkal az oldalsó részek lefelé mennek. Így áthidalhatja a párnákat forrasztással az alján, és áthidalhatja a közös paddal a tetején, hogy csatlakozzon a földhöz. Ezután adja hozzá a LED -tömböt, és forrasztja be. Olyan messze kell lennie a tábla szélétől a két leállással, amennyire csak lehet, ha az YS az ellenkező oldalra néz. A bal alsó sarokban lévő csap az 1. tű. (Ez a képen is meg van jelölve.) Ezután adja hozzá a két 8 tűs foglalatot egymás tetejére, hogy egy 16 tűs foglalatot képezzen. Győződjön meg róla, hogy van egy szóköz a bal oldalon, majd forrasztja be. Ezután ossza szét a hím és a női fejrészeket 10 és 11 tűs részekre. Kétszer annyi női fejlécre lesz szüksége. Forrasztja be őket a képen látható módon. Ami a hím fejléceket illeti, el kell helyezni a csapot, hogy azok egyenlő mennyiségűek legyenek a műanyag mindkét oldalán. A legegyszerűbb egy képet nézni, hogy lássam, mire gondolok, ezért nézze meg a #6. Néhány fogót használtam, és nagyon jól működött. Ha most veszi a férfi fejléceket, és a két női fejléc közé helyezi, látni fogja, hogy most megfelelő méretűek a felső és az alsó tábla összekapcsolásához.

3. lépés: Adja hozzá az ellenállásokat

Adja hozzá az ellenállásokat
Adja hozzá az ellenállásokat
Adja hozzá az ellenállásokat
Adja hozzá az ellenállásokat
Adja hozzá az ellenállásokat
Adja hozzá az ellenállásokat

Ezek az ellenállások a LED tömb és a 74138 (Ground) között mennek, hogy megvédjék a tömböt. Hajtsa az ellenállás egyik vezetékét a tetejére úgy, hogy a két vezeték párhuzamos legyen. Illessze őket a 7, 9, 10, 11, 12, 13, 14 és 15 csapokra és a forrasztóra. Azt tapasztaltam, hogy akkor működik a legjobban, ha az ellenállás irányát váltogatja, amint az a második és a harmadik képen látható.

4. lépés: huzalozza fel a tetejét

Drót a felső
Drót a felső
Drót a felső
Drót a felső
Drót a felső
Drót a felső
Drót a felső
Drót a felső

Ez messze a projekt leghosszabb lépése, ezért remélem, hogy tetszik a forrasztás! Csak kövesse az alábbi sémát, és győződjön meg róla, hogy teszteli a folytonosságot a multiméterrel. Abban az esetben, ha tudni szeretné, hogyan jöttem el hozzánk a sematikus nézettel a tömb és a 74138 adatlapján.

5. lépés: Töltse ki az alját

Töltse fel az alját
Töltse fel az alját
Töltse fel az alját
Töltse fel az alját
Töltse fel az alját
Töltse fel az alját
Töltse fel az alját
Töltse fel az alját

Most itt az ideje, hogy alapvető összetevőinket az alsó táblára helyezzük. Először készítsük el a 40 tűs DIP aljzatot, amely a lehető legközelebb esik a bal felső sarokhoz, miközben egy sort hagy a bal oldalon. (Lásd az 1. képet.) Ezt forrasztja be, majd helyezze el a fejléceket. Ennek legegyszerűbb módja, ha a felül lévőket a módosított férfi fejlécekkel csatlakoztatja az alul lévőkhöz. Ha mindent jól csinált, akkor a bal felső fejléc három felső három csapjával kell végeznie a foglalat jobb alsó sarkai mellett. Rendben van. Mi csak a legalsó tűt használjuk a jobb oldalon, és mint látható, egyértelmű lövésünk van egy másik irányból. Most adja hozzá a feszültségszabályozót a képen látható módon. Az enyémet egy csavarral és anyával rögzítettem a fém hűtőborda lyukán keresztül. A hűtőborda egy másik módja annak, hogy földelje a forgácsot, és a táblához csavarozva szilárd kapcsolatot biztosít a közös csatlakozóval. Ez az alsó és a felső részhez is csatlakozik, mivel a kettő fém lezárókkal van összekötve. Ha azonban nem a földeléshez használt közös csatlakozást használja, NE csavarja a hűtőbordát a táblához, mivel a hűtőborda földként szolgál, és valószínűleg rövidzárlatot okoz. Következő vezeték az akkumulátorcsipeszben. A piros a bal oldali csaphoz (a hűtőbordával felfelé és a csapok lefelé) a közepén fekete, a jobb oldali csap pedig +5V -ot termel. Most már vezetheti az áramot a tetejére (lásd a 2. képet). Most a programozó csatlakozóról. Van egy adapter, amelyet a programozómnak készítettem, de valószínűleg egy 6 tűs (3x2) fejlécet szeretne beépíteni a tervezésébe. Ha azonban van olyan adaptere, mint nekem, akkor ezt tettem. Vettem egy derékszögű fejlécet és egy női fejlécet, és összeforrasztottam őket (3. kép). Ezután az alaplaphoz rögzítettem, az első csappal a 6. csaphoz csatlakoztatva. Most be kell kapcsolni és be kell földelni a chipet, valamint be kell vezetni egy ellenállásba, hogy magasra állítsa a resetet. Futtattam egy 10k -s ellenállást a 9 -es tűről a 10 -es tűre, majd a 10 -es tűt +5 V -ra kötöttem. A következő csap (11) a közös csatlakozáshoz (földelés) megy. Végül nézze meg a 4. képet, hogy befejezze ezt a lépést (ez elég magától értetődő).

6. lépés: huzalozza az alját

Huzalozzuk az alját
Huzalozzuk az alját
Huzalozzuk az alját
Huzalozzuk az alját
Huzalozzuk az alját
Huzalozzuk az alját

Emlékszel arra az igazán szórakoztató lépésre, amikor 30 vezetéket kell lefutnod, hogy működjön a LED -elrendezés? Most újra megteheti! A fenekén!. Ez egy kicsit gyorsabb, de nem sokkal. Ismét nézze meg a vázlatot, és ellenőrizze az összes kapcsolatot a multiméterrel. Ne aggódjon, ez a projekt utolsó nagy forrasztási darabja, és majdnem kész.

7. lépés: Flex érzékelők és a gyorsulásmérő

Flex érzékelők és gyorsulásmérő
Flex érzékelők és gyorsulásmérő
Flex érzékelők és gyorsulásmérő
Flex érzékelők és gyorsulásmérő
Flex érzékelők és gyorsulásmérő
Flex érzékelők és gyorsulásmérő

Először a flex érzékelőkkel foglalkozunk, de a hardver terén otthon vagy. Azt hiszem, az alábbi képek nagyjából elmagyarázzák, mit kell tenni. Csatlakoztassa az egyik tűt a +5v -hoz, a másikat az AVR jobb oldalán lévő felülről érkező harmadik vagy negyedik tűhöz (A projekt központi eleme a mikrokontroller). Amikor először összeraktam ezt, azt gondoltam, hogy ez minden, amit tennem kell, de kiderült, hogy ahhoz, hogy az AVR el tudja olvasni a flex érzékelőket, ellenállást kell helyeznie az érzékelő csapjából az AVR -hez (lásd a képeket # 10. és 11.). Én 10k -t használtam. Ez felosztja az AVR -re jutó feszültséget, ami gyakorlatilag megkétszerezi az érzékelő érzékenységét. Most a gyorsulásmérő. Mivel a gyorsulásmérő csak egy hajszállal magasabb, mint a két tábla közötti tér, és mivel esetleg ki kell cserélnünk egy nap, úgy döntöttem, hogy fejlécekkel kiütem a táblából és csatlakoztatom. Használjon derékszögű fejlécet, hogy csatlakozzon a 6 tűhöz a törőlapon. Most vegyen egy másik derékszögű fejlécet, és forrasztjon egy női fejlécet a rövid csapokhoz, majd forrasztja be a tábla bal alsó sarkába. Csatlakoztassa a gyorsulásmérőt, hogy megbizonyosodjon arról, hogy illeszkedik, húzza ki a hálózati csatlakozót, majd csatlakoztassa a megfelelő csapokat a Vcc (+5v) és a Gnd. Ezután csatlakoztassa az X kimenetet a 40 -es, az Y -t a 39 -es tűhöz. Most be kell állítania az IC -k (integrált áramkörök) hozzáadását és bekapcsolását.

2009. december 26.: Azt tapasztaltam, hogy a mutatóujj flex érzékelőjének felszerelése miatt az érzékelőt a csapokkal összekötő anyag romlott. Azóta vettem egy csereérzékelőt, és forró ragasztóval vékony műanyagot ragasztottam az érzékelőre, hogy ez a terület ne legyen a hajlító rész. Megjelöltem a helyet az alábbi képen.

8. lépés: IC -k és az első program hozzáadása

IC -k és az első program hozzáadása
IC -k és az első program hozzáadása
IC -k és az első program hozzáadása
IC -k és az első program hozzáadása
IC -k és az első program hozzáadása
IC -k és az első program hozzáadása
IC -k és az első program hozzáadása
IC -k és az első program hozzáadása

Valószínűleg ez a legegyszerűbb lépés az egész folyamatban. Ismét segítség a kép. Győződjön meg arról, hogy a zsetonokat a 3. képen leírtaknak megfelelően tartja. Először csatlakoztatnám az áramellátást, ha nincs semmi csatlakoztatva, és megérinteném a feszültségszabályozó hűtőbordáját. Ha meleg van, akkor valami zárlatos, és vissza kell mennie, és ellenőriznie kell a kapcsolatokat. Folytassa ezt az eljárást, és adjon hozzá egy -egy zsetont, érezze a meleget, és ha minden a helyén van, húzza meg az alsó táblán lévő anyákat, hogy a két tábla biztonságosan rögzüljön. Ezután beprogramozza az AVR -t. Ha még soha nem tett ilyet, akkor egy gyors Google -keresés rengeteg találatot eredményez. Ha a helyedben lennék, az AVR -t egy kenyérsütő táblára tenném, és ott programoznék, mielőtt megpróbálnád a kemény munkáddal. Írtam egy egyszerű programot a flex érzékelőktől kapott információknak a LED tömbhöz való továbbítására. Ennek alapötletet kell adnia arról, hogy mi működik és mi nem működik az áramkörben. Itt egy videó a kód működéséről ……, és itt van a kód: #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 (); míg (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _ késleltetés_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _delay_ms (1); PORTB = 0x00; }}

9. lépés: A körvonal rögzítése kesztyűhöz

A körvonal rögzítése kesztyűhöz
A körvonal rögzítése kesztyűhöz
A körvonal rögzítése kesztyűhöz
A körvonal rögzítése kesztyűhöz
A körvonal rögzítése kesztyűhöz
A körvonal rögzítése kesztyűhöz

Úgy gondolom, hogy sokféleképpen csatlakoztathatja az áramkört a kezéhez, és egy ideig úgy gondoltam, hogy az olvasóra bízom, de aztán úgy döntöttem, hogy az utasítás nem teljes a zárás nélkül. Elmentem a helyi kerékpárüzletembe, és a legolcsóbb teljes ujjas kesztyűt kaptam. Teljes ujj szükséges, mert különben nem tudja nagyon jól rögzíteni a flex érzékelőket. Aztán elmentem egy textilboltba, és kaptam egy poliészter cérnát és egy ragasztható tépőzárat. Feltettem a kesztyűt, és a kezemre tettem az áramkört. A pozicionálás része a kényelem, de a másik része a flex érzékelők. Le kell menniük két ujj közepén. Három hurkot varrtam a három állvány körül, hogy megtartsák az alaplapot (lásd a 2. képet), majd laza hurkokat végeztem a hajlítóérzékelő ujjainak 3/4 részével (#3 és 4). Ügyeljen arra, hogy ne varrja le a kesztyűt. Ezután ragasztottam egy darab tépőzárat a hüvelykujjam oldalára, hogy tartsa az akkumulátort. Tesztelés után rájöttem, hogy tényleg kifizetődő ezt is felvarrni, mivel a bot nem tart túl sokáig. Ezután tépőzáras hurkot tettem a 9v köré (5. kép). Úgy tűnik, ez a beállítás elég jól működik. Amint az az első és az utolsó dián látható képeken látható, most hozzáadtam a rugalmas érzékelők ujjait, de ha nincs ideje, a hurkok jól működnek. Amikor befejezte a projektet, kérjük, tegyen fel fotókat a késztermékről lent. Szívesen megnézném, mit talált ki az áramkör csatlakoztatására!

10. lépés: A valódi kód

Az igazi kódex
Az igazi kódex

Köszönöm, hogy eddig velem tartottatok. Ne feledje, hogy a kódom nem tökéletes. Azt tapasztaltam, hogy egy kis tanulás kell ahhoz, hogy a jel megfelelően működjön. Továbbra is megpróbálom tökéletesíteni a rendszeremet, és amint megírom, frissítem ezt az oldalt új kóddal. 2009. december 26.: ÚJ KÓD! Ott van kiírva, ahol a régi kód volt. Nagyon köszönöm Jacobnak az egyszerűsítést. Valóban jól működik. Itt van. Köszönöm, hogy elolvastad és ne felejts el szavazni! #include #include #include // Beállítja vagy törli a biteket a regiszterekben #define setBit (sfr, bit) (sfr | = (1 << bit)) #define clearBit (sfr, bit) (sfr & = ~ (1 << bit)) #define flipBit (sfr, bit) (sfr ^= (1 << bit)) #define HAMIS 0 #define TRUE 1 #define mátrixX (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 <késleltetés) {x ++; }} void initMatrix () {DDRD = 0xFF; // Zöld vezérlés DDRB = 0xFF; // Piros vezérlés DDRA = 0xE0; // Földi vezérlés} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (oszlop); int i = 0; for (i = 0; i <8; i ++) {matrixGY (zöldmaszk & (1 << i)); matrixRY (redmask & (1 << i)); _késleltetés (150); } matrixGY (0x00); mátrixRY (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)); return ADCH; } char adcAvg (char chan, char avgnum) // Csak átlagosan legfeljebb 256 minta {int i = 0; unsigned int total = 0; for (i = 0; i <avgnum; i ++) {összesen+= adcGet (chan); } return total/avgnum; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // A hexadecimális értékeket a felhasználói beállításoktól függően módosítani kell a flex érzékelők érzékenységének meghatározásához. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } if (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} return 0; } Külön köszönet a kamarásoknak, szüleimnek és barátaimnak, akik segítettek.

A Házi készítésű ünnepek döntőse

Ajánlott: