Y2.Dio84ReUbc.Core
1.0.5
dotnet add package Y2.Dio84ReUbc.Core --version 1.0.5
NuGet\Install-Package Y2.Dio84ReUbc.Core -Version 1.0.5
<PackageReference Include="Y2.Dio84ReUbc.Core" Version="1.0.5" />
paket add Y2.Dio84ReUbc.Core --version 1.0.5
#r "nuget: Y2.Dio84ReUbc.Core, 1.0.5"
// Install Y2.Dio84ReUbc.Core as a Cake Addin #addin nuget:?package=Y2.Dio84ReUbc.Core&version=1.0.5 // Install Y2.Dio84ReUbc.Core as a Cake Tool #tool nuget:?package=Y2.Dio84ReUbc.Core&version=1.0.5
USB-I2C変換ボード(絶縁デジタル入出力付) DIO-8/4RE-UBC用ドライバ
USB-I2C変換ボード(絶縁デジタル入出力付) DIO-8/4RE-UBC を制御する為のドライバです。
Windows・Linux・Mac で使用できます。
セットアップ
Visual Studioで、プロジェクトを新規作成するか既存のプロジェクトを開きます。
(.NET Coreに対応したプロジェクト)NuGetパッケージの「Y2.Dio84ReUbc.Core」をインストールします。
- ソリューションエクスプローラーからプロジェクトを右クリックして「NuGetパッケージの管理」をクリックします。
- タブを「参照」にして、パッケージソースを「nuget.org」にします。
- 検索窓に「Y2.Dio」を入力すると「Y2.Dio84ReUbc.Core」が見つかりますので選択します。
- バージョンは「最新の安定版」にして「インストール」をクリックします。
FTDI社のライブラリ(デバイスドライバ含む)を以下の各OSの手順にしたがってインストールします。
(本製品は、USB-I2C変換にFTDI社のデバイス(FT4222H)を使用しているため必要です)
Windows 64bit
- FT4222Hの製品ページ の「Downloads」から「LibFT4222 Windows Library」をダウンロードして解凍します。
LibFT4222-vx.x.x\imports\LibFT4222\lib\amd64\LibFT4222-64.dll
をアプリケーションの実行可能ファイルと同じディレクトリにコピーします。LibFT4222-64.dll
をLibFT4222.dll
に名前を変更します。
(レジストリ登録やPATHで登録しても可)
Windows 32bit
- FT4222Hの製品ページ の「Downloads」から「LibFT4222 Windows Library and Examples」をダウンロードして解凍します。
LibFT4222-vx.x.x\imports\LibFT4222\lib\i386\LibFT4222.dll
をアプリケーションの実行可能ファイルと同じディレクトリにコピーします。
(レジストリ登録やPATHで登録しても可)
Linux
- FT4222Hの製品ページ の「Downloads」から「LibFT4222 Linux Library and Examples」をダウンロードして解凍します。
- 管理者権限で
install4222.sh
を実行します。
Mac
- D2XX Driversのダウンロード から「D2XX Drives」をダウンロードしてインストールします。
- FT4222Hの製品ページ の「Downloads」から「LibFT4222 MAC OSX Library and Examples」をダウンロードして解凍します。
使用方法
// DIO-8/4RE-UBCのインスタンスを生成。I2Cクロック周波数は400kHz。
var dio84Re = new Dio84Re(400);
// DIO-8/4RE-UBCを初期化
dio84Re.Initialize();
// IN2の状態を読み出し
var in2 = dio84Re.ReadPin(2);
// IN7~0を読み出し
var in7_0 = dio84Re.ReadPort();
// OUT2をONに設定
dio84Re.WritePin(2, PinState.On);
// OUT3をON, OUT2をOFF, OUT1をON, OUT0をOFFに設定
dio84Re.WritePort(0x0a);
I2C アナログ入力ボード AIO-32/0RA-IRC をスタックして使用する場合
// DIO-8/4RE-UBCのインスタンスを生成。I2Cクロック周波数は400kHz。
var dio84Re = new Dio84Re(400);
// DIO-8/4RE-UBCを初期化
dio84Re.Initialize();
// AIO-32/0RA-IRCのインスタンスを生成。I2CマスターはDIO-8/4RE-UBC。
var aio320 = new Aio320(dio84Re);
// AIO-32/0RA-IRCを初期化
aio320.Initialize();
// アナログ値の読み出し(電圧)。データレートは128SPS。入力電圧範囲は10V
var volts = aio320.ReadVoltage(0, 32, Aio320.DataRate.Sps128, Aio320.Pga.Fs10035mV);
Microsoft の Iot.Device のI2Cデバイスに渡して使用する事もできます。
// DIO-8/4RE-UBCのインスタンスを生成。I2Cクロック周波数は400kHz。
var dio84Re = new Dio84Re(400);
var bno055Sensor = new Bno055Sensor(dio84Re);
Console.WriteLine($"Id: {bno055Sensor.Info.ChipId}, AccId: {bno055Sensor.Info.AcceleratorId}, GyroId: {bno055Sensor.Info.GyroscopeId}, MagId: {bno055Sensor.Info.MagnetometerId}");
Console.WriteLine($"Firmware version: {bno055Sensor.Info.FirmwareVersion}, Bootloader: {bno055Sensor.Info.BootloaderVersion}");
Console.WriteLine($"Temperature source: {bno055Sensor.TemperatureSource}, Operation mode: {bno055Sensor.OperationMode}, Units: {bno055Sensor.Units}");
Console.WriteLine($"Powermode: {bno055Sensor.PowerMode}");
使用例
- DIO-8/4RE-UBCの使用方法(Windows)
- アナログ入力32点を増設する → AIO-32/0RA-IRCの使用例へ
- 絶縁デジタル出力16点を増設する → DIO-0/16RC-IRCの使用例へ
- 絶縁デジタル入力8点・絶縁デジタル出力4点を増設する → DIO-8/4RD-IRCの使用例へ
- DCモーターを制御する
- OLEDディスプレイを制御する
関連プロジェクト
Y2.Ft4222.Core
USB-I2C変換ボード用ドライバDIO-8-4RE-UBC-ExampleCs
USB-I2C変換ボード(絶縁デジタル入出力付) DIO-8/4RE-UBC 用サンプル
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Iot.Device.Bindings (>= 1.0.0)
- Y2.Ft4222.Core (>= 1.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.