nanoFramework.Iot.Device.Seesaw 1.0.30.14943

前缀已保留
dotnet add package nanoFramework.Iot.Device.Seesaw --version 1.0.30.14943                
NuGet\Install-Package nanoFramework.Iot.Device.Seesaw -Version 1.0.30.14943                
这个命令旨在在Visual Studio的包管理器控制台中使用,因为它使用NuGet模块的Install-Package版本。
<PackageReference Include="nanoFramework.Iot.Device.Seesaw" Version="1.0.30.14943" />                
对于支持PackageReference的项目,将此XML节点复制到项目文件中,以引用该包。
paket add nanoFramework.Iot.Device.Seesaw --version 1.0.30.14943                
#r "nuget: nanoFramework.Iot.Device.Seesaw, 1.0.30.14943"                
#r指令可以在F#交互式和Polyglot Notebooks中使用。将其复制到交互式工具或脚本的源代码中,以引用该包。
// Install nanoFramework.Iot.Device.Seesaw as a Cake Addin
#addin nuget:?package=nanoFramework.Iot.Device.Seesaw&version=1.0.30.14943

// Install nanoFramework.Iot.Device.Seesaw as a Cake Tool
#tool nuget:?package=nanoFramework.Iot.Device.Seesaw&version=1.0.30.14943                

Adafruit Seesaw - 扩展板(ADC、PWM、GPIO 扩展器)

Adafruit Seesaw是一个几乎通用的转换框架,它允许您向任何具有I2C功能的微控制器或微计算机添加和扩展硬件支持。您不需要单独的I2C GPIO扩展器、ADC、PWM驱动程序等,seesaw可以配置成提供广泛的功能。

此绑定提供了一个与Adafruit自己提供的非常接近的API,同时还实现了IGpioController,因此可以使用标准IoT API代替任何'板载'引脚,使用可用的GPIO引脚。

此绑定是在使用Adafruit Seesaw扩展板的基础上开发的,该板使用ATSAMD09,默认固件公开了以下功能

  • 3个12位ADC输入
  • 3个8位PWM输出
  • 7个GPIO,可选择下拉或上拉
  • 1个NeoPixel输出(最多340个像素)
  • 1个EEPROM,具有64字节的非易失性存储器(方便存储小型访问令牌或MAC地址)
  • 1个中断输出,可以由任何附件触发

文档

用法

硬件要求

  • SEESAW
  • 公/母跳线

电路

  • SCL - SCL
  • SDA - SDA
  • VCC - 5V
  • GND - GND

代码

< strong >重要< /strong >: 在创建 < code >I2cDevice< /code > 之前,请确保正确设置 I2C 针脚,特别是对于 ESP32,确保安装了 < code >nanoFramework.Hardware.ESP32 nuget< /code >

//////////////////////////////////////////////////////////////////////
// when connecting to an ESP32 device, need to configure the I2C GPIOs
// used for the bus
Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK);

对于 STM32 等其他设备,请确保您使用的是要使用的 I2C 总线的预置针脚。

通过 I2C 连接到 Seesaw 开发自板

此示例简单地连接到 Adafruit Seesaw 开发自板,读取并显示板固件的特性。

const byte Adafruit_Seesaw_Breakout_I2cAddress = 0x49;
const byte Adafruit_Seesaw_Breakout_I2cBus = 0x1;

using (I2cDevice i2cDevice = I2cDevice.Create(new I2cConnectionSettings(Adafruit_Seesaw_Breakout_I2cBus, Adafruit_Seesaw_Breakout_I2cAddress)))
using (Seesaw ssDevice = new Seesaw(i2cDevice))
{
    Console.WriteLine();
    Console.WriteLine($"Seesaw Version: {ssDevice.Version}");
    Console.WriteLine();

    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Status));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Gpio));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Sercom0));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Timer));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Adc));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Dac));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Interrupt));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Dap));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Eeprom));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Neopixel));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Touch));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Keypad));
    Console.WriteLine(GetModuleAvailability(ssDevice, Seesaw.SeesawModule.Encoder));

    Console.WriteLine("");
}

上述 < code >GetModuleAvailability< /code > 定义如下

static string GetModuleAvailability(Seesaw ssDevice, Seesaw.SeesawModule module)
{
    var moduleAvailable = ssDevice.HasModule(module) ? "available" : "not-available";
    return $"Module: {module.ToString()} - {moduleAvailable}";
}
连接到基于 Seesaw 的土壤湿度传感器

此示例将 ESP32 连接到 Adafruit 电容土壤传感器

    const byte Adafruit_Seesaw_SoilSensor_I2cAddress = 0x49;
    const byte Adafruit_Seesaw_SoilSensor_I2cBus = 0x1;

    using (I2cDevice i2cDevice = I2cDevice.Create(new I2cConnectionSettings(Adafruit_Seesaw_SoilSensor_I2cBus, Adafruit_Seesaw_SoilSensor_I2cAddress)))
    using(Seesaw ssDevice = new Seesaw(i2cDevice))
    {
        while(true)
        {
            Console.WriteLine($"Temperature: {ssDevice.GetTemperature()}'C");
            Console.WriteLine($"Capacitive: {ssDevice.TouchRead(0)}");
            ssDevice.SetGpioPinMode(1, PinMode.Output);
            Thread.Sleep(1000);
        }
    }

绑定说明

通常,Seesaw 技术允许用户将以下类型的模块嵌入到固件中,而勾选的模块是本绑定所覆盖的模块。

  • 状态 - 提供模块可用性的总体反馈和控制扩展器
  • GPIO
  • 串行通讯
  • 计时器
  • 模拟输入
  • 模拟输出
  • DAP
  • EEPROM(尽管未经测试)
  • 电容触摸
  • 键盘
  • 旋转编码器
产品 < b >版本 < span >兼容和附加的计算目标框架版本。
.NET 框架 < span aria-hidden="true" class="framework-badge-asset framework-table-margin">net < span class="sr-only">net 兼容。 
< i class="frameworktableinfo-computed-icon framework-badge-computed"> < span class="frameworktableinfo-text">兼容的目标框架(s)
< i class="frameworktableinfo-asset-icon"> < span class="frameworktableinfo-text">包含的目标框架(在包中)
了解更多关于 < a href="https://docs.microsoft.com/dotnet/standard/frameworks" aria-label="了解更多关于目标框架" >目标框架< /a >和 < a href="https://docs.microsoft.com/dotnet/standard/net-standard" aria-label="了解更多关于 .NET 标准" >.NET 标准< /a >
    • < a href="/packages/nanoFramework.CoreLibrary/" >nanoFramework.CoreLibrary< /a > < span >(>= 1.15.5)
    • < a href="/packages/nanoFramework.System.Buffers.Binary.BinaryPrimitives/" >nanoFramework.System.Buffers.Binary.BinaryPrimitives< /a > < span >(>= 1.2.586)
    • < a href="/packages/nanoFramework.System.Collections/" >nanoFramework.System.Collections< /a > < span >(>= 1.5.31)
    • < a href="/packages/nanoFramework.System.Device.Gpio/" >nanoFramework.System.Device.Gpio< /a > < span >(>= 1.1.41)
    • < a href="/packages/nanoFramework.System.Device.I2c/" >nanoFramework.System.Device.I2c< /a > < span >(>= 1.1.16)
    • < a href="/packages/nanoFramework.System.Diagnostics.Stopwatch/" >nanoFramework.System.Diagnostics.Stopwatch< /a > < span >(>= 1.2.586)
    • < a href="/packages/UnitsNet.nanoFramework.Temperature/" >UnitsNet.nanoFramework.Temperature< /a > < span >(>= 5.56.0)

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

此包没有被任何流行 GitHub 仓库使用。

版本 下载 最后更新
1.0.30.14943 60 8/9/2024
1.0.18.1637 51 7/26/2024
1.0.1.18803 92 7/4/2024