Outils pour utilisateurs

Outils du site


issue173:micro-ci_micro-la

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue173:micro-ci_micro-la [2021/09/30 08:26] d52frissue173:micro-ci_micro-la [2021/10/03 17:19] (Version actuelle) andre_domenech
Ligne 11: Ligne 11:
 I was able to gain a tremendous amount of information on using the SSD1302 from the web. One of the most useful websites was the Random Nerds Tutorials site. Their page for this section is https://randomnerdtutorials.com/micropython-ssd1306-oled-scroll-shapes-esp32-esp8266/ . This page also discusses how to do display scrolling, which we’ll discuss shortly.** I was able to gain a tremendous amount of information on using the SSD1302 from the web. One of the most useful websites was the Random Nerds Tutorials site. Their page for this section is https://randomnerdtutorials.com/micropython-ssd1306-oled-scroll-shapes-esp32-esp8266/ . This page also discusses how to do display scrolling, which we’ll discuss shortly.**
  
-Ce mois-ci, nous allons continuer à jouer avec l'écran OLED SSD1302. Nous avons vu comment afficher simplement du texte en utilisant la police par défaut et comment utiliser d'autres polices grâce au package de la bibliothèque micropython-font-to-py.+Ce mois-ci, nous allons continuer à jouer avec l'écran OLED SSD1302. Nous avons vu comment afficher simplement du texte en utilisant la police par défaut et comment utiliser d'autres polices grâce au paquet de la bibliothèque micropython-font-to-py.
  
 Passons directement à de nouvelles choses que nous pouvons faire. Passons directement à de nouvelles choses que nous pouvons faire.
Ligne 19: Ligne 19:
 REMARQUE : Le code présenté ici a été développé avec l'ESP32/ESP8266. Pour l'essentiel, le même code fonctionne sur le RPi Pico avec quelques modifications dans les sections import et I2C. REMARQUE : Le code présenté ici a été développé avec l'ESP32/ESP8266. Pour l'essentiel, le même code fonctionne sur le RPi Pico avec quelques modifications dans les sections import et I2C.
  
-Afin de réaliser des graphiques simples comme des lignes, des cercles, etc., vous devez télécharger un pilote graphique pour le SSD1302. Vous pouvez l'obtenir sur https://github.com/adafruit/micropython-adafruit-gfx/blob/master/gfx.py. Veillez à le copier sur votre microcontrôleur.+Afin de réaliser des graphiques simples comme des lignes, des cercles, etc., vous devez télécharger un pilote graphique pour le SSD1302. Vous pouvez l'obtenir sur https://github.com/adafruit/micropython-adafruit-gfx/blob/master/gfx.py. Assurez-vous de le copier sur votre microcontrôleur.
  
-J'ai pu obtenir une grande quantité d'informations sur l'utilisation du SSD1302 sur le web. L'un des sites les plus utiles était le site Random Nerds Tutorials. Leur page pour cette section est https://randomnerdtutorials.com/micropython-ssd1306-oled-scroll-shapes-esp32-esp8266/ . Cette page explique également comment faire défiler l'affichage, ce dont nous parlerons bientôt.+J'ai pu obtenir une grande quantité d'informations sur l'utilisation du SSD1302 sur le Web. L'un des sites les plus utiles était le site Random Nerds Tutorials. Leur page pour cette section est https://randomnerdtutorials.com/micropython-ssd1306-oled-scroll-shapes-esp32-esp8266/. Cette page explique également comment faire défiler l'affichage, ce dont nous parlerons bientôt.
  
  
Ligne 40: Ligne 40:
 oled.show()** oled.show()**
  
-Nous allons commencer (à droite) par le code normal d'importation et de configuration I2C... Ceci est pour l'ESP32/ESP8266.+Nous allons commencer (à droite) par le code normal d'importation et de configuration de I2C... Ceci est pour l'ESP32/ESP8266.
  
 Maintenant que les préliminaires nécessaires sont terminés, nous pouvons nous concentrer sur la façon de dessiner nos graphiques. Maintenant que les préliminaires nécessaires sont terminés, nous pouvons nous concentrer sur la façon de dessiner nos graphiques.
