////////////////////////////////////////// // BADGE OLED 128X64 1,3" I2C // // D1 Mini // ////////////////////////////////////////// /* si pb de téléversement insister, cela fini par passer !! BROCHAGE _________________ / D1 mini \ |[ ]RST TX[ ]| |[ ]A0 -GPIO RX[ ]| |[ ]D0-16 SCL5-D1[X]| - SCL (ou SCK) |[ ]D5-14 SDA4-D2[X]| - SDA |[ ]D6-12 0-D3[ ]| |[ ]D7-13 2-D4[ ]| LED_BUILTIN |[ ]D8-15 GND[X]| GND de l'écran |[ ]3V3 . 5V[X]| VCC de l'écran | +---+ | |_______|USB|_______| GND 5V D1 D2 ______|_|_|_|______ |O * * * * O| | GND VCC SCL SDA | | _______________ | | | | | | | | | | | | | | |_______________| | |O_________________O| Matériel : - des fils dupont. - une breadbord - un D1 mini - un ecran Oled 128X64 pixels, 1,3 pouces -... Adaptation à l'écran OLED 1,3" 128X64 SH1106 (différent du 0,96" qui lui est SSD13006) utilise la bibliothèque ESP32 and ESP8266 OLED DRIVER FOR SSD1306 sources : https://miliohm.com/how-to-draw-or-print-bitmap-to-oled-display-arduino/ ___ / ___ \ |_| | | /_/ _ ___ _ |_| |___|_| |_ ___|_ _| |___| |_| Antony Le Goïc-Auffret - Les petits Débrouillards - novembre 2020 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/ */ #include #include #include "SH1106Wire.h" // bibliothèque ESP32 and ESP8266 OLED DRIVER FOR SSD1306 // Images personaliséess #include "cligne.h" #include "grosyeux.h" long hasard; // déclaration variable long // crée l'écran OLED avec la bibliothèque Wire SH1106Wire display(0x3c, D2, D1); void setup() { randomSeed(analogRead(0)); // on prépare les nombres aux hazard display.init(); // démarrage de l'écran display.flipScreenVertically(); // choix esthétique d'affichage dans un sens oun l'autre display.clear(); // on vide l'écran } void loop() { oeilgrosyeux(); // on appelle la fonction d'affichage des yeux delay(600); // pause de 0,6 secondes cligneoeil(); // on apelle l'affichage du clignement oeilgrosyeux(); // on appelle la fonction d'affichage des yeux delay(700); // ... cligneoeil(); } void cligneoeil(void){ hasard = random(100, 600); // génération d'un nombre aléatoire delay(hasard); // on laisse le temps aléatoire avant de cligner pour donner l'air vivant display.clear(); // on vide l'écran display.drawXbm(0, 0, bitmap_height, bitmap_width, imgcligne); // on prépare l'affichage du clignement display.display(); // on affiche le clignelent hasard = random(20, 80); // génération d'un nombre aléatoire delay(hasard); // l'affichage du clignement est d'une durée rapide mais variée. } void oeilgrosyeux(void) { display.clear(); // on vide l'écran display.drawXbm(0, 0, bitmap_height, bitmap_width, imggrosyeux); // on prépare l'affichage des yeux display.display(); // on affiche les yeux }