Aller au contenu


TheDarkRainibow

Inscrit(e) (le) 11 mai 2022
Déconnecté Dernière activité nov. 09 2022 10:28
-----

Messages que j'ai postés

Dans le sujet : Présentation du Panneau LED adressable 16x16 RGB WS2812-B

01 novembre 2022 - 02:30

voici la totalité du code:

 


Dans le sujet : Présentation du Panneau LED adressable 8x8 RGB WS2812-B

30 octobre 2022 - 06:22

voici la totalité du code:

 

 


Dans le sujet : Présentation du Panneau LED adressable 8x32 RGB WS2812-B

29 octobre 2022 - 08:39

Si on essaye avec  le texte «  Hello les makers » on obtient ce résultat :



On observe encore un petit problème «  d’offset de texte ».
Pour le régler il faut changer l’offset à cette ligne   if(--x < -36) 
Photo
Il faut augmenter ou diminuer le nombre négatif  (par défaut -36) en fonction du nombre de caractères dans le texte que vous souhaitez afficher.  Dans le cas de « Hello les makers » il faut mettre -96 pour que cela s’affiche correctement.

Après quelques tests j’ai déduit que la formule qui lie l’offset au nombre de caractères à afficher pour avoir un affichage correct est : 6 x Nombre de Caractères (en prenant en compte les espaces !).

J’ai donc modifié le code  pour que cet offset soit calculé automatiquement.
J’en ai également profité pour ajouter des #define pour le nombre de ligne et de colonne, et j’ai aussi ajouté une couleur  supplémentaire d’affichage (du blanc).

 


 


Dans le sujet : Présentation du Ruban LED RGB WS2812B 67,5 cm

23 juin 2022 - 05:23

J’ai oublié de parler d’une chose très importante que l’on va rajouter ici, c’est de savoir combien d’Ampère fait notre ruban LED. Pour cela j’ai fait des recherches et me suis aidé de ces sites : https://www.mouser.c...06150240761.pdf

https://voltiq.ru/da...atasheet_EN.pdf

Il est dit que chaque LED RGB tire environ 16 mA à 5 V avec le rouge, le vert et le bleu à pleine luminosité.

En sachant que le ruban LED que j’utilise fait 67,5 cm , son nombre de LED pour 1 mètre est de 144 LED.

Donc pour 67,5 cm on obtient 97 LED (en faisant un produit en croix ).

En théorie si on fait 16mA * 97 LED obtient 1552mA soit 1,552 A.

Mais en pratique j’obtiens cela :

 

Fichier joint  21.jpg   125,75 Ko   27 téléchargement(s)

 

Fichier joint  22.jpg   84,99 Ko   29 téléchargement(s)

 

J’obtiens 1,20 A, sois 1200mA et si on divise l’ampérage obtenu par nos 97 LED on obtient 12,37 mA pour chaque LED de notre ruban.

Du coup j’ai essayé avec plus de ruban LED, j’ai remarqué qu’avec un deuxième ruban LED les fils augmentaient en température :

 

Fichier joint  23.jpg   122,53 Ko   27 téléchargement(s)

 

On peut même constater que le plastique de l’embout a un peu fondu.

En réfléchissant un peu, je me suis demandé si ce n’était pas ces fils qui limitaient mon Ampérage, j’ai remarqué qu’en plus d’avoir un fil rouge, noir et jaune, on a un fil rouge et blanc d’un autre côté qui permet d’alimenter le ruban LED :

 

Fichier joint  24.jpg   75,77 Ko   28 téléchargement(s)

 

Le fil blanc est la masse et le rouge est le 5V

 

J’ai donc dénudé les deux fils :

 

Fichier joint  25.jpg   64,79 Ko   26 téléchargement(s)

 

Puis j’ai branché les deux fils sur mon alimentation grâce à des pinces croco :

 

Fichier joint  26.jpg   69,43 Ko   27 téléchargement(s)

 

En refaisant la mise en pratique j’ai obtenu un résultat complètement différent du précédent :

 

Fichier joint  27.jpg   84,5 Ko   27 téléchargement(s)

 

