Changes between Version 21 and Version 22 of IOC_T05


Ignore:
Timestamp:
Mar 8, 2025, 9:19:02 AM (3 months ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IOC_T05

    v21 v22  
    44}}}
    55
    6 - Le [htdocs:files répertoire] contient package eps32.tgz et le json du package.
    7 - Vous pouvez tester le composant ESP32 en exécutant quelques exemples de tutoriaux (décrivez succinctement ce que vous avez fait dans le CR). Les exemples sont accessibles
    86
    97= Objectif de la séance
    108
    119
    12 Le but de la séance est d'écrire une application multitâches Arduino utilisant plusieurs périphériques.
     10Le but de la séance est d'écrire une application **multitâches** Arduino utilisant plusieurs périphériques.
    1311Vous allez écrire une application affichant par exemple la luminosité chaque seconde sur l'écran OLED, tout en faisant clignoter la LED avec un ON/OFF par le bouton poussoir et contrôler le buzzer en faisant dépendre sa fréquence de la lumière (s'il y a un buzzer sur votre maquette) ou d'une action du bouton ou encore d'une valeur entrée au clavier du terminal. En conséquence, vous allez :
    1412- Utiliser la LED présente sur le module.
    1513- Utiliser le port série qui relie le module et le PC.
    1614- Utiliser l'écran OLED
    17 - Utiliser la photorésistance (sur la broche 36)
    18 - Utiliser le buzzer (sur la broche 17)
     15- Utiliser la photorésistance (sur la broche **36**)
     16- Utiliser le buzzer (sur la broche **17**)
    1917
    2018Vous pouvez écrire plusieurs sketchs, chacun gérant un seul périphérique, mais l'application finale contiendra toutes les tâches pour tous les périphériques (ceux que vous aurez traités).
    2119
    2220Vous rendrez une archive avec :
    23 1. un compte rendu au format markdown (ou en pdf) expliquant en détail votre sketch Arduino, l'idée est de vous approprier cette méthode de programmation, alors les explications que vous faites sont utiles pour vous. Vous devez aussi insérez un graphe représentant les tâches et leur communication (avec graphviz).
     211. un compte rendu au format en pdf (à partir de Markdown ou d'un traitement de texte) expliquant en détail votre sketch Arduino, l'idée est de vous approprier cette méthode de programmation, alors les explications que vous faites sont utiles pour vous. Vous devez aussi insérer un graphe représentant les tâches et leur communication (avec graphviz).
    24221. le sketch Arduino avec des commentaires, celui contenant toutes les tâches.
    2523
    2624
     25
    2726= Installation ESP32 / Arduino
     27
    2828
    2929
     
    4545
    4646
    47 Que vous soyez sur votre ordinateur personnel ou sur une des machines du réseau, les modules ESP32 ne sont pas disponibles par défaut dans l'IDE Arduino, il faut les ajouter, voici la procédure à suivre pour ajouter les gestionnaires de cartes à base d'ESP32 :
     47Que vous soyez sur votre ordinateur personnel ou sur une des machines du réseau, les modules ESP32 ne sont pas disponibles par défaut dans l'IDE Arduino, il faut les ajouter. Vous allez vous rendre compte qu'il y a fréquemment des problèmes de version. En effet, il faut que les bibliothèques Arduino installées soient compatibles avec le matériel. Vous allez produire du code sur la machine hote (qui tourne l'IDE) et exécuter ce code sur une boad ESP32 (ici TTGO-Lora-OLED V1). Parfois, ça ne marche pas bien, voire pas du tout, parce qu'on ne prends pas les bonnes versions, mais on finit par trouver la bonne combinaison.\\
     48Voici la procédure à suivre pour ajouter les gestionnaires de cartes à base d'ESP32 :
    4849
    4950* Lancer `Arduino`
     
    5455* Cliquer sur `ok`
    5556* Cliquer sur `Outils > Type de carte... > Gestionnaire de carte`
    56 * Écrire dans la fenêtre de recherche : `esp32``
     57* Écrire dans la fenêtre de recherche : `esp32`
     58* Choississez la bibliothèque de Espressif (la société créatrice de l'ESP32)
     59* Sélectionner la version 2.0.17 (ou inférieure).
    5760* Cliquer sur `Installer`
    5861* Attendre l'installation (ça peut être long et cela prend de la place dans le répertoire $HOME/.arduino, vous risquez de dépasser votre quota et donc vous devrez peut-être faire du ménage)
    5962* Cliquer sur `Fermer`
     63
     64Sur les machines du Labo, il y a un problème de quota. Voici les packages téléchargés, on peut utiliser `/dsk/l1/misc` ...
     65- Le [htdocs:files répertoire] contient package eps32.tgz et le json du package.
     66- Vous pouvez tester le composant ESP32 en exécutant quelques exemples de tutoriaux (décrivez succinctement ce que vous avez fait dans le CR). Les exemples sont accessibles
    6067
    6168**Les documents utiles se trouvent**
     
    7986- Vous pouvez changer la fréquence en modifiant les délais
    8087- Cliquer sur l'icône en forme de `✓` pour Compiler
    81 - Cliquer sur l'icône en forme de `➞` pour uploader
     88- Cliquer sur l'icône en forme de `➞` pour Uploader
    8289- En bas de la fenêtre un message vous indique la réussite de la compilation et de l'upload.
    8390- La led doit clignoter sur le module
     
    151158
    152159
    153 Dans l'application suivante nous avons deux tâches périodiques `Led` et `Mess`.
     160Dans l'application suivante, nous avons deux tâches périodiques `Led` et `Mess`.
    154161La première fait clignoter une led dont le numéro est passé en paramètre à 5Hz.
    155162La seconde affiche bonjour à une fois par seconde.
     
    261268
    262269Nous allons utiliser un écran OLED connecté en I2C, 128x64 **ssd1306**. Vous devez ajouter les fonctions d'accès à cet écran, c'est en fait son **driver**, mais contrairement à UNIX, l'API des drivers n'est pas standard, chaque périphérique propose ces fonctions et ces codes sont proposées, soit par les constructeurs, soit par des membres de la communauté.
     270
     271- Cliquer sur `Fichier > Préférences`
     272- Cliquer sur l'onglet `Réseau ou Netword` et choississez `No proxy`
    263273- Allez dans `Outils/Gérer les bibliothèques` (`Tools/Manage Libraries`)
    264274- Tapez dans la barre de recherche à droite de la fenêtre : `ssd1306 Adafruit` (la 1re de la liste) et installez la version `1.3.0` (celle-là fonctionne pour moi).
     
    270280  Il s'agit d'un programme qui teste les fonctionnalité de l'écran et de la bibliothèque graphique.
    271281
    272 > IMPORTANT (merci Shaithan)\\
     282> IMPORTANT (merci Shaithan et Maëla)\\
    273283> Le composant OLED utilise I2C + un signal de reset\\
    274284> Les broches par défaut utilisé par de code de test correspond au module Arduino "officiel" et pas à l'ESP32\\
     
    276286> * au début du fichier modifier (4 → 16) : `#define OLED_RESET     16   // Reset pin...``
    277287> * Dans la fonction setup() ou setup_oled() (au début avant le begin de oled) : `Wire.begin(4, 15); // pins SDA , SCL`
    278 
     288> En outre l'adresse de l'OLED sur le bus I2C est 0x3C (vers la ligne 60) du programme de test.
    279289 
    280290