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.
Modifier le programme en dessus pour générer une onde rectangulaire de la même fréquence.
Créer un générateur d'impulsion qui permet de produire un signal :
Voila ce qu'on doit observer avec l'scilloscope:
I | Attachment | History![]() |
Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
rectWaveform.png | r1 | manage | 36.9 K | 2022-02-19 - 19:28 | UliRaich | |
![]() |
sawtooth.png | r1 | manage | 38.5 K | 2022-02-19 - 19:28 | UliRaich | |
![]() |
sinewave.png | r1 | manage | 39.4 K | 2022-02-19 - 19:28 | UliRaich | |
![]() |
triangular.png | r1 | manage | 40.4 K | 2022-02-19 - 19:28 | UliRaich |