python:micropython:es

Ceci est une ancienne révision du document !


Sommaire MicroPython, CircuitPython

Les exemples de code de cette page ont été testés sur une carte ESP32 Feather Huzzah. Voir ses caractéristiques sur la page "La carte ESP32 Feather Huzzah"

LED

2.1 Sortie numérique

Exemple pour un ESP32 Feather Huzzah (LED #13)

helloesp32.py
# Faire clignoter la led de la carte
 
from machine import Pin
import time
 
# Led de la carte
Led = Pin(13, Pin.OUT)
 
while(True):
    Led.on()
    time.sleep(1)
    Led.off()
    time.sleep(1)
 

Exemple pour un Raspberry Pi Pico (LED #25)

hellopico.py
# Faire clignoter la led de la carte
# A modifier dans le code ci-dessus
...
Led = Pin(25, Pin.OUT)
...

Digilent Pmod BTN: 4 User Pushbuttons

2.2 Entrée numérique

  • Exemple pour un ESP32 Feather Huzzah
*.py
# Configuration en entrée des broches connectées 
# à deux boutons-poussoir
# A modifier dans le code ci-dessus
 
...
button_min = Pin(25, Pin.IN)
button_hr = Pin(26, Pin.IN)
...
  • Exemple pour un Raspberry Pi Pico
hellopico.py
# A modifier dans le code ci-dessus
...
button_min = Pin(20, Pin.IN)
button_hr = Pin(21, Pin.IN)
...

2.3 Interruption

Exemple

*.py
# Code partiel du programme HORLOGE
 
# Réglage de l'heure à la mise sous tension 
time_offset=12*3600+0*60+0 # hh+mm+ss
 
# Routines de service d'interruption (ISR)
def handle_interrupt_min(pin):
    global time_offset
    time_offset+=60
    time.sleep(.2)
 
def handle_interrupt_hr(pin):
    global time_offset
    time_offset+=3600
    time.sleep(.2)
 
# Réglage des minutes
# Ajout de 60s à l'heure initiale
button_min = Pin(25, Pin.IN)
# Gestionnaire d'interruption
button_min.irq(trigger=Pin.IRQ_RISING,handler=handle_interrupt_min)
 
# Réglage des heures
# Ajout de 3600s à l'heure initiale
button_hr = Pin(26, Pin.IN)
# Gestionnaire d'interruption
button_hr.irq(trigger=Pin.IRQ_RISING,handler=handle_interrupt_hr)

Télécharger le projet MICROPYTHON_ESP32_HORLOGE pour Thonny et la vidéo de la démo.

Potentiomètre

Exemple

analog.py
# ADC accessible en Python sur la carte ESP32 Feather Huzzah :
#  
# ADC:GPIO
# A2 : 34
# A3 : 39
# A4 : 36
# A7 : 32
# A9 : 33
 
from machine import ADC, Pin
 
adc = ADC(Pin(34)) # A2
# Sur une entrée analogique, la tension doit
# être comprise entre 0 - 3,3V (3,6V max !)
adc.atten(ADC.ATTN_11DB) # voir doc
# Mesure
value = adc.read()
 
print(value) # affichage dans la console
  • python/micropython/es.1659518922.txt.gz
  • Dernière modification : 2022/08/03 11:28
  • de phil