| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| microc:micropython:tuto1gpio [2025/02/17 16:04] – [3.4 PRG 4 - Capteur atmosphérique] phil | microc:micropython:tuto1gpio [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| * PRG5. **affbme280.py** - Afficheur graphique et capteur numérique : afficher la température, l'humidité et la pression ambiantes. | * PRG5. **affbme280.py** - Afficheur graphique et capteur numérique : afficher la température, l'humidité et la pression ambiantes. |
| * PRG6. **afftsl2591** - Afficheur graphique et capteur numérique : afficher la luminosité ambiante. | * PRG6. **afftsl2591** - Afficheur graphique et capteur numérique : afficher la luminosité ambiante. |
| | * PRG7. **webserver** - Transmettre des grandeurs physiques à un serveur Web |
| |
| \\ | \\ |
| </tabs> | </tabs> |
| |
| | {{ :microc:micropython:buzzer.jpg?nolink&200|Buzzer passif}} |
| === 3.2 PRG2 - Sortie numérique (PWM) === | === 3.2 PRG2 - Sortie numérique (PWM) === |
| <callout type="primary" title="Objectif" icon="true">Jouer des notes de musique </callout> | <callout type="primary" title="Objectif" icon="true">Jouer des notes de musique. </callout> |
| | |
| | == 3.2.1 Matériels == |
| | * **Transducteur** : buzzer passif <html><a href="https://wiki.seeedstudio.com/Grove-Passive-Buzzer/" target="_blank">Grove</a></html> |
| | |
| | == 3.2.2 Généralités == |
| | <<La modulation de largeur d'impulsions (MLI ; en anglais : Pulse Width Modulation, soit PWM), est une technique couramment utilisée pour synthétiser des signaux pseudo analogiques à l'aide de circuits numériques (tout ou rien, 1 ou 0), ou plus généralement à états discrets>>. <html><a href="https://fr.wikipedia.org/wiki/Modulation_de_largeur_d%27impulsion#:~:text=La%20modulation%20de%20largeur%20d,plus%20g%C3%A9n%C3%A9ralement%20%C3%A0%20%C3%A9tats%20discrets." target="_blank">Wikipédia</a></html> |
| | |
| | == 3.2.3 Activités de programmation == |
| | <tabs> |
| | * [[#tab-micropy_32|MicroPython]] |
| | * [[#tab-circuitpy_32|CircuitPython]] |
| | <pane id="tab-micropy_32"> |
| | </pane> |
| | <pane id="tab-circuitpy_32"> |
| | </pane> |
| | </tabs> |
| | |
| | \\ |
| |
| {{ :materiels:capteurs:potentiometre.png?nolink&80|Potentiomètre}} | {{ :materiels:capteurs:potentiometre.png?nolink&80|Potentiomètre}} |
| </pane> | </pane> |
| </tabs> | </tabs> |
| === 3.5 Programme 5 - Capteur de luminosité === | === 3.6 PRG6 6 - Capteur de luminosité === |
| {{ :python:micropython:ar-capteur-de-lumiere-tsl2591-ada1980-22971.jpg?nolink&200|}} | {{ :python:micropython:ar-capteur-de-lumiere-tsl2591-ada1980-22971.jpg?nolink&200|}} |
| <callout type="primary" title="Objectif" icon="true">Afficher la luminosité ambiante sur un afficheur graphique.</callout> | <callout type="primary" title="Objectif" icon="true">Afficher la luminosité ambiante sur un afficheur graphique.</callout> |
| |
| == 3.5.1 Matériels == | == 3.6.1 Matériels == |
| * **Afficheur graphique** : Wiki - [[materiels:afficheurs:ard0_96|0,96" 128x64 OLED 2864 Display module - SSD1306 (I2C)]] | * **Afficheur graphique** : Wiki - [[materiels:afficheurs:ard0_96|0,96" 128x64 OLED 2864 Display module - SSD1306 (I2C)]] |
| * **Capteur de luminosité** : Wiki - [[materiels:capteurs:eclairement:luminosite|Capteurs - Eclairement]] | * **Capteur de luminosité** : Wiki - [[materiels:capteurs:eclairement:luminosite|Capteurs - Eclairement]] |
| |
| == 3.5.2 Généralités == | == 3.6.2 Généralités == |
| Le capteur utilisé est basé sur un circuit TSL2591 permettant de mesurer l'éclairement lumineux. Ce capteur communique avec un microcontrôleur via le bus I2C. | Le capteur utilisé est basé sur un circuit TSL2591 permettant de mesurer l'éclairement lumineux. Ce capteur communique avec un microcontrôleur via le bus I2C. |
| |
| * Plage de mesure: 188 µLux à 88000 Lux | * Plage de mesure: 188 µLux à 88000 Lux |
| |
| == 3.5.3 Activités de programmation == | == 3.6.3 Activités de programmation == |
| <tabs> | <tabs> |
| * [[#tab-micropy_7|MicroPython]] | * [[#tab-micropy_7|MicroPython]] |
| * Exécutez le programme en cliquant sur {{:python:micropython:startcoderp2.jpg?nolink|}}. | * Exécutez le programme en cliquant sur {{:python:micropython:startcoderp2.jpg?nolink|}}. |
| |
| <callout type="question" title="MODIFICATION du PROGRAMME 5" color="red" icon="true">Modifiez le programme précédent pour qu'il affiche les 3 grandeurs physiques sur l'afficheur graphique. \\ __Exemple d'affichage attendu__ : \\ **TSL2561** \\ - **Ecl. = 207.4lx** \\ - **Ir = 0%** \\ - **Lum. vis. = 100%**</callout> | <callout type="question" title="MODIFICATION du PROGRAMME 6" color="red" icon="true">Modifiez le programme précédent pour qu'il affiche les 3 grandeurs physiques sur l'afficheur graphique. \\ __Exemple d'affichage attendu__ : \\ **TSL2561** \\ - **Ecl. = 207.4lx** \\ - **Ir = 0%** \\ - **Lum. vis. = 100%**</callout> |
| </pane> | </pane> |
| |
| <code python affbme280.py> | <code python affbme280.py> |
| </code> | </code> |
| |
| |
| * **Etape 2** - Enregistrer le programme | * **Etape 2** - Enregistrer le programme |
| </pane> | </pane> |
| </tabs> | </tabs> |
| === 3.6 Serveur WEB === | === 3.7 Serveur WEB === |
| * <color #ed1c24>Ressource provisoire</color> : <html><a href="https://randomnerdtutorials.com/esp32-esp8266-micropython-web-server/" target="_blank">ESP32/ESP8266 MicroPython Web Server</a></html> | * <color #ed1c24>Ressource provisoire</color> : <html><a href="https://randomnerdtutorials.com/esp32-esp8266-micropython-web-server/" target="_blank">ESP32/ESP8266 MicroPython Web Server</a></html> |
| |
| <color #ed1c24>A faire</color> | <color #ed1c24>A faire</color> |
| | |
| | \\ |
| |
| === Pour aller plus loin === | === Pour aller plus loin === |
| - **Tutoriels** sur <html><a href="https://randomnerdtutorials.com/projects-esp32-esp8266-micropython/" target="_blank">RANDOM NERD TUTORIALS</a></html>((Random Nerd Tutorials helps makers, hobbyists and engineers build electronics projects. We make projects with: ESP32, ESP8266, Arduino, Raspberry Pi, ...)) | - **Tutoriels** sur <html><a href="https://randomnerdtutorials.com/projects-esp32-esp8266-micropython/" target="_blank">RANDOM NERD TUTORIALS</a></html>((Random Nerd Tutorials helps makers, hobbyists and engineers build electronics projects. We make projects with: ESP32, ESP8266, Arduino, Raspberry Pi, ...)) |
| |