Aller au contenu


ximun

Inscrit(e) (le) 04 avril 2024
Déconnecté Dernière activité avril 30 2026 04:59
-----

Sujets que j'ai initiés

STM32F446

02 avril 2026 - 04:24

Introduction

Ce tutoriel est conçu pour vous guider dans la programmation du microcontrôleur STM32F446 (disponible sur la boutique). Il se base sur l’IDE Arduino. 

1. Composants Nécessaires

Pour réaliser ce robot, vous aurez besoin des composants suivants :


Composant:

-Microcontrôleur 

-Convertisseur usb

-Câble de programmation

2.Configuration logicielle

2.1. Télécharger le board manager

 

Lien du gestionnaire de cartes: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
Ouvrez l’IDE arduino cliquez sur l’onglet “Fichier” puis sur la rubrique “préférences…” cette interface devrait apparaître sous vos yeux:

 

Fichier joint  P1.png   133,48 Ko   1 téléchargement(s)

 

2.2 Installer le board manager
Ouvrez le board manager sélectionner tout recherché STM32 et installez STM32 MCU based boards par STMicroelectronics comme indiqué sur l’image ci-dessous:

 

Fichier joint  P2.png   62,85 Ko   1 téléchargement(s)

 

2.3 Télécharger & installer l'outil de programmation STM32

lien vers le téléchargement. Dézipper et installer le logiciel sur votre ordinateur

3. Câblage entre la sonde STLink V2 et la carte :
  1. GND avec GND

  2. 3V3 avec 3V3

  3. DIO avec JTMS/SWD

  4. CLK avec JTCK/SWC

4. Programmation 

Cliquez sur l’onglet “Outils” Rubrique “Carte:” puis “STM32 MCU based boards” et enfin sélectionnez “Generic STM32F4 series”

 

Fichier joint  P3.png   376,7 Ko   0 téléchargement(s)

 

4.1 Configuration de l'Upload

Cliquez sur l’onglet “Outils” Rubrique “Upload method:” Sélectionnez “STM32CubeProgrammer (SWD)”

 

Fichier joint  P4.png   267,49 Ko   1 téléchargement(s)

 

4.2 Sélection de la carte

Cliquez sur l’onglet “Outils” Rubrique “Board part number:” Sélectionnez “Generic F446RETx”

 

Fichier joint  P5.png   317,93 Ko   0 téléchargement(s)

 

4.3 Code Blink


Copier coller ce code et téléversez-le avec le bouton classique:

const uint8_t ledPin = PB2;


void setup() {
  pinMode(ledPin, OUTPUT);
}


void loop() {
  digitalWrite(ledPin, HIGH);  
  delay(1000);                  
  digitalWrite(ledPin, LOW);    
  delay(1000);                  
}


Si tout s’est bien passé vous devriez voir votre led clignoter!

 

 


D-Robotics RDK-X3

02 mars 2025 - 06:15

Bonjour à tous,
Je vous propose un tutoriel de base pour vous aider à configurer et utiliser la carte D-Robotics RDK-X3.

Fichier joint  Capture d'écran 2025-03-03 033016.png   461,08 Ko   14 téléchargement(s)

 

1. Présentation du hardware

 

En quelques lignes, il s'agit d'un ordinateur mono carte comparable à un rasperry pi 4, en terme de dimension et de broches, avec des capacité de calculs un peu différentes qui font que ce matériel est plus adapté qu'un raspberry pi pour du traitement vidéo.
Petit tableau comparatif sur un exemple précis : 
Fichier joint  Capture d'écran 2025-03-03 033948.png   394,38 Ko   18 téléchargement(s)

Pour en savoir plus de manière plus concrète, vous pouvez consulter la présentation détaillée du hardware de la carte RDK-X3 via ce lien : Présentation hardware RDK-X3 

 

 

2. Installation

Comme pour le raspberry pi, il vous faut une carte SD pour y installer l'OS.
D Robotics fournit une image pré installée .
Veuillez installer la version bureautique d'Ubuntu pour la RDK-X3.
Un guide complet pour flasher l'image Ubuntu est disponible ici : Tutoriel flashage Ubuntu

À la fin de cette procédure, vous devriez obtenir un bureau similaire à celui ci-dessous.
Fichier joint  Bureau RDK.png   523,52 Ko   29 téléchargement(s)

Important : la configuration clavier par défaut est en QWERTY.

Pour passer en AZERTY :

  • Allez dans les paramètres système
  • Sélectionnez Région et Langue
  • Ajoutez le clavier Français (AZERTY)

     

3. Il n'y a plus qu'à tester !

De nombreux programmes sont pré installés par défaut et vous pouvez facilement rapidement les tester.
Pour exécuter un des programme Python pré installé rien de plus simple :

  • Ouvrez l'invite de commande linux,
  • Allez dans le répertoire pydev_demo en tapant la commande suivante :cd /app/pydev_demo
  • taper la commande ls pour voir l'ensemble des fichiers disponible afin de choisir le programme à lancer
  • Lancez le script Python avec la commande suivante : python "the_name_of_the_file".py

Des applications simples d'intelligence artificielle sont déjà à votre disposition par défaut.

Dans un prochain tutoriel, nous explorerons plus en profondeur les capacités de la carte RDK-X3.

J'ai particulièrement apprécié utiliser cette carte, car elle m'a permis de réaliser à quel point certaines applications d'IA peuvent être simples et accessibles.
J'espère que ce tutoriel vous a plu et je vous donne rendez-vous très bientôt sur Robot-Maker pour en découvrir davantage !


