Taula de continguts:

Llum de senyal manual de la bicicleta: 10 passos (amb imatges)
Llum de senyal manual de la bicicleta: 10 passos (amb imatges)

Vídeo: Llum de senyal manual de la bicicleta: 10 passos (amb imatges)

Vídeo: Llum de senyal manual de la bicicleta: 10 passos (amb imatges)
Vídeo: Nacho, Yandel, Bad Bunny - Báilame (Remix) 2024, Desembre
Anonim
Llum de senyal de mà per a bicicleta
Llum de senyal de mà per a bicicleta

L’objectiu d’aquest projecte és crear una llum que s’adapti a un guant de bicicleta i que apunti en la direcció del gir previst, per augmentar la visibilitat a la nit. Ha de ser lleuger, fàcil d’utilitzar i integrat amb els moviments de senyalització existents (ajust mínim del mètode de senyal (no cal prémer un botó, només s’activa quan fa la senyal)). Això seria un gran regal de vacances.

Nota: això requereix coneixements previs sobre com soldar i una idea de com programar AVR és un gran avantatge. Amb això en ment, divertiu-vos, tingueu paciència i publiqueu imatges del vostre producte a continuació. Aquí teniu un vídeo: i aquí teniu una foto meva:

Pas 1: parts

Parts
Parts

