Tabla de contenido:
- Paso 1: Partes
- Paso 2: preparar las tablas
- Paso 3: agregue las resistencias
- Paso 4: cablee la parte superior
- Paso 5: poblar la parte inferior
- Paso 6: cablee la parte inferior
- Paso 7: Sensores Flex y Acelerómetro
- Paso 8: Agregar circuitos integrados y el primer programa
- Paso 9: colocando su circut en un guante
- Paso 10: el código real
Video: Luz de señal de mano para bicicleta: 10 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:45
El objetivo de este proyecto es crear una luz que se ajuste a un guante de bicicleta y apunte en la dirección del giro previsto, para aumentar la visibilidad por la noche. Debe ser liviano, fácil de usar e integrado con los movimientos existentes para la señalización (ajuste mínimo del método de señal (no tiene que presionar un botón, simplemente se activa cuando envía la señal)). Esto sería un gran regalo para las fiestas.
Nota: Esto requiere un conocimiento previo de cómo soldar y una idea de cómo programar AVR es una gran ventaja. Con eso en mente, diviértase, sea paciente y publique fotos de su producto a continuación. Aquí hay un video: Y aquí hay una foto mía:
Paso 1: Partes
x1 ATmega 32L 8PU (www.digikey.com) x1 conector DIP de 40 clavijas (www.digikey.com) x1 8x8 LED Array (www.sparkfun.com) x1 74138 De-multiplexor (www.digikey.com) x2 Sensores Flex (www.sparkfun.com) x (muchas) resistencias de 180 ohmios y 10k ohmios x2 placa de circuito impreso (www.sparkfun.com) x6 separadores (www.sparkfun.com) y tornillos para encajar (ferretería local) x1 acelerómetro en placa de conexión (www.sparkfun.com) x2 encabezados: macho (www.sparkfun.com), hembra (www.sparkfun.com) y en ángulo recto (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 enchufes de 8 pines (Conseguí el mío en Radio Shack) x1 batería de 9vx1 pie de velcrox1 guante de bicicleta de dedos completosx1 carrete hilo de poliésterx1 programador (tengo este) x1 pelacables y clipx1 multímetro Algunas de las partes:
Paso 2: preparar las tablas
Primero, agregue los enfrentamientos. Tendrá que atornillar dos para obtener la altura adecuada. Asegúrese de que los separadores desciendan desde el lado con las almohadillas CUADRADAS. De esta manera, puede puentear las almohadillas con soldadura en la parte inferior y unir con la almohadilla común en la parte superior para conectar a tierra. A continuación, agregue el conjunto de LED y suéldelo. Debe estar tan lejos del borde de la placa con los dos separadores como sea posible con el YS mirando hacia el lado opuesto. El pin en la parte inferior izquierda es el pin 1. (También está marcado en la imagen). A continuación, agregue los dos enchufes de 8 pines uno encima del otro para formar un enchufe de 16 pines. Asegúrese de tener un espacio a la izquierda y luego suelde. Luego, divida los conectores macho y hembra en secciones de 10 y 11 pines. Necesitará el doble de encabezados femeninos. Suelde los que están como se ve en la foto. En cuanto a los encabezados masculinos, debe mover el pasador para que haya una cantidad igual en cada lado del plástico. Es más fácil mirar una imagen para ver a qué me refiero, así que eche un vistazo al n. ° 6. Usé unos alicates y funcionó bastante bien. Ahora, si toma los encabezados masculinos y los coloca entre los 2 encabezados femeninos, verá que ahora tienen el tamaño correcto para conectar la placa superior e inferior.
Paso 3: agregue las resistencias
Estas resistencias van entre la matriz de LED y el 74138 (tierra) para proteger la matriz. Doble uno de los cables de la resistencia sobre la parte superior para que los dos cables queden paralelos. Colóquelos en los pines 7, 9, 10, 11, 12, 13, 14 y 15 y suelde. Descubrí que funciona mejor si alterna la dirección de la resistencia, como puede ver en la segunda y tercera imágenes.
Paso 4: cablee la parte superior
Este es, con mucho, el paso más largo del proyecto, ¡así que espero que te guste soldar! Simplemente siga el esquema a continuación y asegúrese de probar la continuidad con su multímetro. En caso de que quiera saber cómo llegué con el esquema, mire la hoja de datos de la matriz y el 74138.
Paso 5: poblar la parte inferior
Ahora es el momento de colocar nuestros componentes básicos en la placa inferior. Primero haremos el enchufe DIP de 40 pines que va lo más cerca posible de la parte superior izquierda, dejando una fila de espacio en el lado izquierdo. (Vea la imagen n. ° 1). Suelde eso y luego coloque los encabezados. La forma más fácil de hacer esto es conectar los que están en la parte superior con los que irán en la parte inferior usando sus encabezados masculinos modificados. Si hizo todo bien, debería terminar con los tres pines superiores en el encabezado izquierdo junto a los pines inferiores derechos en el zócalo. Esto esta bien. Solo usamos el pin más inferior a la derecha y, como puede ver, tenemos una oportunidad clara desde otra dirección. Ahora agregue el regulador de voltaje como se muestra en la imagen. Aseguré el mío a través del orificio del disipador de calor de metal con un tornillo y una tuerca. El disipador de calor es otra forma de conectar a tierra el chip y atornillarlo a la placa proporciona un contacto sólido con la conexión común. Esto está conectado tanto a la parte inferior como a la superior porque los dos están conectados con separadores de metal. Sin embargo, si no está utilizando la conexión común para tierra, NO atornille el disipador de calor a la placa, ya que el disipador de calor sirve como tierra y probablemente provocará un cortocircuito en algo. Siguiente cable en el clip de la batería. El rojo va al pin de la izquierda (con el disipador de calor hacia arriba y los pines hacia abajo), el negro al medio y el pin derecho produce + 5v. Ahora puede conectar la alimentación a la parte superior (vea la imagen n. ° 2). Ahora para el conector del programador. Tengo un adaptador que hice para mi programador, pero probablemente querrá incorporar un encabezado de 6 pines (3x2) en su diseño. Sin embargo, si tiene un adaptador como yo, esto es lo que hice. Tomé un encabezado en ángulo recto y un encabezado femenino y los soldé (Imagen n. ° 3). Luego lo conecté a la placa con el primer pin conectado al pin 6. Ahora necesitas encender y conectar a tierra el chip, así como el cableado en una resistencia para tirar del reinicio alto. Ejecuté una resistencia de 10k desde el pin 9 al pin 10 y luego conecté el pin 10 a + 5v. El siguiente pin (11) va a la conexión común (Tierra). Finalmente, mire la imagen n. ° 4 para terminar este paso (se explica por sí mismo).
Paso 6: cablee la parte inferior
¿Recuerda ese paso realmente divertido en el que tenía que ejecutar más de 30 cables para que una matriz de LED funcionara? ¡Ahora puedes hacerlo de nuevo! ¡En el fondo!. Este es un poco más rápido pero no mucho. Una vez más, mire el esquema y verifique todas sus conexiones con su multímetro. No se preocupe, esta es la última gran pieza de soldadura del proyecto y ya casi termina.
Paso 7: Sensores Flex y Acelerómetro
Primero abordaremos los sensores flexibles, pero usted está en la recta final en lo que respecta al hardware. Creo que las imágenes de abajo explican bastante bien qué hacer. Conecte un pin a + 5v y el otro al tercer o cuarto pin desde la parte superior en el lado derecho del AVR (el microcontrolador en el corazón de este proyecto). Cuando puse esto por primera vez, pensé que era todo lo que necesitaba hacer, pero resulta que para que el AVR lea los sensores flexibles, debe colocar una resistencia desde el pin del sensor que va al AVR a tierra (vea las imágenes # 10 y 11). Usé un 10k. Esto divide el voltaje que va al AVR, lo que prácticamente duplica la sensibilidad del sensor. Ahora para el acelerómetro. Debido a que el acelerómetro es solo un pelo más alto que el espacio entre las dos placas y porque es posible que deseemos reemplazarlo algún día, he decidido usar encabezados para sacarlo de la placa y conectarlo. Utilice un cabezal en ángulo recto para conectar los 6 pines de la placa de conexión. Ahora tome otro encabezado en ángulo recto y suelde un encabezado hembra a los pines cortos y luego suelde esto en la parte inferior izquierda de su placa. Enchufe el acelerómetro para asegurarse de que encaje, desenchúfelo y luego conecte los pines adecuados a Vcc (+ 5v) y Gnd. Luego conecte el pin que emite X al pin 40 e Y al pin 39. Ahora debería estar configurado para agregar los IC (circuitos integrados) y encenderlo.
26 de diciembre de 2009: Descubrí que la forma en que monté el sensor de flexión del dedo índice hizo que el material que conectaba el sensor con las clavijas se degradara. Desde entonces, compré un sensor de reemplazo y pegué con pegamento en caliente una pieza de plástico delgado al sensor para evitar que esta área sea la parte que más se dobla. He etiquetado la ubicación en la foto de abajo.
Paso 8: Agregar circuitos integrados y el primer programa
Este es probablemente el paso más fácil de todo el proceso. Una vez más, la imagen ayuda. Asegúrese de tener las fichas en la forma correcta como se explica en la imagen n. ° 3. Primero conectaría la energía sin nada conectado y tocaría el disipador de calor en el regulador de voltaje. Si hace calor, entonces hay un cortocircuito y debe regresar y verificar sus conexiones. Proceda de esta manera, agregue un chip a la vez, sintiendo el calor y una vez que todo esté en su lugar, apriete las tuercas en la tabla inferior para que las dos tablas queden bien unidas. A continuación, programará el AVR. Si nunca ha hecho esto antes, una búsqueda rápida en Google produce una gran cantidad de resultados. Si yo fuera usted, pondría mi AVR en una placa y lo programaría allí antes de que lo intente en su trabajo duro. Escribí un programa simple para enviar la información que se recibe de los sensores flexibles a la matriz de LED. Esto debería darle una idea básica de lo que funciona y lo que no funciona en su circuito. Aquí hay un video del código en acción … y aquí está el código: #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 (); mientras 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; }}
Paso 9: colocando su circut en un guante
Creo que hay muchas formas de conectar su circuito a su mano y por un tiempo pensé que lo dejaría en manos del lector, pero luego decidí que el instructable no estaría completo sin este cierre. Fui a mi tienda de bicicletas local y Conseguí el guante de dedo completo más barato que pude encontrar. Es necesario el dedo completo porque, de lo contrario, no se pueden acoplar muy bien los sensores flexibles. Luego fui a una tienda de telas y compré hilo de poliéster y velcro adhesivo. Me puse el guante y coloqué el circuito en mi mano. Parte del posicionamiento es la comodidad, pero otra parte son los sensores flexibles. Deberían descender por la mitad de dos dedos. Cosí bucles alrededor de los tres separadores para sostener la placa principal (vea la imagen n. ° 2) y luego hice bucles sueltos a 3/4 de cada dedo del sensor de flexión (n. ° 3 y 4). Asegúrese de no coser su guante cerrado. Luego pegué un trozo de velcro en el costado de mi pulgar para sostener la batería. Después de probar, descubrí que realmente vale la pena coser esto también, ya que el palo no dura demasiado. A continuación coloco un lazo de velcro alrededor del 9v (Imagen 5). Esta configuración parece funcionar bastante bien. Como puede ver en las imágenes de la primera y la última diapositiva, ahora agregué fundas para los sensores flexibles, pero si no tiene tiempo, los bucles deberían funcionar bien. Cuando termine con su proyecto, publique fotos de su producto terminado. debajo. ¡Me encantaría ver qué se te ocurrió para conectar el circuito!
Paso 10: el código real
Gracias por soportarme hasta ahora. Tenga en cuenta que mi código no es perfecto. He descubierto que se necesita un poco de aprendizaje para que la señal funcione correctamente. Seguiré intentando perfeccionar mi sistema y mantendré esta página actualizada con nuevo código una vez que la escriba. 26 de diciembre de 2009: ¡NUEVO CÓDIGO! Está publicado donde estaba el código anterior. Muchas gracias a Jacob por la simplificación. Realmente funciona bien. Aquí está. ¡Gracias por leer y no olvides votar! #include #include #include // Establece o borra bits en los registros #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 <retraso) {x ++; }} vacío initMatrix () {DDRD = 0xFF; // Control verde DDRB = 0xFF; // Control rojo DDRA = 0xE0; // Control de suelo} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (columna); int i = 0; para (i = 0; i <8; i ++) {matrixGY (greenmask & (1 << i)); matrixRY (máscara roja & (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); } vacío 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) // Solo promedia hasta 256 muestras {int i = 0; unsigned int total = 0; para (i = 0; i <avgnum; i ++) {total + = adcGet (chan); } return total / avgnum; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Los valores hexadecimales aquí deben cambiarse dependiendo de la configuración del usuario para determinar la sensibilidad de los sensores flexibles. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } si (adcAvg (1, 100) <0x4F) {matrizIzquierda (50); }}} return 0; } Un agradecimiento especial a los Chamberlain, mis padres y amigos que ayudaron.
Finalista en el Concurso de vacaciones caseras
Recomendado:
Construya una señal de giro de bicicleta simple: 11 pasos (con imágenes)
Construya una señal de giro de bicicleta simple: con la llegada del otoño, a veces es difícil darse cuenta de que los días se han acortado, aunque la temperatura puede ser la misma. Le ha pasado a todo el mundo: te vas de paseo en bicicleta por la tarde, pero antes de la mitad del camino, está oscuro y estás
Luz de bicicleta muy brillante con PCB de panel de luz personalizado: 8 pasos (con imágenes)
Luz de bicicleta muy brillante con PCB de panel de luz personalizado: si tiene una bicicleta, entonces sabe cuán desagradables pueden ser los baches en sus neumáticos y su cuerpo. Ya tuve suficiente de volar mis neumáticos, así que decidí diseñar mi propio panel LED con la intención de usarlo como luz de bicicleta. Uno que se enfoca en ser E
Luz de señal de murciélago de Batman y tablero de tiza: 5 pasos (con imágenes)
Luz de señal de murciélago de Batman y tablero de tiza: normalmente no pensarías en la luz de Batman como llena de color, pero debido a que también es un tablero de tiza, puede tener todos los colores que quieras como puedes ver en la imagen
La luz de video íntima / luz de fotografía de mano: 7 pasos (con imágenes)
La luz de video íntima / luz de fotografía de mano: sé lo que estás pensando. Por " íntimo " Me refería a la iluminación de primeros planos en situaciones de iluminación difíciles, no necesariamente para "situaciones íntimas". (Sin embargo, también se puede usar para eso …) Como camarógrafo de la ciudad de Nueva York, o
Luz LED para bicicleta de 700 lúmenes: 8 pasos (con imágenes)
Luz LED para bicicleta de 700 lúmenes: Salida de luz equivalente a una bombilla halógena de 70 vatios, pero solo usa 12 vatios de potencia. Las tomas de haz muestran un edificio por la noche a 100 pies de distancia iluminado por esta luz LED para bicicleta. Las especificaciones detalladas y la lista de piezas se proporcionan al final del paso 8