Le convertisseur Numérique Analogique
Introduction
Dans le manuel MicroPython le convertisseur numérique analogique (Digital to Analogue Converter: DAC) n'est pas décrit. Pourtant, l'ESP32 possède 2 DAC d'une résolution de 8 bits et il existe un pilote dans Micropython permettant de contrôler ces interfaces. Les DAC sont accessibles sur les pins GPIO 25 et 26.
Voilà un petit programme qui montre comment accéder à ce pilote :
from machine import Pin,DAC
from time import sleep_ms
dac = DAC(Pin(26))
print("Running a triangular wave form with a frequency of ~ 1 Hz on pin 26")
while True:
for i in range(256):
dac.write(i)
sleep_ms(2)
for i in range(256):
dac.write(256-i-1)
sleep_ms(2)
Le programme génère une onde triangulaire lente, qui peut être observé avec un multimètre.
Exercice 1 :
Modifier le programme en dessus pour générer une onde rectangulaire de la même fréquence.
Exercice 2 :
Créer un générateur d'impulsion qui permet de produire un signal :
- rectangulaire
- triangulaire
- dent de scie
- sinusoïdal
Observer ces signaux à l'aide d'un oscilloscope. Les formes d'impulsion doivent être pré-calculé et sauvé dans un tableau. En traversant le tableau on peut générer le signal. Ceci assure que le temps entre chaque émission de niveau de signal reste indépendant du temps de calcul pour chaque point.
Voila ce qu'on doit observer avec l'scilloscope:
--
Uli Raich - 2021-11-16
Comments