MicroPython : tutoriel pour afficheur OLED 128x64 et senseur luminosité/proximité LTR-501ALS
Nous sommes très heureux d'annoncer deux nouveaux tutoriels MicroPython.
Cette fois, nous nous sommes penchés sur deux nouveaux composants I2C Arduino que nous avons portés vers MicroPython:
Voyez le point "Qu'est-ce que UEXT?" pour en apprendre plus sur ce connecteur.
MOD-OLED-128x64
MOD-OLED-128x64 est un module bon marché, faible puissance, avec un LCD haut contraste et équipé d'un connecteur UEXT.
Sa surface d'affichage est de 21 x 11 mm pour 128 x 64 pixels. Très compacte, il conviendra parfaitement aux projets à faible encombrement.
Ce qui est génial sur un afficheur OLED, c'est qu'il produit sa propre lumière. Chaque pixel activé produit son propre flux lumineux (pas besoin de rétro-éclairage gourmand en énergie). C'est grâce à cela que les écrans OLED présentent un si haut contraste les rendant particulièrement facile à lire.
Résumé des caractéristiques
Le code MicroPython est également très abordable, voici comment dessiner un carré noir sur écran blanc :
OLI-MOD-LTR-501ALS
Le module MOD-LTR501ALS offre une réponse linéaire de 2 à 64000 Lux pour une lumière dans le spectre visible. Le senseur propose également un mode haute résolution entre 0.01 Lux et 320 Lux.
Très pratique pour mesurer la luminosité ambiante dans le jardin, studio, prise de photographie, etc.
Le senseur de lumière est immunisé contre la lumière UltraViolette (UV) et InfraRouge (IR).
Le LTR-501ALS propose également un senseur de proximité infrarouge configurable permettant de détecter un objet à une distance allant jusqu'à 10 cm. La LED IR fonctionne en mode pulsé.
Grâce à UEXT, le module est toujours aussi simple à brancher :-)
Et le code MicroPython toujours aussi limpide
Cette fois, nous nous sommes penchés sur deux nouveaux composants I2C Arduino que nous avons portés vers MicroPython:
- Une écran OLED 128 x 64 (SSD1306)
- Un senseur de proximité (et luminosité LTR-501ALS)
Voyez le point "Qu'est-ce que UEXT?" pour en apprendre plus sur ce connecteur.
MOD-OLED-128x64
Afficheur OLED 128x64 - 3.3V - I2C |
Sa surface d'affichage est de 21 x 11 mm pour 128 x 64 pixels. Très compacte, il conviendra parfaitement aux projets à faible encombrement.
Ce qui est génial sur un afficheur OLED, c'est qu'il produit sa propre lumière. Chaque pixel activé produit son propre flux lumineux (pas besoin de rétro-éclairage gourmand en énergie). C'est grâce à cela que les écrans OLED présentent un si haut contraste les rendant particulièrement facile à lire.
Afficheur OLED 128x64 - 3.3V - I2C |
Résumé des caractéristiques
- OLED avec contrôleur SSD1306
- 128x64 pixels
- 27x11mm
- Alimentation 3.3V
- I2C Interface
Source: ce tutoriel OLED 128x64 avec interface I2C sous MicroPython |
from machine import Pin, I2C i2c = I2C( sda=Pin(2), scl=Pin(4) ) import ssd1306 lcd = ssd1306.SSD1306_I2C( 128, 64, i2c ) lcd.fill(1) # Rempli l'écran en blanc lcd.show() # Afficher! # Remplis un rectangle en noir # fill_rect( x, y, w, h, c ) lcd.fill_rect( 10,10, 20, 4, 0 ) lcd.show() # Afficher!
Plus d'information:
OLI-MOD-LTR-501ALS
Le module MOD-LTR501ALS offre une réponse linéaire de 2 à 64000 Lux pour une lumière dans le spectre visible. Le senseur propose également un mode haute résolution entre 0.01 Lux et 320 Lux.
Très pratique pour mesurer la luminosité ambiante dans le jardin, studio, prise de photographie, etc.
Le senseur de lumière est immunisé contre la lumière UltraViolette (UV) et InfraRouge (IR).
Le LTR-501ALS propose également un senseur de proximité infrarouge configurable permettant de détecter un objet à une distance allant jusqu'à 10 cm. La LED IR fonctionne en mode pulsé.
Grâce à UEXT, le module est toujours aussi simple à brancher :-)
Source: le tutoriel MOD-LTR-501ALS sur le WIKI de MCHobby |
from time import sleep from ltr501 import * i2c = I2C( sda=Pin(2), scl=Pin(4) ) ltr = LTR_501ALS( i2c ) # gamme par défaut, 2 à 64000 Lux # Utiliser cet autre constructeur la lecture haute # résolution dans la gamme de 0.01 à 320 Lux. # # ltr = LTR_501ALS( i2c, lux_range = LUX_RANGE_320 ) while True: # Y a t'il des données disponibles? dr = ltr.data_ready # Luminosité disponible? if DR_LUX in dr: # Lecture des convertisseurs analogiques ALS_0 et ALS_1. l = ltr.lux # ALS_0 semble être en lumière visible # ALS_1 devrait être l'infrarouge. print( "Lux ALS_0, ALS_1 = ", l ) # Proximité disponible ? if DR_PROXIMITY in dr: # Lecture de valeur_senseur et distance en cm p = ltr.proximity print( "Proximity value, cm =" , p ) # Separateur et attendre print( '-'*40 ) sleep( 1 ) print( "That's the end folks")
Plus d'informations:
Écrire un commentaire