Ligne 46: Ligne 46:
 Ligne simple Ligne simple
  
-Nous allons commencer par dessiner une ligne de la position 0,0 à la position 128, ligne inférieure de l'écran. Si vous utilisez un OLED 128x64, ce sera (bien sûr) 64, mais si vous utilisez un 128x32, alors vous devrez utiliser 32. Les paramètres d'appel de la fonction ligne sont les suivants :+Nous allons commencer par dessiner une ligne de la position 0,0 à la position 128, sur la ligne inférieure de l'écran. Si vous utilisez un OLED 128x64, ce sera (bien sûr) 64, mais si vous utilisez un 128x32, alors vous devrez utiliser 32. Les paramètres d'appel de la fonction line sont les suivants :
  
 line(x0, y0, x1, y1, color) line(x0, y0, x1, y1, color)
  
-Nous le coderions donc comme suit...+Nous le coderons donc comme suit :
  
 graphics.line(0, 0, 127, oled_height, 1) graphics.line(0, 0, 127, oled_height, 1)
Ligne 91: Ligne 91:
 rect(x0, y0, largeur, hauteur, couleur) rect(x0, y0, largeur, hauteur, couleur)
  
-Nous allons dessiner un rectangle de 0,0 à 50,20. De cette façon, il fonctionnera sur l'un ou l'autre des dispositifs d'affichage. Une fois que nous avons affiché le rectangle, alors, comme ci-dessus, nous allons dormir pendant 2 secondes et effacer l'affichage. Donc notre code serait...+Nous allons dessiner un rectangle de 0,0 à 50,20. De cette façon, il fonctionnera sur l'un ou l'autre des afficheurs. Une fois que nous avons affiché le rectangle, comme ci-dessus, nous allons dormir pendant 2 secondes et effacer l'affichage. Ainsi notre code sera :
  
 graphics.rect(0, 0, 50, 20, 1) graphics.rect(0, 0, 50, 20, 1)
Ligne 161: Ligne 161:
 Les cercles sont tout aussi simples que les rectangles. Les fonctions sont circle et fill_circle. Elles utilisent toutes deux la même liste de paramètres. Les cercles sont tout aussi simples que les rectangles. Les fonctions sont circle et fill_circle. Elles utilisent toutes deux la même liste de paramètres.
  
-circle(x0, y0, radiuscolor)+circle(x0, y0, rayoncouleur)
  
 fill_circle(x0, y0, rayon, couleur) fill_circle(x0, y0, rayon, couleur)
Ligne 265: Ligne 265:
 C'est assez facile, non ? C'est assez facile, non ?
  
-Le fichier sur le référentiel pour cette section s'appelle rnerd_ssd1306_esp32_graphics1.py pour l'ESP32/ESP8266 et pico_oled_graphics2.py pour le Pico.+Sur le dépôt, le fichier pour cette section s'appelle rnerd_ssd1306_esp32_graphics1.py pour l'ESP32/ESP8266 et pico_oled_graphics2.py pour le Pico.
  
 Défilement de l'affichage Défilement de l'affichage
  
-Parfois, vous voulez faire quelque chose de plus agréable qu'un affichage statique où le texte s'écrase tout seulFaire défiler le texte depuis le côté ou le haut, faire une pause de quelques secondes, puis le faire défiler hors de l'écran, donne à votre projet un certain facteur "WOW". De nos jours, nous avons besoin d'un facteur "WOW" pour que nos projets se démarquent.+Parfois, vous voulez faire quelque chose de plus agréable qu'un affichage statique où le texte est écrasé au fur et à mesureLe défilement du texte depuis le côté ou le haut, suivi d'une pause de quelques secondes, puis une évacuation hors de l'écran, donne à votre projet un certain facteur "WOW". De nos jours, nous avons besoin d'un facteur "WOW" pour que nos projets se démarquent.
  
-À l'origine, j'ai testé ce code sur l'ESP32, mais j'ai réussi à le faire fonctionner sur la RPi Pico. La seule chose dont vous devez être sûr est la configuration I2C. Entre les informations du mois dernier et celles du code ci-dessus, vous ne devriez avoir aucun problème pour faire fonctionner les choses. Au cas où vous l'auriez oublié, j'ai obtenu cette démo du site Web Random Nerds Tutorials. Vous pouvez trouver le lien dans le texte ci-dessus.+À l'origine, j'ai testé ce code sur l'ESP32, mais j'ai réussi à le faire fonctionner sur le RPi Pico. La seule chose dont vous devez être sûr est la configuration de I2C. Entre les informations du mois dernier et celles du code ci-dessus, vous ne devriez avoir aucun problème pour que ça fonctionne. Au cas où vous l'auriez oublié, j'ai obtenu cette démo du site Web Random Nerds Tutorials. Vous pouvez trouver le lien dans le texte ci-dessus.
  
  
Ligne 286: Ligne 286:
 Mise en route Mise en route
  
-Comme je le fais la plupart du temps, nous allons commencer (en haut à droite) par la section d'importation et, dans ce cas, la configuration I2C. Comme je l'ai dit, si vous avez réussi à faire fonctionner le code ci-dessus, vous pouvez faire fonctionner celui-ci.+Comme je le fais la plupart du temps, nous allons commencer (en haut à droite) par la section d'importation et, dans ce cas, la configuration de I2C. Comme je l'ai dit, si vous avez réussi à faire fonctionner le code ci-dessus, vous pouvez faire fonctionner celui-ci.
  
-Maintenant que nous avons mis en place le texte des "écrans", nous devons créer une liste de listes (au milieu à droite) que nous passerons dans les fonctions que nous allons créer. Chaque entrée de la liste est configurée comme X (colonne), Y (ligne) et message. Dans le code ci-dessus, nous avons créé trois messages comme "screen1", deux messages comme "screen2et un message comme "screen3". Il nous suffit donc de définir l'endroit où nous voulons que chacun des messages s'affiche. Chaque liste s'affiche comme un "écrancomplet.+Maintenant que nous avons mis en place le texte des « écrans », nous devons créer une liste de listes (au milieu à droite) que nous passerons dans les fonctions que nous allons créer. Chaque entrée de la liste est configurée comme X (colonne), Y (ligne) et message. Dans le code ci-dessus, nous avons créé trois messages comme « screen1 », deux messages comme « screen2 » et un message comme « screen3 ». Il nous suffit donc de définir l'endroit où nous voulons que chacun des messages s'affiche. Chaque liste s'affiche comme un « écran » complet.
  
-À ce stade (en bas à droite), nous pouvons créer notre première fonction de support. Celle-ci s'appelle scroll_in_screen et fera défiler l'écran horizontalement de gauche à droite. Une fois que tout a été transmis à l'écran, la fonction est terminée et vous pouvez appeler sleep pendant un certain temps afin que l'utilisateur puisse lire le message.+À ce stade (en bas à droite), nous pouvons créer notre première fonction de support. Celle-ci s'appelle scroll_in_screen et fera défiler l'écran horizontalement de gauche à droite. Une fois que tout a été transmis à l'écran, la fonction est terminée et vous pouvez appeler sleep pendant quelques secondes afin que l'utilisateur puisse lire le message.
  
 Maintenant que nous avons codé toutes nos fonctions de support (les dernières en haut à droite), nous pouvons commencer à les utiliser. Chaque partie de la démo est assez longue, donc nous allons simplement boucler trois fois. Dans le code original (page suivante, à gauche), il s'agissait d'une boucle perpétuelle. Maintenant que nous avons codé toutes nos fonctions de support (les dernières en haut à droite), nous pouvons commencer à les utiliser. Chaque partie de la démo est assez longue, donc nous allons simplement boucler trois fois. Dans le code original (page suivante, à gauche), il s'agissait d'une boucle perpétuelle.
  
  
-*Once the demo is finished, clear the display.+**Once the demo is finished, clear the display.
  
 # Clear the OLED # Clear the OLED
