Skip to content

Autonomous Vehicle Project developed in STM Cube IDE and coded in C, shows the acquired knowledge in several peripherals controlled by the microcontroller NUCLEO-L152RE Board.

License

Notifications You must be signed in to change notification settings

javierortizmi/autonomous-vehicle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot with Obstacle Detection

Robot Demo

Overview

Autonomous Vehicle Project developed in STM Cube IDE and coded in C, shows our acquired knowledge in several peripherals controlled by the microcontroller NUCLEO-L152RE Board.

This are the general purposes and challenges of the project:

  • Learn microcontroller programming techniques.
  • Design a hardware-software system.
  • Learn to debug and verify the operation of the hardware-software developed.
  • Improve the capacity for design and innovation.
  • Stimulate the capacity for collaboration and participation in a work team.

The Project consists in the development of a robot with an obstacle detection mechanism. The functionalities are the following:

  • Movement forward and backward in a straight line
  • Speed selection
  • Turn to both sides
  • Measurement of the distance to an obstacle when the robot is moving forward
  • Stop the movement of the robot when an obstacle is detected at less than 10 cm
  • Reduce the speed of the robot progressively when an obstacle is detected at less than 20 cm
  • Generate acoustic signals depending on the proximity of the obstacle
  • Communication with a device (PC or mobile phone), which includes receiving commands
  • Bluetooth communication with a mobile phone that controls the robot movement

Technologies Used

C_Programming_Language STMicroelectronics Bluetooth

Requirements

Install and configure STM32CubeIDE.

Robot Demo

Project

This is the general structure of the project. The folders LAB1, LAB2, LAB3 and LAB4 are STM32 projects that can be directly used in the STM32CubeIDE. There, we show the improvements done during the development of this project.

  • Documentation: In this folder you will find all the important documentation including flow charts, the final code, a report of the project and a block diagram.
  • LAB1: In the first step of the project we started making use of the motors of the robot. This include setting up the registers and making use of simple digital outputs.
  • LAB2: We started making use of the ultrasonic sensor and buzzer, implementing code regarding calculating the distance between an object and the sensor, and producing sound with the buzzer when there was a small distance to the object.
  • LAB3: We started developing the sequence when the robot approaches an object ín automatic mode, so it never collides and making it definitely autonomous.
  • LAB4 FINAL: Deploy communication between PC and microcontroller via USART or between phone and microcontroller via Bluetooth, making use of a bluetooth sensor. This is the complete project with all the functionalities. This final version takes into account several peripherals, all controlled by different service routines, with timers and interrupts.

Installation

  1. Clone this repository into your STM32 projects folder.
git clone https://github.com/javierortizmi/AutonomousVehicle.git
  1. Open the Project in the STM32CubeIDE.

  2. Run the code in your ST Microcontroller.

License

License

About

Autonomous Vehicle Project developed in STM Cube IDE and coded in C, shows the acquired knowledge in several peripherals controlled by the microcontroller NUCLEO-L152RE Board.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published