Fichier joint  28.jpg   96,21 Ko   28 téléchargement(s)

 

On peut constater qu’après avoir changé les fils d’alimentation l’Intensité est plus fort qu’avant et que le ruban LED éclaire beaucoup plus.

 

Ayant obtenue une Intensité de 3,23 A, sois 3230 mA on divise cet Intensité par nos 97 LED, pour obtenir un total de 33,30 mA par LED.

 

Ce qui fait grandement la différence par rapport la première pratique où l’on obtenait 12,37 mA par LED.

 

On observe aussi une grande différence par rapport à la théorie ou l’on avait 16 mA par LED.

 

Je rajoute par la suite un deuxième ruban LED de la même longueur que le premier et voici le résultat :

 

97 LED * 2 = 194 LED et on obtient une Intensité de 5,67 A sois 5670 mA.

 

En divisant 5670 par 194 on obtient une Intensité de 29,23 mA par LED.

 

On peut voir une diminution de mA dans chaque LED avec deux rubans LED connecté ensemble.

 

Par curiosité j’ai rajouté un troisième ruban LED et voici le résultat :

 

97 * 3 = 291 LED et on obtient une Intensité de 6,55 A, sois 6550 mA.

 

En divisant 6550 par 291 on obtient une Intensité de 22,51 mA par LED.

 

Fichier joint  29.PNG   16,68 Ko   27 téléchargement(s)

 

Fichier joint  30.PNG   11,08 Ko   27 téléchargement(s)

 

Voici des diagrammes qui résument la consommation de courant des rubans LED en plus d’un diagramme de tension qui permet de voir la tension entre est les différents rubans.

Dû à la baisse de tension aux passages de chaque ruban, la consommation de courant des LED diminue.

 

 

 


Dans le sujet : Présentation du Wio terminal

17 juin 2022 - 09:31

Maintenant on va voir comment mettre une image sur l'écran car c'est un petit peu spécial.

 

Pour cela on va mettre une image sur une carte SD. Mais il faut un format un peu spécial.
Pour se faire, il faut installer une bibliothèque pour cela allez sur cette URL : https://github.com/S..._FS/tree/master cliquez sur « code » et cliquez sur « Download ZIP » pour télécharger la bibliothèque Seeed_Arduino_FS pour utiliser la carte SD sur notre Wio Terminal.
Après avoir téléchargé la bibliothèque on refait la même manipulation qu’au début, on va sur notre logiciel Arduino, dans « croquis », « inclure une bibliothèque » et sélectionner « Ajouter une Bibliothèques .Zip

 

[attachment=13779:38.png]

 

[attachment=13780:39.png]

 

[attachment=13781:40.png]

 

Double-cliquez sur « téléchargement » , cliquez sur « Seeed_Arduino_FS -master.zip » et appuyez sur « ouvrir »

 

[attachment=13782:41.png]

 

[attachment=13783:42.png]

 

Faire de même pour la bibliothèque Seeed_Arduino_SFUD : https://github.com/S...ed_Arduino_SFUD

 

Par la suite il vous faudra installer python pour cela vous pouvez utiliser ce lien pour l’installer : https://www.robot-ma...tion-de-python/

 

Après avoir installé python, il faut convertir une image en BMP, pour cela sélectionner une image que vous voulez modifier. 
Faire un clic droit sur l'image et cliquer sur « modifier ».

 

[attachment=13784:43.png]

 

[attachment=13785:44.png]

 

Je me suis inspiré de ce sujet : https://www.robot-ma...ous-processing/ et j’ai donc sélectionné une table de jeu de la coupe de France de Robotique pour cet exemple.

Afin d'afficher correctement l'image sur l'écran, commencez par ajuster le nombre de pixels de l'image.
Dans notre cas il faut réduire la taille de notre image pour l’adapter sur notre écran qui est 320*240 pixel. 

Pour cela on peut le faire grâce au logiciel Paint par exemple.
Notre image de base fait du 750*300 pixel, pour éviter de déformer notre image (en l’étirant à l’horizontale ou à la verticale) on utilise une résolution de 300*200 pixel, cela sera plus petit que la résolution de notre écran Wio Terminal mais nous permettra d’avoir une image non déformée.
Pour redimensionner notre image sur Paint, allez sur « redimensionner », cliquez sur « pixel » et définir l’horizontale à 300 et la verticale à 200 puis appuyer sur « ok ». (si vous avez laissé cocher la case « conserver les proportions » la verticale se fait automatiquement)

Allez dans « fichier », « enregistrer sous » nommée l’image « test » , sélectionnez le type « bitmap 24 bits » et cliquer sur « Enregistrer »

 

[attachment=13786:45.png]

 

[attachment=13787:46.png]

 

[attachment=13788:47.png]

 

[attachment=13789:48.png]

 

[attachment=13790:49.png]

 

[attachment=13791:50.png]

 

[attachment=13792:51.png]

 

Ensuite il nous faut convertir cette image BMP désormais à la bonne taille en un format BMP un peu spécial ( sans entête, et compressée ... ) pour être compatible avec le Wio Terminal. 
Pour cela on peut utiliser le code Python suivant :  https://files.seeeds...mp_converter.py (il se téléchargera directement),

Créer un nouveau dossier et nommer le dossier « conversionbmp »,
Ouvrir sur le dossier « conversionbmp » pour y accéder.
Créer un nouveau dossier et nommer le dossier « bmp »

Déplacer l’image à la bonne taille ( sauvegardée sous le nom  « test » pour l'exemple)  dans le dossier « conversionbmp » 

Télécharger le code python ici présent : https://files.seeeds...mp_converter.py (il se téléchargera directement), puis déplacer le programme « converter.py » dans le dossier « conversionbmp »

 

[attachment=13793:52.png]

 

[attachment=13794:53.png]

 

[attachment=13795:54.png]

 

[attachment=13796:55.png]

 

[attachment=13797:56.png]

 

[attachment=13798:57.png]

 

[attachment=13799:58.png]

 

[attachment=13800:59.png]

 

[attachment=13801:60.png]

 

[attachment=13802:61.png]

 

[attachment=13803:62.png]

 

[attachment=13804:63.png]

 

[attachment=13805:64.png]

 

[attachment=13806:65.png]

 

Après avoir préparé tout ce qui fallait pour faire la conversion bmp  aller sur la barre de recherche Windows et écrire « invite de commande » ou « cmd » puis appuyer sur entrer

 

[attachment=13807:66.png]

 

[attachment=13808:67.png]

 

Dans l’invite de commande, écrire cd c:\conversionbmp (cela ouvre le répertoire où est présent le convertisseur bmp, dans mon cas j'ai crée le dossier convesionbmp directement dans c: pour l'exemple mais il vous faudra ajuster en fonction d'où vous l'avez mis.)

 

[attachment=13809:68.png]

 

Puis exécuter le programme python : tapez « bmp_converter.py » et appuyez sur entrée.

 

Si jamais vous avez ce genre de problème : « ModuleNotFoundError : No module named ‘PIL’ »

 

[attachment=13810:69.png]

 

Liens pour résoudre le problème « ModuleNotFoundError : No module named ‘PIL’ » :

 

Sinon voici ce que vous devez obtenir :

 

[attachment=13811:70.png]

 

Il faudra choisir entre 8-bits de conversion de couleur ou 16-bits de conversion de couleur.
ici présent j’ai utilisé le « 8-bit colour convert » j’ai donc tapé 1 et appuyé sur entrer.

 

[attachment=13812:71.png]

 

L’opération est terminée, on peut vérifier dans le dossier« bmp »  que l’on a bien converti notre image.

 

[attachment=13813:72.png]

 

[attachment=13814:73.png]

 

[attachment=13815:74.png]

 

On peut voir qu’un dossier nommé « rgb332 » est créé avec une image qui porte le nom de « test » à l'intérieur donc la conversion a bien été faite.

 

[attachment=13816:75.png]

Il ne vous reste plus qu'à mettre cette image dans une carte micro SD. 

 

 

[attachment=13817:76.jpg]

 

[attachment=13818:77.jpg]

 

Connecter l’adaptateur SD sur l’ordinateur

 

[attachment=13819:78.jpg]

 

[attachment=13820:79.jpg]

 

[attachment=13821:80.png]

 

[attachment=13822:81.png]

 

[attachment=13823:82.jpg]

 

[attachment=13824:83.jpg]

 

Installer la micro SD dans le Wio Terminal en faisant attention au sens. 
Vous pouvez suivre les images ci-dessous, pour la mettre en position. 
Il vous faudra appuyer doucement (jusqu’à entendre le click) sur la carte SD avec votre ongle ou un objet de la taille de la carte SD

 

[attachment=13825:84.jpg]

 

[attachment=13826:85.jpg]

 

[attachment=13827:86.jpg]

 

[attachment=13828:87.jpg]

 

Brancher le Wio Terminal à votre ordinateur et allumez-le

 

[attachment=13829:88.jpg]

 

[attachment=13830:89.jpg]

Maintenant on va voir le code arduino qui permet d'afficher cette image sur wio terminal : 
 

Vous aurez besoin d'inclure le fichier RawImage.h : https://files.seeeds.../res/RawImage.h , à vos sketch arduino.  
Sur l'IDE Arduino cliquer sur la petite flèche qui point vers le bas juste en dessous du moniteur série et cliquer sur nouvel onglet.
Cela va faire apparaitre un rectangle jaune juste au-dessus de la console ou il nous demande de mettre un nom pour le nouveau fichier, nous allons écrire « RawImage.h » ou il y un espace blanc et appuyer sur « OK ».
Une fois le nouvel onglet « RawImage.h » crée,  copier le code dedans. 

 

[attachment=13831:90.png]

 

(parti du code du lien)

 

[attachment=13832:91.png]

 

[attachment=13833:92.png]

 

[attachment=13834:93.png]

 

[attachment=13835:94.png]

 

[attachment=13836:95.png]

 

[attachment=13837:96.png]

 

Pour retourner sur le premier onglet il suffit de cliquer dessus

 

[attachment=13838:97.png]

 

[attachment=13839:98.png]

 

Copier le code ci-dessous et le mettre sur Arduino

 

#include"TFT_eSPI.h"
2.  #include "Seeed_FS.h" //Including SD card library
3.  #include"RawImage.h"  //Including image processing library
4.  TFT_eSPI tft;
5.   
6.  void setup() {
7.      //Initialise SD card
8.      if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) {
9.          while (1);
10.     }
11.     tft.begin();
12.     tft.setRotation(3);
13.  
14.     drawImage<uint8_t>("test.bmp", 0, 0); //Display this 8-bit image in sd card from (0, 0)
15.  
16. }
17.  
18. void loop() {
19. }

 

