Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
projets:matrice_led_24x24 [07/06/2018 16:23] Mathieu Hery |
projets:matrice_led_24x24 [03/12/2018 19:52] Mathieu Hery |
||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
{{projets:ledmatrix_smiley.jpg?400}} | {{projets:ledmatrix_smiley.jpg?400}} | ||
+ | {{projets:ppm_conversion_matrix.png?400}} | ||
+ | {{projets:ppm_conversion_math.png?400}} | ||
+ | {{projets:ppm_read_order.png?400}} | ||
+ | |||
---- | ---- | ||
Ligne 19: | Ligne 23: | ||
*Dans gimp exporter le bitmap 24x24 en image ppm et choisir ASCII. | *Dans gimp exporter le bitmap 24x24 en image ppm et choisir ASCII. | ||
- | *Utiliser ce [[https://github.com/8mh8/ppmconverter|script python]] ci-dessous pour convertir le fichier ppm en deux pavés à copier/coller dans arduino | + | *Utiliser ce [[https://github.com/8mh8/ppmconverter|programme python]] pour convertir le fichier ppm en deux pavés à copier/coller dans arduino |
+ | |||
+ | ==== Code Arduino ==== | ||
+ | |||
+ | ++++ Déclaration de la matrice | | ||
+ | <code c> | ||
+ | #include <Adafruit_GFX.h> | ||
+ | #include <Adafruit_NeoMatrix.h> | ||
+ | #include <Adafruit_NeoPixel.h> | ||
+ | |||
+ | #define PIN 9 | ||
+ | |||
+ | // MATRIX DECLARATION: | ||
+ | // See Adafruit NeoMatrix example > tiletest for more info | ||
+ | Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, 3, 3, PIN, | ||
+ | NEO_TILE_BOTTOM + NEO_TILE_RIGHT + NEO_TILE_ROWS + NEO_TILE_PROGRESSIVE + | ||
+ | NEO_MATRIX_BOTTOM + NEO_MATRIX_RIGHT + NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE, | ||
+ | NEO_GRB + NEO_KHZ800); | ||
+ | |||
+ | void setup() { | ||
+ | matrix.setBrightness(15); | ||
+ | matrix.begin(); | ||
+ | } | ||
+ | </code> | ||
+ | ++++ | ||
+ | |||
+ | |||
+ | ++++ Gamma Correction (pour des couleurs plus réalistes !)| | ||
+ | <code c> | ||
+ | // Gamma correction | ||
+ | const uint8_t PROGMEM gamma8[] = { | ||
+ | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
+ | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, | ||
+ | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, | ||
+ | 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, | ||
+ | 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, | ||
+ | 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, | ||
+ | 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25, | ||
+ | 25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, | ||
+ | 37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, | ||
+ | 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, | ||
+ | 69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89, | ||
+ | 90, 92, 93, 95, 96, 98, 99, 101, 102, 104, 105, 107, 109, 110, 112, 114, | ||
+ | 115, 117, 119, 120, 122, 124, 126, 127, 129, 131, 133, 135, 137, 138, 140, 142, | ||
+ | 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 167, 169, 171, 173, 175, | ||
+ | 177, 180, 182, 184, 186, 189, 191, 193, 196, 198, 200, 203, 205, 208, 210, 213, | ||
+ | 215, 218, 220, 223, 225, 228, 231, 233, 236, 239, 241, 244, 247, 249, 252, 255 | ||
+ | }; | ||
+ | </code> | ||
+ | ++++ | ||
Ligne 640: | Ligne 693: | ||
{{projets:smile.png?200}} | {{projets:smile.png?200}} | ||
- | [[http://poplab.maisonpop.fr/ressources/ppm/smile.ppm|Smiley PPM]] | + | [[http://poplab.maisonpop.fr/ressources/ppm/smile.ppm|Smiley PPM]] (Siméon - Atelier Bidouille 2017) |
++++ | ++++ | ||
Smiley Arduino| | Smiley Arduino| | ||
Ligne 677: | Ligne 730: | ||
{{projets:titofortnite.png?200}} | {{projets:titofortnite.png?200}} | ||
- | [[http://poplab.maisonpop.fr/ressources/ppm/titofortnite.ppm|Tito Fortnite PPM]] | + | [[http://poplab.maisonpop.fr/ressources/ppm/titofortnite.ppm|Tito Fortnite PPM]] (Tito - Atelier Bidouille 2017) |
++++ | ++++ | ||
Tito Fortnite Arduino | | Tito Fortnite Arduino | | ||
Ligne 742: | Ligne 795: | ||
{{projets:titopixel.png?200}} | {{projets:titopixel.png?200}} | ||
- | [[http://poplab.maisonpop.fr/ressources/ppm/titopixel.ppm|Tito Pixel PPM]] | + | [[http://poplab.maisonpop.fr/ressources/ppm/titopixel.ppm|Tito Pixel PPM]] (Tito - Atelier Bidouille 2017) |
++++ | ++++ | ||
Tito Pixel | | Tito Pixel | | ||
Ligne 781: | Ligne 834: | ||
{{projets:titopointer2.png?200}} | {{projets:titopointer2.png?200}} | ||
- | [[http://poplab.maisonpop.fr/ressources/ppm/titopointer2.ppm|Tito Pointer PPM]] | + | [[http://poplab.maisonpop.fr/ressources/ppm/titopointer2.ppm|Tito Pointer PPM]] (Tito - Atelier Bidouille 2017) |
++++ | ++++ | ||
Tito Pointer | | Tito Pointer | | ||
Ligne 808: | Ligne 861: | ||
{{projets:titosnapchat.png?200}} | {{projets:titosnapchat.png?200}} | ||
- | [[http://poplab.maisonpop.fr/ressources/ppm/titosnapchat.ppm|Tito Snapchat PPM]] | + | [[http://poplab.maisonpop.fr/ressources/ppm/titosnapchat.ppm|Tito Snapchat PPM]] (Tito - Atelier Bidouille 2017) |
++++ | ++++ | ||
Tito Snapchat | | Tito Snapchat | | ||
Ligne 847: | Ligne 900: | ||
*On peut modifier le script python pour qu'il détecte combien de couleurs sont réellement utilisés et stocker ces données. Ensuite établir une correspondance entre les index de pixel et l'index de la couleur à attribuer. On manipulera plus de arrays, mais ils devraient être nettement moins volumineux que les précédents. | *On peut modifier le script python pour qu'il détecte combien de couleurs sont réellement utilisés et stocker ces données. Ensuite établir une correspondance entre les index de pixel et l'index de la couleur à attribuer. On manipulera plus de arrays, mais ils devraient être nettement moins volumineux que les précédents. | ||
*On peut essayer de reverse-engineer la manière dont l'outil qui convertit les bitmaps en hash fonctionne et utiliser une méthode similaire | *On peut essayer de reverse-engineer la manière dont l'outil qui convertit les bitmaps en hash fonctionne et utiliser une méthode similaire | ||
- | *Pour aller plus loin et rendre le code plus robuste | ||
- | *Lire l'en-tête et vérifier que l'on a bien 24x24, sinon renvoyer une erreur appropriée | ||
- | ==== Code Arduino ==== | ||
- | ++++ Déclaration de la matrice | | ||
- | <code c> | ||
- | Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, 3, 3, PIN, | ||
- | NEO_TILE_BOTTOM + NEO_TILE_RIGHT + NEO_TILE_ROWS + NEO_TILE_PROGRESSIVE + | ||
- | NEO_MATRIX_BOTTOM + NEO_MATRIX_RIGHT + NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE, | ||
- | NEO_GRB + NEO_KHZ800); | ||
- | </code> | ||
- | ++++ | ||