Ligne 311: Ligne 311:
 Une fois la démo terminée, effacez l'écran. Une fois la démo terminée, effacez l'écran.
  
-Effacer l'OLED+Clear the OLED
  
 oled.fill(0) oled.fill(0)
Ligne 319: Ligne 319:
 Maintenant que vous avez vu les fonctions qui fonctionnent de gauche à droite et de haut en bas, vous pouvez essayer de créer des fonctions qui défilent de droite à gauche et de bas en haut. Maintenant que vous avez vu les fonctions qui fonctionnent de gauche à droite et de haut en bas, vous pouvez essayer de créer des fonctions qui défilent de droite à gauche et de bas en haut.
  
-J'ai pris toute la place que je devais prendre, donc c'est tout pour ce mois-ci. Vous pouvez trouver le code des deux projets (aux formats Pico et ESP) dans mon dépôt github à l'adresse https://github.com/gregwa1953/FCM173_MicroThisMicroThat.+J'ai pris toute la place que je devais prendre et c'est tout pour ce mois-ci. Vous pouvez trouver le code des deux projets (aux formats Pico et ESP) dans mon dépôt github à l'adresse https://github.com/gregwa1953/FCM173_MicroThisMicroThat.
  
 Jusqu'à la prochaine fois, comme toujours ; restez en sécurité, en bonne santé, positif et créatif ! Jusqu'à la prochaine fois, comme toujours ; restez en sécurité, en bonne santé, positif et créatif !
Ligne 328: Ligne 328:
 p. 33 : p. 33 :
 **For the RPi Pico, I used GP8 and GP9 (physical pins 11 and 12) for the connection to the I2C bus. The code for the Pico will be…** **For the RPi Pico, I used GP8 and GP9 (physical pins 11 and 12) for the connection to the I2C bus. The code for the Pico will be…**
-Pour le RPi Pico, j'ai utilisé GP8 et GP9 (picots physiques 11 et 12) pour les connexions au bus I2C. le code pour le Pico sera+Pour le RPi Pico, j'ai utilisé GP8 et GP9 (picots physiques 11 et 12) pour les connexions au bus I2C. Le code pour le Pico sera :
  
 **From here the code for all three microcontrollers will be the same.** **From here the code for all three microcontrollers will be the same.**
Ligne 335: Ligne 335:
 p. 35 : p. 35 :
 **At this point, let’s set up a few simple lines of text that will embody our “screens” that will be scrolled.** **At this point, let’s set up a few simple lines of text that will embody our “screens” that will be scrolled.**
-Arrivé ici, paramétrons quelques simples lignes de texte qui envelopperont nos « écrans » qui défileront.+Arrivé ici, paramétrons quelques simples lignes de texte qui peupleront nos « écrans » qui défileront.
  
 **The next function will take the data that is already on the screen and scroll it off the display towards the right side. This function has a speed parameter.** **The next function will take the data that is already on the screen and scroll it off the display towards the right side. This function has a speed parameter.**
Ligne 342: Ligne 342:
 p. 36 : p. 36 :
 **Here is the scroll vertically from top to bottom, pausing when the screen is full.** **Here is the scroll vertically from top to bottom, pausing when the screen is full.**
-Voici le éroulement vertical du haut vers le bas, avec un arrêt quand l'écran est plein.+Voici le déroulement vertical du haut vers le bas, avec un arrêt quand l'écran est plein.
  
 **This is the function that will scroll the data off the bottom of the screen.** **This is the function that will scroll the data off the bottom of the screen.**
-Voici la fonction qui évacuera les données par le bas de l'écran+Voici la fonction qui évacuera les données par le bas de l'écran.
  
 **Finally, here is the continuous vertical scroll support function.** **Finally, here is the continuous vertical scroll support function.**
-Enfin, voici la fonction supportant le déroulement vertical continu.+Enfin, voici la fonction qui prend en charge le déroulement vertical continu.
  
  
issue173/micro-ci_micro-la.1632983208.txt.gz · Dernière modification : 2021/09/30 08:26 de d52fr