ESP8266 et VL53L7CX

25 novembre 2024 - 12:38

Bonjours à tous,

J'ai fait fonctionner le capteur VL53L7CX sur un ESP8266 et je vous partage la procédure. Sachez que ces deux composant sont accessible via les liens qui suivent: VL53L7CX & ESP8266

 

Pour le câblage rien de plus simple: 

 

Il faut connecter :
Coté capteur => Côté ESP 
 Vin  =>  5V,

 GND => GND,

 SDA => D2

 SCL => D1

 

Ensuite j'ai installé cette librairie : librairie

 

Effectivement elle n'est pas pour le VL53L7CX mais elle est compatible.

 

Ensuite il faut que vous modifiez:

Tools →Non-32 Bit Access → Very Slow

 

Une fois que cela est fait essayé ce code:

/*
  Read an 8x8 array of distances from the VL53L5CX
  By: Nathan Seidle
  SparkFun Electronics
  Date: October 26, 2021
  License: MIT. See license file for more information but you can
  basically do whatever you want with this code.

  This example shows how to read all 64 distance readings at once.

  Feel like supporting our work? Buy a board from SparkFun!
  https://www.sparkfun.com/products/18642

*/

#include <Wire.h>

#include <SparkFun_VL53L5CX_Library.h> //http://librarymanager/All#SparkFun_VL53L5CX

SparkFun_VL53L5CX myImager;
VL53L5CX_ResultsData measurementData; // Result data class structure, 1356 byes of RAM

int imageResolution = 0; //Used to pretty print output
int imageWidth = 0; //Used to pretty print output

void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("SparkFun VL53L5CX Imager Example");

  Wire.begin(); //This resets to 100kHz I2C
  Wire.setClock(400000); //Sensor has max I2C freq of 400kHz 
  
  Serial.println("Initializing sensor board. This can take up to 10s. Please wait.");
  ESP.wdtDisable();
  if (myImager.begin() == false)
  {
    Serial.println(F("Sensor not found - check your wiring. Freezing"));
    while (1) ;
  }
  ESP.wdtEnable(3000);
  myImager.setResolution(8*8); //Enable all 64 pads
  
  imageResolution = myImager.getResolution(); //Query sensor for current resolution - either 4x4 or 8x8
  imageWidth = sqrt(imageResolution); //Calculate printing width

  myImager.startRanging();
}

void loop()
{
  //Poll sensor for new data
  if (myImager.isDataReady() == true)
  {
    if (myImager.getRangingData(&measurementData)) //Read distance data into array
    {
      //The ST library returns the data transposed from zone mapping shown in datasheet
      //Pretty-print data with increasing y, decreasing x to reflect reality
      for (int y = 0 ; y <= imageWidth * (imageWidth - 1) ; y += imageWidth)
      {
        for (int x = imageWidth - 1 ; x >= 0 ; x--)
        {
          Serial.print("\t");
          Serial.print(measurementData.distance_mm[x + y]);
        }
        Serial.println();
      }
      Serial.println();
    }
  }

  delay(5); //Small delay between polling
}

Si tout c'est bien passé vous devriez avoir réussit à obtenir vos 64 points de print dans votre moniteur série.


Bonjour à tous!

05 septembre 2024 - 02:50

Bonjour à tous,

 

Je me présente, je m'appelle Ximun (prénom basque), j'ai 22 ans et je suis actuellement étudiant en ingénierie à l'ESTIA. Je suis apprenti chez Robot-Maker, et à ce titre, vous me verrez de plus en plus poster des messages sur le forum.

 

À bientôt !

 


Présentation du microcontrôleur ESP8266 Wemos D1 Mini et du shield PIR

05 septembre 2024 - 02:36

Bonjour à tous,

 

L’objectif de ce sujet est de vous présenter le microcontrôleur ESP8266 Wemos D1 Mini, déjà disponible sur notre boutique, ainsi que différents shields qui seront bientôt proposés. Le premier que je souhaite vous présenter est le shield PIR 1.0.0, équipé d’un capteur de mouvement.

Pour utiliser ce capteur, deux options s’offrent à vous :

  • Vous pouvez vous connecter au connecteur blanc, comme montré sur l'image ci-dessous :                                                     Fichier joint  PIR.png   551,9 Ko   26 téléchargement(s)                                                                                                    
  • Vous pouvez également souder un point d’étain pour relier une sortie, comme je l’ai fait sur la broche D5 :                   Fichier joint  pir1.png   548,7 Ko   23 téléchargement(s)
     
const int PIR = D5;


int PIRState = 0;

void setup() {
  pinMode(PIR, INPUT);
  pinMode(BUILTIN_LED, OUTPUT);
  Serial.begin(115200);
  // set initial state, LED off
  digitalWrite(BUILTIN_LED, HIGH);
}
//si un mouvement est detecté par le capteur il reste à high durant 3 sec et sa portée est supérieur à 5m
void loop() {

  PIRState = digitalRead(PIR);
  Serial.println(digitalRead(PIR));

  if (PIRState == HIGH) {
    digitalWrite(BUILTIN_LED, LOW);  // LED on
  } else {
    digitalWrite(BUILTIN_LED, HIGH); // LED off
  }
}

Le capteur vous permettra de détecter un mouvement à plus de 5 mètres. Si un mouvement est détecté, la broche PIR passera à l'état haut pendant 3 secondes.

Une vidéo de démonstration sera bientôt disponible...