[attachment=13840:99.png]

 

Puis on téléverse le tout

 

[attachment=13841:100.png]

 

Voici le résultat :

 

[attachment=13842:101.jpg]

 

On peut centrer l’image au milieu de l’écran et rajouter  un fond noir pour rendre le tout plus esthétique.

#include"TFT_eSPI.h"
2.  #include "Seeed_FS.h" //Including SD card library
3.  #include"RawImage.h"  //Including image processing library
4.  TFT_eSPI tft;
5.   int xEcran = 320;
6.   int yEcran = 240;
7.   int xImage = 300;
8.   int yImage = 200;
9.   int x = 0;
10.  int y = 0;
11.  
12. void setup() {
13. 
14.   x = (xEcran - xImage)/2;
15.   y = (yEcran - yImage)/2;
16.   
17.     //Initialise SD card
18.     if (!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)) {
19.         while (1);
20.     }
21.     tft.begin();
22.     tft.setRotation(3);
23.     
24.     tft.fillScreen(TFT_BLACK);
25.     drawImage<uint8_t>("test.bmp", x, y); //Display this 8-bit image in sd card from (0, 0)

[attachment=13843:102.png]

 

Voici le rendu final :

 

[attachment=13844:103.jpg]

 

Bon comme toujours avec des photo d'écrans, ça rend mieux en vrai qu'en photo  :)

 

Maintenant à vous de jouer !!!