Make With Ada


"Make with Ada" is a competition in which you have to program in Ada and used an Arm chip. For more information, feel free to go on this site.


My project

The explorer and mapper robot will be a robot with four wheels which will evolute in a room. Thanks to some ultrasonic ranging modules and AHRS, it will take some positions and send and/or record them. With those data, we can plotted the shape of the room and the object. I will use an Nucleo board, and perhaps add an hardware abstraction layer to suport also Arduino board in the robot. For the plotting application, I will use a computer or a Raspberry or a STM32F4 board with a screen. And of course, all will be make with Ada.


The applications

The EMR is designed and thunk to be used in a room to be map. So it can be used by owner to made a plan of the room or be used after an earthquate to find some survivor and measure the damage and check if the romm/house is safe. Another application is the exploration of a room to determine if there are some threat as mines or armed people in the battlefield. It can also be used with gaz, humidity, temperature and pressure sensors to determine the composition of the atmosphere around the robot, on Earth or everywhere in the Univers.


Inside the robot

When I start the project, I wanted to used a Nucleo board but there are not the ada drivers for It. So, I used the svd2ada project (mettre le lien github). After, for test it, I modify the differents parts in the drivers for support the Nucleo board. I modify the differents gpr for that all function correctly (mettre le lien github). For test the drivers, I made a version of the blinky project and the tasky project to be sure that all works properly (mettre le lien github et video).

When I start the project, I wanted to used the Nucleo F411RE board, which is based on the stm32f411re chip from STMicroelectronics. But this board was not support by AdaCore, so I'm starting to write its drivers. It was a bit long (and boring) when Fabien from AdaCore email me and write " We also have the SVD2ADA project that will take the ARM SVD hardware
description files provided by the vendors and generate Ada binding to the device. Using this tool will save you hours of development. ". So I discover the project and what is an svd file. So I used it and obtained the librairies. I also add the gpr file to support the board and modify the drivers to be used with it. For store, share and worke on it, I've forked the two github of AdaCore. So the svd2ada project with the nucleo board is here and the Ada_Drivers_Libraries with the support of the Nucleo F411RE Board is here. At this step, I have the drivers but I need to test it. I'm starting by made the blinky project run on the Nucleo F411RE which can be found her here. Then, I made the tasky project run and It can be found here. After I really start my project.

There are two things I need to do: write the drivers for my project and test differents things.

First of all, I need package for those parts of my project:
- package drivers for MPU6050,
- package drivers for HMC5883L,
- package drivers for serial communication,
- package drivers for HC-SR04,
- package calculation for AHRS,



Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site