My FabAcademy Final project

Welcome to my final project page, you can get all the information’s about my final project.

Problematic

My objective is to create a system to deal with the problem of crop damage caused by birds, particularly crows. In the days and weeks following sowing, i.e. between emergence and the 9-leaf stage(from Arvalis), corvids go digging in the soil to retrieve plants in order to feed on them. This consumption, multiplied by a very large number of individuals, can cause considerable damage to the plots concerned. If the damage is too extensive, the farmer may have to resow the plot several times. Each resowing entails the purchase of additional seeds, greater fuel consumption, greater wear and tear on equipment and a later planting date, which can quickly become very costly for the farm.

Exemple of crow damages in a crop, from infoagri69

Existing solutions

Regulation, of course, the lower the populations, the less damage there will be. This is achieved either by trapping preserved animals or by shooting them. These methods can be used to limit corvid populations.

Some agronomic levers already exist and involve differences in the technical itineraries for planting, i.e. the way in which the crop is sown.

Agronomic levers(spotifarm):

-Re-press the seedbed well to make it more difficult to pull out the plant.
-Avoid sowing in conditions that are too dry, which makes the soil cloddy and therefore more vulnerable.
-Group sowing with neighbours, for example, to dilute attacks
-Sow wheat at the same time so that crows cannot tell the difference between maize and wheat.
-Deep sowing will make the plant more robust

In addition to all these techniques, which are often not enough, there are also techniques to scare crows away.

Frightening techniques:

-kites in the form of corvid predators that move with the wind
-bazookas that set off very loud gas explosions
-scarecrows to make people look human.

Despite these different techniques, there is still some damage to crops. Corvids are very intelligent animals, able to understand quite quickly that, for example, the scarecrow is not a human and that there is no danger, or that in the case of a bazooka, that the explosion is not dangerous and that they are not afraid of anything.
Even with all these existing solutions, there are still problems of damage to crops, particularly maize, caused by corvids. These devices are all independently effective, but when faced with large crow populations there is still considerable crop damage.

My first idea

To overcome these problems, I'd like to make a robot capable of scaring away crows. I think that by making it mobile, the corvids would take much longer to get used to the presence of the device and would flee the plot for a longer period, or even indefinitely. We could also take into account the robot's ability to emit different types of sound at different frequencies, which would also prevent them from getting used to the robot.

project draw

Above you can see a drawing illustrating what the robot could look like and what it could be used for.I've tried to illustrate 'pole wheels' so as not to damage the crop by driving over it.
If I can make a robot that can move within a space, we could then imagine adding satellite guidance functions to enable it to find its way around a plot of land, and so on.

Designing

Durant la week2, nous devions effectuer des conceptions par ordinateur, j'ai donc décidé de faire une représentation de mon robot de la manière dont je l'imagine. Vous retrouverz ci dessous les différentes étapes que j'ai effectué afin de créer cette conception

3D Modelling

To model in 3D, I chose to use Autodesk's Fusion 360 software. I've already modelled and printed in 3D before and it's already the software I've been using. It's pretty easy to use and offers a large number of functions. To work on the 3D modelling, I chose to model a first version of my final project, which is just an idea and will probably be quite different from the final version.

To start my modelling, I based myself on the only elements that I wasn't going to model myself, the electric motors. I used the McMaster-Carr library to get them. It's quite simple, just click on the insert icon at the top right, then click on insert a component from McMaster-Carr. Then look for the component you want, in my case a dc motor. Then select the component you want, taking care not to select the 3D-STEP format before downloading it. The desired component normally appears in our design.

Once I'd positioned my two electric motors, I made a sketch to create the base of the robot, created the shape I wanted on one half and then made a revolution around the Z axis to create my circular shape.

I then made other sketches that I extruded to make the elements of my robot, namely the motor supports and the wheels. As these are wheels with bars, I made a foot and then used the network function to multiply it around the axis of the wheels.

In order to do the same thing on the other side, I had to make a symmetry of these bodies in relation to the Z axis.

Parametric creation

In order to be able to change the values of certain elements of my design, I was able to use parameters that I can still change in order to modify my design. To create parameters, simply go to the edit tab at the top and select the edit parameters option. By clicking on the + you can create a new parameter by entering the name you want to give it and its value. Then, when you want to create a new object, all you have to do is enter the parameter name and change the value. I've only created 3 parameters, the size of the motor output where my wheel fits, the diameter of the bars and their length. I'm very sorry I didn't create more, because when I want to go back, a lot of bodies change place. I should have created one to change the angle of my feet in relation to the support, that would have allowed me to see how the robot would look with different angles.

Creating links

I also made some links so that I could rotate my wheels. To do this I first went to the assemble menu, where I selected the create tool. You then select the two linked faces separately and specify the movement, in my case a revolution. I had a lot of trouble making my wheels turn because I was simply trying to make my motor output shaft coincide with the part that fits on the end, so it was only the motor that was rotating on itself. I had to create a component that included all the components of my wheel to make it work.

Change of materials

To make my object more realistic and more attractive, I chose to change the materials to give it a different appearance. It's very easy to do, just select the body whose material you want to change, right-click and choose physical material. You then arrive on a page with a multitude of materials, just click on the ones you want at the top of the design materials, and then simply drag the materials onto the bodies you've selected. In my case I've only used plastic because it will be the main component. As for the colour, I wanted a different one for the body of the robot, for the bars and for the spikes, so I chose blue, white and red, the colours of the French flag.

Later, when I'd done my vector creation on Inkscape, I had fun importing it into my design using the insert function, then inserting an svg. Then all you have to do is move the model around and enlarge it as you like. I had a hard time getting this step right because there were two lines that barely touched, which made it look as if the shape wasn't closed. I had to find where the "hole" was in my sketch in order to put a sketch line there. I then extruded the sketch to make it more visible.

Creating a rendering

To make my design more realistic, I did a render to show what it might look like. To do this I went to the Fusion 360 render menu. In the configuration tab, I changed the scene settings. I chose to change the environment by taking the field environment and then I adjusted the various parameters to make the render as realistic as possible. I then went to the render function and it suggested various adaptations before editing the final render. All that's left to do is run it and download it.

Make an animation

In order to make an animation, I first wanted to use the menu dedicated solely to 360° fusion animations, but there must have been some problem with my design, but I wasn't able to make it move, or else it was the whole robot that was rotating on itself. So I chose to stay in the design menu and activate the movement link for my two wheels. I took the screenshot using the functions on my computer by simply entering Control+Shift+5.

PCB

Afin de contrôler mon robot j'ai profité de la semaine Electronic design afin de réaliser un premier PCB qui pourrais me sevrir afin de contrôler mon robot. Ce n'est qu'une première ébauche, mais ce dernier à été conçu sur la base d'un ESP32-WROOM-32UE, il à comme premières fonctionnalitées d'avoir la possibilité de brancher deux drivers moteur, un écran LCD ainsi qu'un module de reception GPS. Ci desous, vous retrouverez les différentes étapes relatives à la conception de ce PCB

Microcontroler

The first thing that had to be done to design this project was to choose a microcontroller, given that I wanted to have wifi and Bluetooth access, so my choice fell on an ESP32. We have various models at Agrilab and I finally chose to use a ESP32-WROOM-32UE. It's quite compact and still has 38 pins, which means it can be used in a variety of ways, so I've obviously got the network functionality. To start working on it, I spent a long time reading the datasheet to determine how I could use each pin and where to connect them.

N'ayant que de brèves connaissance en éléctronique, j'ai donc pris en exemple la carte d'en dessous, elle même inspiré de this design from Neil, It also has its own power supply via a barrel and a LED. Using this existing board as a support means I already have a functional environment that I can programme easily and that works with the same microncontroller I've chosen to use.

week8

So I decided to create a new circuit based on this example, to which I added 4-pin header pins for different uses:
-2 to control my motor drivers with pins and power supply
-One to receive GPS data with the power supply as well as RX and TX pins
-An I2C output so I can plug in a screen if I want to.
In addition to these outputs, I've added an extra LED and a button

To program this board, I adjusted the RX and TX pins so that it could be programmed using the Quentorres

Kicad

To design this circuit, I used Kicad which is open source software for designing electronic circuits. To get to grips with the software, we had a workshop to learn how to use it on Thursday so that we could master it and reproduce our own circuit. To practise, we tried to reproduce the SAMDino

Before you even start, it's a good idea to download the Kicad of the Fabacademy which is made up of a number of extremely useful components. To download it, simply click on code then download the zip file

week8

Once the library has been downloaded, you can launch kicad. In the preferences menu, select configure symbol libraries. A new window will open in which you can click on + to add a library, we'll give it a nickname and then look in the unzipped folder for the file fab.kicad_sym, we will then do the same process for the footprints by searching for the file fab.pretty, we can then validate again and use our libraries.

week8

You can then go to the file tab and create a new project that you can name and put in the desired location.

week8

Below is a presentation of the various tools available, including those for the schematic editor and the PCB editor.

week8

Once the project has been created, you can go to the schematic editor to start creating your circuit. You can start by using the add symbol tool on the right to search for the different components you want to add, for example here my ESP32-WROOM-32UE microprocessor, so you can add the different elements you want to put in our circuit by searching for them in the same way. You don't necessarily know which components you want to add to the list, so you need to compare and don't hesitate to consult the datasheets to be sure. For example, in the case of pinheaders, having only used surface elements, I know that this type of component is always followed by the acronym SMD.

week8

The next most common step is to add the power supply symbols, often 5V, 3.5V and a ground. To do this, go to the power supply symbol tool and select the one you want.

Connecting our elements

Once our elements are in place, we can link them in two different ways:
-With labels
-With wires
To connect them with labels, click on the label tool, a window will open where you can name your label, then click on enter and you can place the label where you want it, then copy the label and paste it where you want to place the other component.

week8

To use the wire tool, simply connect the connections of the elements you want to join together, or use the add wire tool to link the components you want, as shown below.

week8

You can then use other tools, such as the no connection tool, to indicate unused pins. To do this, simply use the selection tool and double-click on the component you want to use. A window will open showing the various properties of our component. You can click on the library icon on the footprint line and then go and find the footprint you want. For components in the fabacademy library, simply remove the fab:to find the right footprint.

week8

Once you've changed all your fingerprints, you can click on the function at the top of the screen. Open the PCB in the PCB editor which will open up our PCB editor

week8

Once in the pcb editor, we can place our components on either side so that the paths can be made without too many problems, i.e. without crossing each other and trying to take up as little space as possible, bearing in mind that the tighter the components, the more complicated they will be to solder, and don't forget to take into account the thickness of the tracks.

When all the components are positioned correctly and you can see little or no blue lines crossing each other, you can start adding the tracks. We're going to make sure that we draw the tracks so that we have the simplest possible chmins, so we use the track route tool on the right-hand wheel. To modify the characteristics of my tracks I went to the Edit Preset Sizes tool and then to the Equipotential Class where I modified two main values. Firstly, I increased the insulation to 0.4mm and the track width to 0.6mm. This step is essential, firstly because the milling cutters we usually use are 0.4mm, so it's essential to leave at least the space of one milling cutter between two tracks so as not to mill the roads. The wider tracks allow better current flow and heat dissipation. The esp32 is a microcontroller that requires a lot of current, so it's essential to have tracks that let more current through.

week8

Once all our components and tracks are in place, we can draw the outline of our circuit. To do this I went to a different layer in my case user1 and I used the line-drawing tool to draw the outline of my circuit, taking care to draw a 1mm line which corresponds to the diameter of the milling cutter we use to cut the outline of our PCBs. Once these steps have been completed, our PCB is ready to be exported for milling. I'm not very happy with my design, I didn't arrange the space on my circuit properly and to compensate for the poor arrangement of the elements, I had to add 9 0Ohm resistors on my circuit to act as a bridge to pass over the wires.

Once all these steps have been completed, we can export our PCB. To do this, go to Files> Export> SVG to open a new window. Then choose the layer you want to export and various parameters such as the page format, etc. Finally, click on Export

week8 week8

In my case, I exported two layers, the trace layer and the outline layer. I should normally have exported a third layer which corresponded to the holes I needed to make, but I couldn't do it and I was pressed for time. These holes corresponded to the plastic pins that were on the underside of the button and the feed barrel. To save time and avoid having to drill in these places, I used an ultrasonic cutter to cut out the protruding pieces of plastic to create a flat surface.

week8 week8

Milling

To prepare my milling, I used mods again. If you'd like more information on the next steps, you can refer to our week of Electronic production. I used mods again to edit my rml file. During the week of electronic production, we had opened the mill 2D program, during this week I used the mill 2D PCB program. We can then enter our SVG image and the various milling parameters. It's important to remember to reverse when you import the traces so that it doesn't cut the traces but cuts around them.

Passage Tool diameter Cuth depth Max depth Offset stepover Speed
Traces 0.4mm 0.1mm 0.1mm 5 1.5mm/s
Interior 1mm 0.4mm 1.8mm 2 1.5mm/s

You'll notice that I made two passes to cut my outline, which isn't logical as the diameter of my milling cutter corresponds to the diameter of my outline. I didn't take the time to find out what the problem was and simply made two passes, which doubles the milling time but gives a more satisfactory result. If I'd only left one pass, the milling cutter would have zigzagged and not followed a straight trajectory, which I imagine would have resulted in a poor quality finish. Once the file was ready, I could move on to milling with the Rolland SRM 20. It's also important to reverse the selection when preparing the file, as shown below.

week8

If you want to reproduce this circuit at home, you will find the svg files of the interior and thetraces here

week8 week8

Soldering

Once I'd finished milling, I realised that I'd missed. To do my milling I chose to use a 0.4mm milling cutter, but the distance between the pins on the ESP32-WROOM-32UE is smaller than the diameter of my milling cutter, which meant that the latter didn't mill between the pins. To solve this problem I had to use the ultrasonic cutter again to cut between the pieces of copper that shouldn't have been connected. Once I'd finished re-cutting my tracks, I used the contact tester function on my multimeter to check that I'd done the operation correctly and that there were no connections where there shouldn't be any.

week8

Once all these steps had been completed, I was able to solder all my components onto the circuit.

week8 week8

Here is the list of components I used to make this circuit

Component Number
ESP32-WROOM-32UE-N4 1
CONN JACK R/A SMT 5.5X2.1MM 1
button 2
interruptor 1
capacitor 1UF 2
capacitor 10UF 1
Pinheader femaleX4 4
Pinheader malex6 1
Regulator 1
Resistor 500 Ohm 2
Resistor 10K Ohm 2
Resistor 0 Ohm (Jumper) 8
Led green 1
Led red 1

Testing

I now have a ready-to-use printed circuit board. It is not easy to upload a code on it, when you have few skills in electronics. I first wanted to use my Quentorres to televise my code on the esp32 but I couldn't manage to put the UF2 firmware on it to use it as a programmer. So I used a programmer made for this purpose that I can connect to my card by simply connecting the GND and RX terminals to the TX.

week8

Before even testing our circuit, it is very important to remember to connect an antenna to its location, otherwise the circuit will be burnt out.

Once you are connected to the programmer, you can open the Arduino IDE and go to the preferences. In the additional board manager, we'll add this link https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json which refers to the library for using ESP32.

week8

In the cards we're going to use, we'll select the ESP32 Dev Module which corresponds to our microcontroller

week8

You can then create a program to upload. In my case, I chose to create a blink to test my two LEDs by making them work alternately. You can find the code here


// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(23, OUTPUT);//Led red
  pinMode(21, OUTPUT);//Led green
  
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(23, HIGH); // turn the LED on 
  digitalWrite(21, LOW);  // turn the LED off 
  delay(500);                      // wait for a half second
  digitalWrite(23, LOW);    // turn the LED off 
  digitalWrite(21, HIGH);   // turn the LED on 
  delay(500);                      // wait for a half second
}

									

As far as uploading is concerned, the process is more complex than with a simple arduino, for example. First of all, the switch has to be lifted to be in download mode. You can then test whether there is a connection by opening the serial monitor. You need to pay attention to the baud rate, which is different from an arduino and is not 9600 but 115 200. If you don't change it, what is displayed on the monitor will be inconsistent. If you press the button and you get the message below, the microcontroller is ready for uploading. and you can upload.

week8 week8

Once the code has been successfully uploaded, you can turn the switch down again and press the button, and the code will run.

I made a major mistake when designing this circuit. I had designed it so that it could power two motor drivers as well as a gps module and an LCD screen. However, I've connected one of my drivers to pins that can't do PWM, so the circuit can't send PWM to the driver and when I try the two motors I'll have to solder wires to connect my driver to a pin that does PWM.

Motor driver

Durant la week 9, j'ai pu tester l'utilisation de driver moteur afin de contrôler les moteurs à courtant continu qui serviront dans mon robot. Vous pourrez retrouver mes test ci-dessous

To start my week on output, I took the circuit I made during the week electronic design. The aim of this circuit is to control two motors, a screen and a gps module, so I decided to start by testing a DC motor contrôlé lui même pas un motor driver. I started by soldering the connectors that came with the driver, then I made my connections. I connected the driver in the same way as in the diagram below provided in the datasheet.

week8

Connect the motor poles to the MA and MB terminals of the driver and supply with a 12V power supply with a + and - on their respective terminals.

As for the driver inputs, I connected 3 of the 4 pins to GND and connected the direction (clockwise/counter-clockwise) to pin33 of my ESP32 and the PWM (used to modulate the speed) to pin 32. Once the connections had been made, I was able to start writing the code


// Define pins for steering control
const int DIR = 33; 
//  PWM spindle for speed control
const int PWM_PIN = 32; 

void setup() {
  //define the output
  pinMode(DIR, OUTPUT);//direction
  pinMode(PWM_PIN, OUTPUT);//speed
  pinMode(23, OUTPUT);//Led red
  pinMode(21, OUTPUT);//Led green
}

void loop() {
  // Turn the motor clockwise (forward) at medium speed
  digitalWrite(23, HIGH);//led
  digitalWrite(21, LOW);//led
  digitalWrite(DIR, HIGH);
  analogWrite(PWM_PIN, 127); // 50% work cycle (average speed)
  delay(3000); // Wait for 3 seconds

  // Stop the engine
  digitalWrite(23, LOW);//led
  digitalWrite(21, HIGH);//led
  digitalWrite(DIR, LOW);
  analogWrite(PWM_PIN, 0); // Stop PWM
  delay(3000); // Wait for 3 second

  // Running the engine at high speed
  digitalWrite(21, LOW);//led
  digitalWrite(23, HIGH);//led
  digitalWrite(DIR, HIGH);
  analogWrite(PWM_PIN, 255); // Full speed (100% duty cycle)
  delay(3000); // Wait for 3 seconds

  // Stop the engine
  digitalWrite(23, LOW);//led
  digitalWrite(21, HIGH);//led
  digitalWrite(DIR, HIGH);
  analogWrite(PWM_PIN, 0); // Stop PWM
  delay(3000); // Wait for 3 second
}

									

To create this code I mainly used ChatGPT and the driver documentation. I had difficulty programming the drvier, I thought for a long time that it was the fault of my code which was not good. In reality, after searching for a long time, I found myself thanks to this website that of the ESP32 GPIOs, 4 were not capable of PWM. GPIO 34, 35, 36, 39. So I tried again using the pins found in the programme and I managed to get my motor working. However, I was still having problems with false contacts, and if I moved the wires, the motor stopped working. On investigating, I realised that the problem was with the driver's white connectors. So I soldered some wires directly to the driver and managed to get the motor working without a hitch.

week8

GPS

Afin de pouvoir contrôler les déplacement de mon robot il est essentiel que ce dernier dispose d'un système de localisation afin qu'il sache ou il se situe. Pour cela j'ai testé pendant la week 11 un module GPS.

Gps

The GPS module I was trying was this one you should normally try it with the appropriate software u-center which is not available under IOS, I inquired and saw that we could still read the data even without using the software. In order to make it work I used different GPS documentation with esp32 likethis one and this one.I had abandoned the idea of GPS because I had already lost a lot of time with it.

On Tuesday, Nicolas provided me with a new and different GPS module, it is a module GPS NEO-6M, so I retried all the codes that I had tried and without success, I tried with aESP32 dev kit thinking my PCB was faulty but didn't get better results. I then switched to an Arduino Uno and I was not able to receive anything by trying multiple codes that I could find on the internet and I found this guide . It was by following this last step by step that I managed to capture a signal with an Arduino. In order to connect last, you had to connect the following pins:

Arduino pin GPS Module pin
GND GND
5V 5V
3 RX
4 TX

I first followed the tutorial by entering this code:


/*
 * Rui Santos 
 * Complete Project Details http://randomnerdtutorials.com
 */
 
#include "SoftwareSerial.h"

// The serial connection to the GPS module
SoftwareSerial ss(4, 3);

void setup(){
  Serial.begin(9600);
  ss.begin(9600);
}

void loop(){
  while (ss.available() > 0){
    // get the byte data from the GPS
    byte gpsData = ss.read();
    Serial.write(gpsData);
  }
}
									

I obtained the following values with this code:

week11

This code is extremely simple, it does not even take into account a library in order to read the data, it simply presents the data provided by the GPS module as it is. While following the tutorial I then downloaded the TinyGPS++ library, I had of course already downloaded it but given my difficulties it was quite simple to follow the tutorial. It is therefore necessary to download the library TinyGPS++. Once the zip file is downloaded, we can unzip it and we obtain a folder namedTinyGPSPlus-master which will have to be renamed toTinyGPSPlus. In the Arduino folder on our computer, we can put the TinyGPSPLUS folder in the library subfolder

We can then launch our IDE and follow the following path: File > Exemples > TinyGPS > simple_test which will open the test file for us. However, before uploading it, it will be necessary to modify the ss.begin(4800); by ss.begin(9600); on line 16. This modification corresponds to the Baudrate of our module which is different. Once this code was uploaded, I finally managed to read GPS data

week11

I then had to be able to read this data using my ESP32. I modified the original code proposed by the library by replacing the library SoftwareSerial by the libraryHardwareSerial. During the change I also changed the pins which are not the same on the ESP32 and on the Arduino. Following the modifications, the final code that allowed me to read GPS data from the NEO-6M GPS module with my PCB based on an ESP32-Wroom-32UE is as follows:


#include "TinyGPS.h"
#include "HardwareSerial.h"

/* This sample code demonstrates the normal use of a TinyGPS object.
   It requires the use of HardwareSerial, and assumes that you have a
   9600-baud serial GPS device hooked up on pins 16(rx) and 17(tx).
*/

TinyGPS gps;
HardwareSerial gpsSerial(2); // Utilisation du port matériel UART2 de l'ESP32

void setup()
{
  Serial.begin(115200);
  gpsSerial.begin(9600, SERIAL_8N1, 16, 17); // Initialisation du port série pour le GPS

  Serial.print("Simple TinyGPS library v. "); Serial.println(TinyGPS::library_version());
  Serial.println("by Mikal Hart");
  Serial.println();
}

void loop()
{
  bool newData = false;
  unsigned long chars;
  unsigned short sentences, failed;

  // For one second we parse GPS data and report some key values
  for (unsigned long start = millis(); millis() - start < 1000;)
  {
    while (gpsSerial.available())
    {
      char c = gpsSerial.read();
      // Serial.write(c); // uncomment this line if you want to see the GPS data flowing
      if (gps.encode(c)) // Did a new valid sentence come in?
        newData = true;
    }
  }

  if (newData)
  {
    float flat, flon;
    unsigned long age;
    gps.f_get_position(&flat, &flon, &age);
    Serial.print("LAT=");
    Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
    Serial.print(" LON=");
    Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
    Serial.print(" SAT=");
    Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
    Serial.print(" PREC=");
    Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
  }
  
  gps.stats(&chars, &sentences, &failed);
  Serial.print(" CHARS=");
  Serial.print(chars);
  Serial.print(" SENTENCES=");
  Serial.print(sentences);
  Serial.print(" CSUM ERR=");
  Serial.println(failed);
  if (chars == 0)
    Serial.println("** No characters received from GPS: check wiring **");
}

									

In order to put my code, I connected the pins in the following way.

Arduino pin GPS Module pin
GND GND
5V 5V
16 RX
17 TX

I was then able to put the code on my ESP32 and read the data, and finally after two days of trying to get the GPS to work, I succeeded and got the following values with this setup:

week11 week11

In order to check the consistency of the data received I went to check it on google maps by entering them in the search bar as follows Lattitude , Longitude so in my case 49.466636 , 2.072712.When I launch the search, the GPS positions me well in front of Agrilab, where I carried out my tests.

week11

Following this success I then wanted to try to read the data with the first module I used and I still did not succeed using the same code. All I got were the following messages:

week11

Reste à faire

Durant les semaines, voici le planning prévisionnel des différentes taches que je dois réaliser

Week 13 to 15 Objective
Week13. Networking and communications Trouver un moyen de communication entre mon robot et une télécommande externe afin de pouvoir le contrôler à distance en "mode manuel"
Week14. Interface and application programming Dévelloper une application me permettant d'intéragir avec mon robot afin de lui donner des instructions
Week15. Wildcard week S'intéresser à la reconnaissance par image via open CV

Les deux dernières semaines étant plus "souples, je vais m'intéresser d'avantage au fonctionnement de mon