Le convertisseur Num\xE9rique Analogique

Introduction

Dans le manuel MicroPython le convertisseur num\xE9rique analogique (Digital to Analogue Converter: DAC) n'est pas d\xE9crit. Pourtant, l'ESP32 poss\xE8de 2 DAC d'une r\xE9solution de 8 bits et il existe un pilote dans Micropython permettant de contr\xF4ler ces interfaces. Les DAC sont accessibles sur les pins GPIO 25 et 26.

Voil\xE0 un petit programme qui montre comment acc\xE9der \xE0 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\xE9n\xE8re une onde triangulaire lente, qui peut \xEAtre observ\xE9 avec un multim\xE8tre.

Exercice 1 :

Modifier le programme en dessus pour g\xE9n\xE9rer une onde rectangulaire de la m\xEAme fr\xE9quence.

Exercice 2 :

Cr\xE9er un g\xE9n\xE9rateur d'impulsion qui permet de produire un signal :
  • rectangulaire
  • triangulaire
  • dent de scie
  • sinuso\xEFdal
Observer ces signaux \xE0 l'aide d'un oscilloscope. Les formes d'impulsion doivent \xEAtre pr\xE9-calcul\xE9 et sauv\xE9 dans un tableau. En traversant le tableau on peut g\xE9n\xE9rer le signal. Ceci assure que le temps entre chaque \xE9mission de niveau de signal reste ind\xE9pendant du temps de calcul pour chaque point.

Voila ce qu'on doit observer avec l'scilloscope:

rectWaveform.png

triangular.png

sawtooth.png

sinewave.png

-- %USERSIG{UliRaich - 2021-11-16}%

Comments

 

I Attachment Action Size Date Who Comment
rectWaveform.pngpng rectWaveform.png manage 36 K 19 Feb 2022 - 19:28 UnknownUser  
sawtooth.pngpng sawtooth.png manage 38 K 19 Feb 2022 - 19:28 UnknownUser  
sinewave.pngpng sinewave.png manage 39 K 19 Feb 2022 - 19:28 UnknownUser  
triangular.pngpng triangular.png manage 40 K 19 Feb 2022 - 19:28 UnknownUser  
This topic: IoT_Course_French > WebHome > ExerciceDAC
Topic revision: 19 Feb 2022, UliRaich