x1 ATmega 32L 8PU (www.digikey.com) x1 sòcol DIP de 40 pins (www.digikey.com) x1 8x8 LED Array (www.sparkfun.com) x1 74138 Desmultiplexor (www.digikey.com) x2 Sensors flexibles (www.sparkfun.com) x (Moltes) resistències 180 ohm i 10k ohmx2 placa PC (www.sparkfun.com) x6 separadors (www.sparkfun.com) i cargols per adaptar-se (botiga de maquinari local) x1 acceleròmetre a la placa de sortida (www.sparkfun.com) x2 Capçaleres: masculí (www.sparkfun.com), femella (www.sparkfun.com) i angle recte (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 endolls de 8 pins (Tinc el meu a Radio Shack) x1 bateria de 9 v x 1 velcrox enganxable de peu 1 guant de bicicleta de dits complets x 1 rodet fil de polièster x1 Programador (tinc aquest) x1 Decapador de filferro i clipx1 Multímetre Algunes de les parts:

Pas 2: prepareu els taulers

Prepareu els taulers
Prepareu els taulers
Prepareu els taulers
Prepareu els taulers
Prepareu els taulers
Prepareu els taulers
Prepareu els taulers
Prepareu els taulers

En primer lloc, afegiu les diferències. N’haureu de cargolar dos per obtenir l’alçada adequada. Assegureu-vos que els separadors descendeixen de costat amb els coixinets SQUARE. D’aquesta manera es poden unir els coixinets amb soldadura a la part inferior i un pont amb el coixinet comú a la part superior per connectar-se a terra. A continuació, afegiu la matriu de LEDs i soldeu-la. Hauria d'estar tan lluny fins a la vora del tauler amb els dos separadors, ja que pot ser amb el YS cap al costat oposat. El pin de la part inferior esquerra és el pin 1. (També està marcat a la imatge.) A continuació, afegiu els dos endolls de 8 pins un sobre l’altre per formar un endoll de 16 pins. Assegureu-vos de tenir un espai a l’esquerra i, a continuació, soldeu-lo. A continuació, dividiu les capçaleres masculines i femenines en seccions de 10 i 11 pins. Necessitareu el doble de capçaleres femenines. Soldeu els que es veuen a la foto. Pel que fa a les capçaleres masculines, heu de canviar el passador perquè la seva quantitat sigui igual a cada costat del plàstic. És més fàcil mirar una imatge per veure el que vull dir, així que mireu el # 6. He utilitzat unes tenalles i ha funcionat força bé. Ara, si agafeu les capçaleres masculines i les col·loqueu entre les dues capçaleres femenines, veureu que ara tenen la mida adequada per connectar el tauler superior i inferior junts.

Pas 3: afegiu les resistències

Afegiu les resistències
Afegiu les resistències
Afegiu les resistències
Afegiu les resistències
Afegiu les resistències
Afegiu les resistències

Aquestes resistències van entre la matriu LED i el 74138 (terra) per protegir la matriu. Doblegueu un dels cables de la resistència per la part superior per tal que els dos cables siguin paral·lels. Introduïu-los als passadors 7, 9, 10, 11, 12, 13, 14 i 15 i soldeu-los. Vaig trobar que funciona millor si alterneu la direcció de la resistència com podeu veure a la segona i tercera imatge.

Pas 4: connecteu la part superior

Fila la part superior
Fila la part superior
Fila la part superior
Fila la part superior
Fila la part superior
Fila la part superior
Fila la part superior
Fila la part superior

Aquest és, amb diferència, el pas més llarg del projecte, així que espero que us agradi la soldadura. Simplement seguiu l'esquema següent i assegureu-vos de provar la continuïtat amb el multímetre. Per si voleu saber com ens vingué amb l’aspecte esquemàtic del full de dades de la matriu i del 74138.

Pas 5: ompliu la part inferior

Poblem el fons
Poblem el fons
Poblem el fons
Poblem el fons
Poblem el fons
Poblem el fons
Poblem el fons
Poblem el fons

Ara és hora de col·locar els nostres components bàsics al tauler inferior. Primer farem el sòcol DIP de 40 pins que s’aproxima a la part superior esquerra possible, deixant una fila d’espai al costat esquerre. (Vegeu la imatge núm. 1). Soldeu-lo i col·loqueu les capçaleres. La manera més senzilla de fer-ho és connectar els que es troben a la part superior amb els que es mostraran a la part inferior mitjançant les capçaleres masculines modificades. Si ho heu fet tot bé, hauríeu d’acabar amb els tres passadors superiors a la capçalera esquerra al costat dels passadors inferiors drets de la presa. Està bé. Només fem servir el passador inferior situat a la dreta i, com podeu veure, tenim un tret clar des d’una altra direcció. Ara afegiu el regulador de tensió tal com es mostra a la imatge. Vaig assegurar la meva a través del forat del dissipador de calor metàl·lic amb un cargol i una femella. El dissipador de calor és una altra manera de posar a terra el xip i fixar-lo a la placa proporciona un contacte sòlid amb la connexió comuna. Això està connectat tant a la part inferior com a la superior perquè els dos estan connectats amb separadors metàl·lics. Tanmateix, si no utilitzeu la connexió comuna per a terra, NO fixeu el dissipador de calor a la placa, ja que el dissipador de calor serveix de terra i probablement curtcircuiteu alguna cosa. Següent cable al clip de la bateria. El vermell passa al pin de l'esquerra (amb el dissipador de calor cap amunt i els pins cap avall) de color negre al mig i el pin dret produeix + 5v. Ara podeu connectar l’alimentació a la part superior (vegeu la imatge núm. 2). Ara per al connector del programador. Tinc un adaptador que he fet per al meu programador, però probablement voldreu incorporar una capçalera de 6 pins (3x2) al vostre disseny. Tanmateix, si teniu un adaptador com jo, això és el que vaig fer. Vaig agafar una capçalera d'angle recte i una capçalera femenina i les vaig soldar juntes (imatge núm. 3). Després l’he connectat a la placa amb el primer pin connectat al pin 6. Ara cal alimentar i connectar a terra el xip, així com cablejar-lo en una resistència per arrencar el reset. Vaig executar una resistència de 10 k del pin 9 al pin 10 i després vaig connectar el pin 10 a + 5v. El següent pin (11) va a la connexió comuna (terra). Finalment, mireu la imatge 4 per acabar aquest pas (s’explica per si mateix).

Pas 6: connecteu la part inferior

Cable el fons
Cable el fons
Cable el fons
Cable el fons
Cable el fons
Cable el fons

Recordeu aquell pas molt divertit en què heu de passar més de 30 cables per fer funcionar una matriu de LEDs? Ara ho podeu tornar a fer! Al fons!. Aquest és una mica més ràpid, però no tant. Una vegada més, mireu l’esquema i comproveu totes les connexions amb el multímetre. No us preocupeu, aquesta és l’última gran peça de soldar del projecte i gairebé heu acabat.

Pas 7: Sensors flexibles i l’acceleròmetre

Sensors flexibles i l’acceleròmetre
Sensors flexibles i l’acceleròmetre
Sensors flexibles i l’acceleròmetre
Sensors flexibles i l’acceleròmetre
Sensors flexibles i l’acceleròmetre
Sensors flexibles i l’acceleròmetre

Abordarem els sensors de flexió primer, però esteu a la zona de casa fins on arriba el maquinari. Crec que les imatges següents expliquen pràcticament què fer. Connecteu un pin a + 5v l'altre al tercer o quart pin de la part superior a la part dreta de l'AVR (el microcontrolador al centre d'aquest projecte). Quan vaig reunir-ho per primera vegada, vaig pensar que això era tot el que necessitava fer, però resulta que per a que l’AVR pugui llegir els sensors de flexió, heu de posar una resistència del pin del sensor que va a l’AVR a terra (vegeu les imatges # 10 i 11). He utilitzat un 10k. Això divideix el voltatge que va a l'AVR, que pràcticament duplica la sensibilitat del sensor. Ara per l’acceleròmetre. Com que l’acceleròmetre és només un pèl més alt que l’espai entre les dues taules i perquè és possible que vulguem substituir-lo algun dia, he decidit utilitzar capçaleres per sortir-ne del tauler i connectar-la. Utilitzeu una capçalera d’angle recte per connectar-vos als 6 pins del tauler de ruptura. Ara agafeu una altra capçalera d'angle recte i soldeu una capçalera femenina als passadors curts i, a continuació, soldeu-la a la part inferior esquerra del tauler. Connecteu l’acceleròmetre per assegurar-vos que s’adapta, desconnecteu-lo i connecteu els pins adequats a Vcc (+ 5v) i Gnd. A continuació, connecteu el pin que surt X al pin 40 i Y al pin 39. Ara hauríeu de configurar per afegir els circuits integrats (circuits integrats) i engegar-lo.

26 de desembre de 2009: he comprovat que la forma en què vaig muntar el sensor de flexió del dit índex feia que el material que connectava el sensor amb els pins es degradés. Des de llavors he comprat un sensor de recanvi i he enganxat en calent un tros de plàstic prim al sensor per evitar que aquesta zona sigui la part que fa la major part de la flexió. He etiquetat la ubicació a la foto següent.

Pas 8: Afegir ICs i el primer programa

Afegint ICs i el primer programa
Afegint ICs i el primer programa
Afegint ICs i el primer programa
Afegint ICs i el primer programa
Afegint ICs i el primer programa
Afegint ICs i el primer programa
Afegint ICs i el primer programa
Afegint ICs i el primer programa

Aquest és probablement el pas més senzill de tot el procés. Una vegada més la imatge ajuda. Assegureu-vos que teniu les fitxes de la manera correcta, tal com s’explica a la imatge # 3. Primer connectaria l’alimentació sense res connectat i tocaria el dissipador de calor del regulador de tensió. Si fa calor, alguna cosa s’està escurçant i haureu de tornar enrere i comprovar les connexions. Procediu d’aquesta manera, afegint un xip a la vegada, sentint calor i un cop tot estigui al lloc, estrenyiu les femelles del tauler inferior de manera que les dues taules quedin ben fixades. A continuació, programareu l'AVR. Si mai no ho heu fet, una cerca ràpida a Google proporciona una gran quantitat de resultats. Si jo fos tu, posaria el meu AVR en una taula de programació i hi programaria abans de provar-ho amb el vostre treball dur. Vaig escriure un programa senzill per enviar la informació que es rebia dels sensors flex a la matriu LED. Això us hauria de donar una idea bàsica del que funciona i del que no funciona al vostre circuit. Aquí teniu un vídeo del codi en acció …… i aquí teniu el codi: #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 (); mentre que (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _delay_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _delay_ms (1); PORTB = 0x00; }}

Pas 9: connectar el vostre Circut a un guant

Col·locació del Circut a un guant
Col·locació del Circut a un guant
Col·locació del circut a un guant
Col·locació del circut a un guant
Col·locació del Circut a un guant
Col·locació del Circut a un guant

Crec que hi ha moltes maneres d’enganxar el circuit a la mà i durant un temps vaig pensar que el deixaria al lector, però vaig decidir que l’instructible no seria complet sense aquest tancament. Vaig anar a la meva botiga de bicicletes local i Vaig aconseguir el guant de dit complet més barat que vaig poder trobar. El dit complet és necessari perquè en cas contrari no es poden connectar molt bé els sensors de flexió. Després vaig passar per una botiga de teles i vaig aconseguir fil de polièster i velcro adhesiu. Em vaig posar el guant i em vaig col·locar el circuit a la mà. Una part del posicionament és la comoditat, però una altra part són els sensors flex. Haurien d’anar baixant pel mig de dos dits. Vaig cosir bucles al voltant dels tres separadors per subjectar el tauler principal (vegeu la imatge núm. 2) i després vaig deixar anar bucles a 3/4 del recorregut per cada dit del sensor de flexió (núm. 3 i 4). Assegureu-vos de no cosir el guant tancat. A continuació, vaig enganxar un tros de velcro al costat del dit polze per subjectar la bateria. Després de provar, he comprovat que realment paga la pena cosir-ho, ja que el pal no dura massa temps. A continuació, vaig posar un bucle de velcro al voltant del 9v (imatge 5). Sembla que aquesta configuració funciona bastant bé. Com veieu a les imatges de la primera i l’última diapositiva, ara he afegit fundes per als sensors de flexió, però si no teniu temps, els bucles haurien d’anar bé. Quan acabeu el projecte, envieu fotos del producte acabat. baix. M'encantaria veure amb què se us va acudir per connectar el circuit!

Pas 10: el codi real

El Codi Real
El Codi Real

Gràcies per seguir amb mi fins ara. Tingueu en compte que el meu codi no és perfecte. He comprovat que es necessita una mica d’aprenentatge perquè el senyal funcioni correctament. Seguiré intentant perfeccionar el meu sistema i mantindré aquesta pàgina actualitzada amb un codi nou un cop l’escrigui. 26 de desembre de 2009: NOU CODI! Es publica on hi havia el codi antic. Moltes gràcies a Jacob per la simplificació. Realment funciona bé. Aquí està. Gràcies per llegir i no us oblideu de votar! #include #include #include // Sets or Clears bits in registers #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 (retard int signat) {unsigned int x = 0; while (x <delay) {x ++; }} void initMatrix () {DDRD = 0xFF; // Control verd DDRB = 0xFF; // Control vermell DDRA = 0xE0; // Control de terra} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (column); int i = 0; per a (i = 0; i <8; i ++) {matrixGY (greenmask & (1 << i)); matrixRY (màscara vermella & (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)); tornar ADCH; } char adcAvg (char chan, char avgnum) // Mitjana només fins a 256 mostres {int i = 0; int signat total = 0; per a (i = 0; i <avgnum; i ++) {total + = adcGet (chan); } retorn total / avgnum; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Els valors hexadecimals haurien de canviar-se en funció de la configuració dels usuaris per determinar la sensibilitat dels sensors flex. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } if (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} retorn 0; } Un agraïment especial als Chamberlains, als meus pares i amics que van ajudar.

Finalista del Concurs de vacances casolanes

Recomanat: