前提・実現したいこと
M5core2の拡張モジュール(Grove)で、同じ種類のユニットを同時に利用したい。
利用するユニット:https://www.switch-science.com/catalog/5222/
発生している問題・エラーメッセージ
サンプルコードをみましたが(予測しておくべきでしたが)、ひとつのモジュールを利用する前提で書かれており、
同じモジュールをふたつ利用する際の方法について検討がつかず、悩んでいます。
当初ESP32で設計を進めており、内臓DACとADCを利用する事で特に問題となっていませんでしたが、今回環境を
M5core2に移植するということとなり、このような手段で開発を行うことになってしまい、ご相談に伺いました。
また同様に、ADCモジュールもふたつ利用するので、以下のHUBを購入しております。
ADCユニット:https://www.switch-science.com/catalog/5221/
HUBユニット:https://www.switch-science.com/catalog/5696/
ボトムモジュール:https://www.switch-science.com/catalog/6785/
該当のソースコード
取り急ぎ、DACモジュールのサンプルコードを転記します。
/* Description: Use DAC Unit DAC to output 0 ~ 3.3V voltage with an accuracy of 12 bits. Please install library before compiling: Adafruit MCP4725: https://github.com/adafruit/Adafruit_MCP4725 */ #include <Wire.h> #include <Adafruit_MCP4725.h> #include <M5Stack.h> #define DAC_ADDR Adafruit_MCP4725 dac; void setup(void) { M5.begin(true, false, false); M5.Power.begin(); Serial.begin(115200); Serial.println("Hello!"); M5.Lcd.setTextFont(4); M5.Lcd.setTextColor(TFT_WHITE, TFT_BLACK); M5.Lcd.drawString("DAC MCP4725 demo.",25, 100, 4); // For Adafruit MCP4725A1 the address is 0x62 (default) or 0x63 (ADDR pin tied to VCC) // For MCP4725A0 the address is 0x60 or 0x61 // For MCP4725A2 the address is 0x64 or 0x65 dac.begin(0x60); Serial.println("Generating a triangle wave"); dac.setVoltage(2048, false); } void loop(void) { // 12bit value , false mean not write EEPROM dac.setVoltage(1024, false); delay(1000); dac.setVoltage(2048, false); delay(1000); }
試したこと
まず前提としてGroveの仕組みの理解を進めているところでございます。
なにも前提試せておらず、申し訳ありません。
補足情報(FW/ツールのバージョンなど)
開発環境:Arduino IDE
言語 :C / arduino言語等
何卒、よろしくお願い致します。
あなたの回答
tips
プレビュー