HUD para Coche: Velocidad y Brújula en Tiempo Real en el Parabrisas
Componentes y materiales
- 1× Arduino Nano R3
- 3× Displays 7 segmentos 5161AS cátodo común rojo
- 1× GPS Beitian BN-220 (TTL serie, 1 Hz, frases $GNRMC)
- 1× Jumper (desconecta RX del GPS al programar)
- 3× Pulsadores NA + 3× condensadores
- 22× Resistencias 220 Ω 1/4W
- 1× LED rojo 3 mm
- 2× Condensadores 100 nF
- 3× Decodificadores BCD 74HC4511 con latch
- 1× Conector USB-B hembra
- Tiras de pines macho/hembra, remaches cobre 0,6 mm, tornillos M3, torres M3 20 mm, caja impresa 3D
Sobre el proyecto
Descripción
Head-Up Display proyectado en el parabrisas que muestra velocidad (km/h) o rumbo (grados) con brillo ajustable (PWM, guardado en EEPROM). Tres botones: +/- brillo, S/H alterna velocidad/rumbo. LED rojo encendido = modo rumbo (1-360°). Requiere movimiento para rumbo válido (GPS, no compás magnético).
Procesamiento GPS
Lee frases NMEA $GNRMC (BT220) o $GPRMC (otros) a 9600 baudios, 1 Hz. Extrae velocidad (nudos → km/h ×1,852) y rumbo verdadero. Valida checksum NMEA. Usa serialEvent() para recepción no bloqueante.
Multiplexado de displays
Tres decodificadores 4511 (latch en pines 2,8,12; bus 4 bits pines 4-7; PWM dimmer pines 9,10,11). Ceros a la izquierda en blanco. Secuencia: activar latch → poner bus → desactivar latch → siguiente display.
Montaje PCB
Dos PCB doble cara (~50 remaches pasantes + 5 agujeros alineación). Transferencia tóner (plancha, papel azul/amarillo, 1200 dpi). Cara componentes impresa para aspecto profesional. Importante: quitar jumper RX antes de cargar sketch; GPS a 9600 baud, solo frase $GNRMC 1 Hz. Aislar conector USB hembra con cinta.
Versiones y mejoras
- V2 (20/07/2021): Altitud (miles de metros) con frase $GNGGA. Requiere cablear pin D5 a punto decimal display central (220 Ω) y D13 al bus dimmer anterior.
- V2.2 (01/11/2021): Fotoresistencia LDR GL5539 + 10 kΩ para brillo automático (3 niveles: día/nublado/noche). Botones +/- siguen funcionando (prioridad); pulsar ambos juntos vuelve a automático. EEPROM ya no usada para brillo.
Código
Sketch principal (car-hud.ino) con EEPROM.h, Wire.h. Funciones: nmeaExtractData() (parser NMEA con checksum), serialEvent(), display() (multiplexado + blanking), checkButtons(), setBusNr() (bus BCD), redondeos decimales. Brillo leído de EEPROM al inicio, guardado cada 60 s.
// Fragmento clave: extracción NMEA
bool nmeaExtractData() {
if (inputString.startsWith("$GNRMC") && checksum_ok) {
// parsea campos por comas: tiempo, validez, lat, lon, nudos, rumbo, fecha
nmf_kmh = round(nmf_knots * 1.852); nmi_kmh = int(nmf_kmh);
nmi_truecourse = int(round(nmf_truecourse));
return true;
}
return false;
}
Esquemáticos y archivos
Imágenes de PCB (cara componentes, soldadura, espejadas), archivos Fritzing (.fzz) y sketches V2/V2.2 disponibles en sección de descargas.
Proceso de manufactura
- Coche Autónomo Donkey Car: TensorFlow MobileNetV2 IA para Recogida de Basura
- Planificación de Movimiento en Tiempo Real para Vehículos Autónomos en Entornos Urbanos: Estudio de Prototipo a Escala
- Cómo elegir el turbo adecuado para tu coche: Guía práctica
- ¿Por Qué mi Coche Pierde Aceite Estacionado? Causas Comunes Explicadas
- Intercambio de datos de producto: El desafío clave para fabricantes automotrices
- Selección del cable de motor óptimo para variadores de velocidad (VSD)
- Tornos de velocidad Twister: Pulido y desbarbado avanzado con 50% más potencia y control regenerativo
- Torno de bancada inclinada FBL-1233: precisión, velocidad y versatilidad para producción de alto volumen y series cortas
- Revolucionando la movilidad: Dentro del motorcar semi-autónomo de Arrow Electronics para conductores discapacitados
- Cómo el 5G Transforma los Coches Conectados: Velocidad, Seguridad y Funciones Inteligentes
- Seguridad ante todo: Cómo los europeos ven los coches conectados del futuro