Project of a taximeterCortexM3 implemented on Cortex M3.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
The objective of this project is to put into practice the skills using the peripherals of the CORTEX M3 LPC1769. The firmware of the project was developed in C.
For a comprehensive analysis of the project, it is proposed to review the academic report, which contains all the theoretical concepts and design decisions of the project.
The project was designed using the MCUXpresso IDE from NXP.
For the graphic interface, you should pre-install the following libraries:
Then execute the Python script.
python proyecto/Taximetro/int_grafica.pyOf course, you may tailor the implementation according to your objectives and elements. However, a simple purpose could be as follows:
The taxi meter has 3 modes:
-
Free: Initially, the taxi meter is in the Free mode. This is indicated by the LED being on. When the "2" button is pressed, the mode changes to Occupied.
-
Occupied: In this mode, the red LED turns on, indicating that the taxi is occupied. The fare starts at $90 and increases by $9 every 200 meters, for every 1 minute with the car stopped, or when the "D" button is pressed.
-
Stop: When the journey ends, the "3" button is pressed to switch to the Stop mode. In this mode, the LED starts flashing, indicating that the journey is completed and payment can be collected. Pressing the "1" button in this mode will transition back to the Free mode, allowing the taxi to be available for the next ride.
Additionally, the LED can be turned off by pressing the "4" button.
The data is transmitted via UART with the following format:
\rM $<fare> <distance>m
\r: Indicates the start of the message.M: Denotes that the message is from the taxi meter.$<fare>: Represents the fare, which is preceded by a dollar sign ('$'). For example, "$90".<distance>m: Indicates the distance traveled, followed by the letter 'm' to denote meters. For example, "200m".
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the Beerware License🍻. See LICENSE.txt for more information.
Francisco Ciordia Cantarella - [email protected]
Project Link: https://github.com/Fran-Cio/taximeterCortexM3


