Volver a proyectosBack to projects
Sistema de Gestión para Transporte (RISC-V)

PRJ.03 Sistemas con microprocesadoresMicroprocessor systems

AcadémicoAcademic

Sistema de Gestión para Transporte (RISC-V)

Transit Fare-Management System (RISC-V)

Sistema embebido para transporte público que automatiza el cobro, cuenta pasajeros por destino y muestra la disponibilidad de asientos en tiempo real, integrando RFID, GPS y una red de displays para chofer y pasajeros.

An embedded system for public transit that automates fare collection, tracks passengers per destination and displays real-time seat availability, integrating RFID, GPS and a network of driver- and passenger-facing displays.

PERÍODOPERIOD Cátedra de Sistemas con Microprocesadores
TIPOTYPE Proyecto académicoAcademic project
STACKSTACK RFID · GPS · Displays
44ciudades en el recorridocities on the route
33pantallas, roles distintosdisplays, distinct roles
RFID + GPSRFID + GPSidentificación y ubicaciónidentification & location

Descripción del proyecto

Project description

Al abordar, el pasajero apoya su tarjeta sobre un lector RFID conectado al microcontrolador por SPI, que distingue si se trata de un ascenso (primera lectura del viaje) o un descenso (tarjeta ya registrada). En el ascenso, selecciona su destino mediante un panel de cuatro botones — uno por ciudad del recorrido — y el sistema cobra automáticamente la tarifa más alta posible (verificando primero que el saldo sea válido), actualiza el conteo de asientos ocupados y refleja los nuevos datos en la pantalla LCD del pasajero, en los displays de 7 segmentos del chofer y en el display frontal visible desde la parada.

Un módulo GPS ubica a la unidad en todo momento, determinando ciudad actual, sentido de viaje y próximo destino, y actualizando el LED indicador frontal en consecuencia. Al descender, el pasajero vuelve a apoyar su tarjeta: el sistema reconoce el registro previo, calcula la tarifa real como la diferencia entre las ciudades de ascenso y descenso según una tabla de precios, reintegra automáticamente el saldo correspondiente y actualiza los contadores de pasajeros y asientos disponibles.

Para tolerar fallas operativas — lectores que fallan, pasajeros sin tarjeta, emergencias — el chofer cuenta con un panel de seis botones (F1-F4, Aceptar, Cancelar) que permite ajustar manualmente la cantidad de pasajeros por destino, cambiar el próximo destino o reiniciar el sistema. Toda la información se distribuye en tres pantallas con roles distintos: una LCD 20x4 para el pasajero (origen, destino, tarifa), un display de 7 segmentos interno para el chofer (pasajeros por ciudad, próximo destino, unidad llena) y un display externo frontal que muestra los asientos disponibles a quienes esperan en la parada.

When boarding, the passenger taps their card on an RFID reader connected to the microcontroller over SPI, which distinguishes a boarding event (first read of the trip) from an alighting event (card already registered). On boarding, the passenger selects a destination from a four-button panel — one per city on the route — and the system automatically charges the highest possible fare (after verifying a valid balance), updates the occupied-seat count, and reflects the new data on the passenger's LCD screen, the driver's 7-segment displays, and the front display visible from the stop.

A GPS module tracks the unit's position at all times, determining the current city, direction of travel and next destination, updating the front indicator LED accordingly. On alighting, the passenger taps their card again: the system recognizes the prior record, calculates the actual fare as the difference between boarding and alighting cities from a fare table, automatically refunds the corresponding balance, and updates passenger and seat-availability counters.

To tolerate operational failures — faulty readers, cardless passengers, emergencies — the driver has a six-button panel (F1-F4, Accept, Cancel) to manually adjust passenger counts per destination, change the next destination, or reset the system. Information is distributed across three displays with distinct roles: a 20x4 LCD for the passenger (origin, destination, fare), an internal 7-segment display for the driver (passengers per city, next destination, unit full), and an external front display showing available seats to those waiting at the stop.