Pro M5stack jednotky lze zakoupit různé rozšiřovací moduly, kdy pro generování analogových signálů můžeme použít například tento DAC modul. Tento modul obsahuje obvod MCP4725, který umožňuje generovat signály o velikosti 0-3,3 Voltů a s rozlišením 12 bitů.

M5stack DAC modul MCP4725

Pro jeho spojení s M5stack deskou stačí propojit 4 vodiče. Připojíme GND s GND, VCC s pinem 5V a datové piny s I2C sběrnicí. U M5stack modulu pak stačí použít GROVE konektor a jednoduše propojit modul se senzorem.

Ukázkový program najdete níže, přičemž jeho popis můžete najít na videu, které je připojeno na konci návodu. Je v něm uvedena ukázka generování napětí 0-3,3 Voltů a jeho měření multimetrem:

// M5 stack a jednotka DAC
// Digitálně-analogový převodník MCP4725
// navody.dratek.cz

// připojení potřebných knihoven
#include <Wire.h>
// nainstalujte Adafruit knihovnu
// přes Manažer knihoven
#include <Adafruit_MCP4725.h>
#include <M5Stack.h>
// nastavení adresy zařízení
#define DAC_ADDR 0x60
// vytvoření objektu dac z knihovny
Adafruit_MCP4725 dac;

void setup() {
  // zahájení komunikace s M5 stack jednotkou
  M5.begin();
  // zahájení komunikace s napájecím čipem M5stack
  M5.Power.begin();
  // nastavení velikosti a barvy textu
  M5.Lcd.setTextFont(4);
  M5.Lcd.setTextColor(TFT_WHITE, TFT_BLACK);
  // výpis informace na displej
  M5.Lcd.drawString("DAC MCP4725 Demo.", 25, 100, 4);
  // zahájení komunikace s DAC čipem
  dac.begin(DAC_ADDR);
  // nastavení výstupního napětí na 0V,
  // false nezapíše data do trvalé paměti,
  // hodnoty můžou být 0-4095
  dac.setVoltage(0, false);
}

void loop() {
  // změna napětí na výstupu na různé hodnoty
  dac.setVoltage(0,    false);
  delay(1000);
  dac.setVoltage(1024, false);
  delay(1000);
  dac.setVoltage(2048, false);
  delay(1000);
  dac.setVoltage(3072, false);
  delay(1000);
  dac.setVoltage(4095, false);
  delay(1000);
}

Sestřih ze streamu:

Celý záznam:

Na eshopu můžete tento M5stack modul zakoupit zde:
https://dratek.cz/arduino/20926-m5stack-esp32-grey-vyvojovy-kit-pro-iot.html
https://dratek.cz/arduino/20933-m5stack-dac-prevodnik-i2c.html

FB tw

Další podobné články