🛠 Potentiomètre et sortie DAC sur la prise audio du GIGA R1

Arduino GIGA R1 · debutant · Schéma : IMG-giga-r1-d3-1-potentiometre-dac-audio.svg — Potentiomètre alimenté en 3,3 V relié à l'entrée A0 du GIGA R1, et prise jack 3,5 mm de la carte reliée à un haut-parleur via la sortie DAC0.

Objetivos

Descubrir el mundo analógico del GIGA R1: leer una tensión con un convertidor analógico-digital (3 ADC en el STM32H747XI) y generar una señal con un convertidor digital-analógico (2 DAC, 12 bits). Particularidad de esta placa: la toma jack de audio de 3,5 mm está cableada a DAC0, DAC1 y A7 — un verdadero proyecto de sonido sin necesidad de escudos adicionales.

Material

Código completo

// GIGA R1 WiFi — son d'onde en dent de scie sur DAC0 (prise jack), hauteur = A0
#include <Arduino.h>

const int KNOB_PIN = A0;   // potentiomètre 0..3,3 V
const int DAC_PIN  = DAC0; // sortie DAC reliée à la prise jack embarquée
uint32_t phase = 0;

void setup {
  Serial.begin(115200);
  analogWriteResolution(12);   // le DAC du STM32H747XI est 12 bits (0..4095)
  Serial.println("Tournez le potentiometre");
}

void loop {
  uint32_t pas = 1 + map(analogRead(KNOB_PIN), 0, 4095, 0, 63);
  phase = (phase + pas) & 0xFFF;   // retour à zéro sur 12 bits
  analogWrite(DAC_PIN, phase);      // dent de scie -> son modulable
}

Cableado del potenciómetro: el cursor hacia A0, un extremo hacia 3,3 V y el otro hacia GND.

Verificación esperada

Al girar el potenciómetro, la altura del sonido generado en los auriculares aumenta progresivamente. Al mostrar analogRead(A0) en el Monitor serie, el valor sigue el cursor desde 0 hasta aproximadamente 4095.

Errores frecuentes

> NO VERIFICADO: el número exacto de canales ADC expuestos en el esquema de pines de Arduino no está confirmado (página renderizada en el cliente); pruebe cada pin antes de usarlo.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales