My task was to build a system to measure the altitude of a quadrocopter to be able to controll it. Quadrocopters are more and more widely used on different fields, so I looked into what can be achieved with them and on which fields they are in use.
First, I studied the current technologies used for distance and altitude measurement then I started to work with the chosen SHARP laser range detector. To be able to measure the altitude, the orientation of the copter is very important, so I studied the theoretical background and possible implementations for this purpose. I connected a multipurpose sensor, containing an accelerometer and gyroscope to the developer board and started to work with them. To be able to read and work with the measured data of the distance sensor and the orientation sensors, I had to get aquainted with several analoge and digital communication interfaces currently being used in embedded systems.
I implemented the USART, I2C and ADC interfaces on the microcontroller, to read and process the sensor data. For efficient and fast operation on the STM32 I used a real time operating system, the CMSIS-RTOS RTX, and built a multi threaded environment.
With the system I performed the altitude measurements, observed the captured values, and the errors I got.
I completed the planned system with hardware elements, necessary for a PCB design and I made it.