🦠

XIAO ESP32C3で始めるnanoFramework ~ADC~

2023/06/21に公開

Seeed Studio XIAO ESP32C3で.NET nanoFrameworkを動かす記事というか雑記。

今回は、ADC。可変抵抗の回し具合を取得して表示します。

ハードウェア

可変抵抗をXIAO ESP32C3に繋ぎます。

  • XIAO ESP32C3 GND - 可変抵抗の右端ピン
  • XIAO ESP32C3 3V3 - 可変抵抗の左端ピン
  • XIAO ESP32C3 A0 - 可変抵抗の中央ピン

NuGetパッケージ

ADCするためのnanoFramework.System.Device.Adcを追加します。

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="nanoFramework.CoreLibrary" version="1.14.2" targetFramework="netnano1.0" />
  <package id="nanoFramework.System.Device.Adc" version="1.1.6" targetFramework="netnano1.0" />
</packages>

C#コード

1秒周期に可変抵抗の回し具合をA/Dコンバートして取得、出力ウィンドウに表示します。
実行したところ、MinValue,MaxValue=0,4095でした。
なお、Configuration.SetPinFunction()は不要でした。

using System.Device.Adc;
using System.Diagnostics;
using System.Threading;

var controller = new AdcController();
Debug.WriteLine($"MinValue,MaxValue={controller.MinValue},{controller.MaxValue}");

var channel = controller.OpenChannel(2);    // ADC1_CH2 ... GPIO2

while (true)
{
    Debug.WriteLine($"Value,Ratio={channel.ReadValue()},{channel.ReadRatio()}");
    Thread.Sleep(1000);
}

Discussion