Rechercher dans les propriétés de la page

Rechercher dans les propriétés de la page

Entrer soit une page et une propriété, ou seulement une propriété, pour récupérer toutes les valeurs affectées.

Affichage de 6 résultats à partir du n°1.

Voir (20 précédentes | 20 suivantes) (20 | 50 | 100 | 250 | 500).


    

Liste de résultats

  • <div class="icon-instructions idea-icon
    Je vous conseille de garder le code du logo dans un fichier .h, ainsi il sera plus simple de lire votre code
    Nous allons utiliser la bibliothèque U8g2 (elle est compatible avec beaucoup d'écrans) #include //I2C #include #include "logo.h" //I2C SSD1306 128x32 (search U8g2 examples for other display) U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); void setup() { u8g2.begin(); //Start Screen drawLogo(); } void loop() { } void drawLogo() { u8g2.firstPage(); do { u8g2.drawXBMP(0, 0, logo_width, logo_height, logo); } while ( u8g2.nextPage() ); } J'ai aussi mis les fichiers PNG et XBM dans un dossier res/ dans mon code afin de savoir ce qu'il y a dans logo.h et de pouvoir le modifier ultérieurement. Téléversez votre code et voilà !
    r ce qu'il y a dans logo.h et de pouvoir le modifier ultérieurement. Téléversez votre code et voilà !  +
  • <div class="icon-instructions info-icon
    Tout le code est disponible sur github à cette adresse : https://github.com/maditnerd/oled_xbm
    Pour notre premier exemple, nous allons utiliser le logo d'hackster.io Nous allons * Redimensionner l'image en 128x32 * Redessiner l'image avec deux couleurs * La convertir en XBM (code arduino)
    N'importe quel logiciel peut faire l'affaire, mais je recommande chaudement Krita : https://krita.org/en/
    Redimensionner l'image à la taille la plus proche de votre écran (128x32) : Image --> '''Redimensionner l'image à une nouvelle taille''' Puis augmenter la taille de votre canvas à 128x32 : Image --> '''Redimensionner le tableau''' Dans les préréglages des brosses, choisissez Pixel Art Puis redessiner l'image.
    Appuyer sur X pour passer d'une couleur à l'autre.
    uctions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Appuyer sur X pour passer d'une couleur à l'autre.</div> </div>  +
  • MILLIS); } void loop(){ if(tick.iMILLIS); } void loop(){ if(tick.isExpired()){ //ANIMATION ICI tick.repeat(); } } Un dernier point, si nous voulons que notre image sorte de l'écran à droite et apparaisse lentement à gauche, nous devons aller plus loin que la largeur maximale de l'écran (128) , plus exactement (128+36), 36 étant la largeur de notre image. Une fois l'image sortie de l'écran à droite, nous la faisons apparaitre à -36 afin de donner l'impression qu'elle apparait à gauche. void loop() { if (tick.isExpired()) { drawAnimation(); pos_x = pos_x + X; if (pos_x > OLED_WIDTH + cannon_width) { pos_x = -cannon_width; } tick.repeat(); } }cannon_width; } tick.repeat(); } }  +
  • Nous allons utiliser un écran 128x32 (les Nous allons utiliser un écran 128x32 (les écrans en 128x64 sont aussi très répandus si vous voulez plus d'espace), il nous faut donc choisir une '''petite image.''' Les sprites de la GameBoy sont très faciles à convertir, mais gardez à l'esprit que nous sommes limités au noir et blanc, là ou la gameboy est capable d'afficher 4 nuances de gris. Vous pouvez télécharger des sprites sur https://www.spriters-resource.com/ comme point de départ.iters-resource.com/ comme point de départ.  +
  • Sauvegarder votre image au format XBM <Sauvegarder votre image au format XBM
    Sauvegarder le aussi au format PNG, vous ne pourrez pas modifier votre fichier XBM avec Krita !
    Ouvrez le fichier XBM avec un éditeur de texte et changez le nom des variables Fichier XBM #define _width 128 #define _height 32 static char _bits[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00... }; Fichier logo.h #define logo_width 128 #define logo_height 32 static const unsigned char logo[] U8X8_PROGMEM = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00... };
    EM = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00... };  +
  • Une autre façon d'animer une image et d'utUne autre façon d'animer une image et d'utiliser plusieurs images. Au lieu de changer la position X, nous allons utiliser une '''condition SWITCH''' et augmenter la valeur '''animation_state.''' void drawAnimation() { u8g2.firstPage(); do { switch (animation_state) { case 0: u8g2.drawXBMP(0, 0, logo_width, logo_height, logo_1); break; case 1: u8g2.drawXBMP(0, 0, logo_width, logo_height, logo_2); break; case 2: u8g2.drawXBMP(0, 0, logo_width, logo_height, logo_3); break; case 3: u8g2.drawXBMP(0, 0, logo_width, logo_height, logo_4); break; case 4: u8g2.drawXBMP(0, 0, logo_width, logo_height, logo_5); break; case 5: u8g2.drawXBMP(0, 0, logo_width, logo_height, logo_6); break; } } while ( u8g2.nextPage() ); } Afin que notre animation soit complète, il nous faut l'inverser, pour cela, nous allons utiliser le booléen (vrai/faux) '''animation_direction''' afin que l'animation aille dans le sens inverse. drawAnimation(); if (animation_direction) { animation_state--; } else { animation_state++; } if (animation_state == 5) { animation_direction = true; } if (animation_state == 0) { animation_direction = false; } Si on combine les deux techniques, on peut créer des animations plus complexe : https://www.youtube.com/watch?v=iB52FujIK-Attps://www.youtube.com/watch?v=iB52FujIK-A  +