[Diao Ye apprend la programmation] MicroPython pratique (16) - affichage d'image et d'image de la carte de contrôle

Points de connaissance : Qu'est-ce qu'un panneau de contrôle ?
La carte de contrôle est un matériel intelligent open source qui vulgarise l'éducation des fabricants de STEAM, l'éducation à l'intelligence artificielle et l'éducation à la programmation de robots. Il intègre une puce double cœur haute performance ESP-32, prend en charge la communication bimode WiFi et Bluetooth et peut être utilisé comme nœud IoT pour réaliser des applications IoT. Dans le même temps, la carte de contrôle intègre un écran OLED, des lumières RVB, des accéléromètres, des microphones, des capteurs de lumière, des avertisseurs sonores, des interrupteurs à clé, des interrupteurs tactiles et des interfaces d'extension externes dorées.Il prend en charge la programmation graphique et de code MicroPython, qui peut réaliser des robots intelligents , Applications de contrôle intelligentes telles que Maker Smart Works.

insérez la description de l'image ici
insérez la description de l'image ici
insérez la description de l'image ici

Caractéristiques matérielles de la carte de contrôle :
contrôle principal ESP-32
Processeur : processeur double cœur Tensilica LX6 (un cœur gère la connexion haut débit ; développement d'application indépendant d'un cœur)
fréquence principale : fréquence d'horloge jusqu'à 240 MHz
SRAM : 520
 Ko Flash : 8 Mo
Wi-Fi standard : FCC/CE/TELEC/KCC
Protocole Wi-Fi : 802.11 b/g/n/d/e/i/k/r (802.11n, vitesse jusqu'à 150 Mbps), agrégation A-MPDU et A-MSDU, prend en charge 0,4 us Intervalle de protection
Plage de fréquences : 2,4 ~ 2,5 GHz
Protocole Bluetooth : Conforme aux normes Bluetooth v4.2 BR/EDR et BLE
Audio Bluetooth : Audio CVSD et SBC Faible consommation d'énergie : 10 uA
Méthode d'alimentation : Alimentation micro USB
Tension de fonctionnement : 3,3 V
Courant de fonctionnement maximal : 200 mA Courant
de charge maximal : 1 000 mA Accéléromètre à trois axes
intégré
MSA300, plage de mesure : ±2/4/8/16G
Capteur géomagnétique MMC5983MA, plage de mesure : ±8 gauss ; précision 0,4 mGz, erreur de la boussole électronique ±0,5 °
Capteur de lumière
Microphone
3 perles de lampe ws2812 couleur
Écran OLED de 1,3 pouces, prise en charge d'un affichage de 16 * 16 caractères,
sonnerie passive de résolution 128x64
, prise en charge de 2 boutons physiques (A / B), 6 boutons tactiles,
prise en charge d'une interface à pince crocodile, Facile accès à divers capteurs résistifs
Interface d'extension
E/S numériques à 20 canaux (y compris PWM à 12 canaux, entrée tactile à 6 canaux)
CAN à entrée analogique 12 bits à 5 canaux, P0~P4
Interface à pince crocodile à entrée externe à 1 canal : EXT/GND
prend en charge I2C, UART , protocole de communication SPI

insérez la description de l'image ici
insérez la description de l'image ici
La carte de contrôle est équipée d'un écran OLED de 1,3 pouces avec une résolution de 128x64. Il existe deux façons d'afficher l'image, l'une est l'image au format bmp, qui peut être convertie en données d'image hexadécimales avec le logiciel modulo, et l'image sera affichée sur l'écran OLED. La seconde est une image au format pbm, qui s'affiche sur l'écran OLED. Les images intégrées dans la carte sont au format pbm. Comparé aux données d'image hexadécimales, le format pbm prend moins de mémoire et permet à la carte de contrôle de stocker plus d'images. Nous pouvons également convertir les images que nous avons faites nous-mêmes en pbm ou format bmp et affichez-les sur la carte de contrôle.

1. L'écran OLED montre que le cœur bat

#MicroPython动手做(16)——掌控板之图片图像显示
#OLED屏显示内置图像心在跳动

from mpython import *

import time

image_picture = Image()
while True:
    oled.fill(0)
    oled.blit(image_picture.load('face/2.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/1.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)

Programmation graphique mPython
insérez la description de l'image ici
insérez la description de l'image ici
2, Flowing Time

#MicroPython动手做(16)——掌控板之图片图像显示
#流动的时间

from mpython import *

import time

image_picture = Image()
while True:
    oled.fill(0)
    oled.blit(image_picture.load('face/Progress/Timer 0.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/Progress/Timer 1.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/Progress/Timer 2.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/Progress/Timer 3.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/Progress/Timer 4.pbm', 0), 32, 0)
    oled.show()

Programmation graphique mPython
insérez la description de l'image ici
insérez la description de l'image ici

3. Changer de visage

#MicroPython动手做(16)——掌控板之图片图像显示
#变幻的人脸

from mpython import *

import time

image_picture = Image()
while True:
    oled.fill(0)
    oled.blit(image_picture.load('face/8.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/9.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/12.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/3.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)
    oled.fill(0)
    oled.blit(image_picture.load('face/4.pbm', 0), 32, 0)
    oled.show()
    time.sleep(1)

Programmation graphique mPython
insérez la description de l'image ici
insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_41659040/article/details/131999705
conseillé
Classement