LCD-LED Display

Taxi Fare Meter Schematic Circuit Diagram

In taxis and autorickshaws, a taximeter computes the fare according to the distance covered. The Taxi Fare Meter circuit computes the trip cost by considering the per-kilometer rate and provides information on the distance traveled and the total fare. The meter calculates the fare based on several factors, including:

Distance Traveled:

  • The meter measures the distance the taxi travels using sensors or GPS technology. It calculates the fare based on the distance covered.


  • In addition to distance, the meter also factors in the time spent on the journey, such as waiting time in traffic or at red lights. This ensures that passengers are charged not only for the distance but also for the time they spend in the taxi.

Base Fare:

  • The meter usually starts with a base fare, which is a predetermined amount charged when the taxi ride begins, regardless of the distance or time.

Additional Charges:

  • Taximeters can also include additional charges for specific situations, such as airport surcharges, late-night fares, or extra passengers.


  • In some regions, taximeters can switch between different tariffs, each with its own pricing structure. For example, daytime and nighttime tariffs may have different rates.

Waiting Time:

  • If the taxi is stationary or stuck in traffic, the meter may calculate a waiting time fee based on the duration the taxi is not in motion.

The circuit, as illustrated in Figure 1, comprises an Arduino Uno Board, a 16×2 LCD display, and an inductive proximity sensor connected to CON2. To detect the rotation of a revolving object, like a wheel’s rim or a wheel nut, a metal target, such as a bolt head, is affixed to the rotating item.

The sensor generates a pulse each time the rotating metal target crosses its path. This pulse is directed to the Arduino’s first interrupt pin (pin 2) via diode D1, acting as a voltage level converter. The proximity sensor’s output pulse voltage spans from 0-12V due to its operating voltage of 12V.

Since the Arduino cannot handle a 12V input, a diode is utilized to transform it into a 5V logic pulse. When the sensor output is high, the diode remains non-conductive, and pin 2 of the Arduino receives 5V through pull-up resistor R2. Conversely, when the sensor output goes low, the diode becomes forward-biased, grounding pin 2, resulting in a logic low signal at Board1 pin 2.

The Arduino keeps a tally of the pulses for each wheel rotation and translates them into kilometers (km) using the program. Subsequently, this distance is multiplied by the rate per kilometer to calculate the trip cost based on the traveled distance. Both the distance and fare are displayed on LCD1.

Before the vehicle is booked, LCD1 initially presents the message “TRIP IS TO BEGIN, HAPPY JOURNEY.” When the ride is initiated by pressing switch S1, LCD1 briefly flashes “TRIP STARTED, HAPPY JOURNEY” for half a second. Following this, real-time updates of the distance traveled and the trip cost are continuously displayed on LCD1.

At the conclusion of the trip, the total fare is exhibited on LCD1, and by pressing switch S1 again, the trip is officially recorded as complete. LCD1 briefly shows “TRIP COMPLETED, THANK YOU” for one second before reverting to the initial message, ready for the next trip.

The proximity sensor featured in this circuit (refer to Figure 2) is a normally-open (NO) PNP-type proximity sensor that detects objects without physical contact within its specified range—the maximum distance it can effectively detect. Its high reliability and extended operational lifespan result from the absence of mechanical components and the absence of physical contact between the sensor and the objects being sensed.

Construction and testing

You can construct the circuit using the single-sided PCB design illustrated in Figure 3, while Figure 4 provides guidance on component placement. Establish connections for 12V and Gnd at CON1, and link the proximity sensor to CON2. Once all components have been assembled on the PCB, include the stop/start switch, S1. After assembling the circuit, encase it within a suitable enclosure for protection.

The program for the taxi fare meter is coded in the Arduino programming language (referred to as a sketch). To compile and load the program onto the Arduino board, the Arduino IDE is utilized. In the Arduino IDE, choose the appropriate board from the “Board” menu in the “Tools” section. Additionally, select the COM port and upload the program using the standard USB port on your computer.

Please keep the following in mind:

  • The majority of taxis (particularly cars) use 40.6cm (16-inch) dia tires, which have a circumference of 128cm (0.00128km). As a result, each turn of the wheel travels 0.00128 kilometers.
  • The cost per km in this project is fixed at $9, although it can be adjusted in the program.
  • To acquire a better resolution of the distance traveled, more than one metal target might be employed. Five targets were employed in the experiment.
  • Depending on the type of sensor employed, a pull-up or pull-down resistor may be required at the sensor’s output.
  • It is possible to use a proximity sensor with a nominal range of 5 to 10mm.



Related Articles

Leave a Reply

Your email address will not be published.

Back to top button