Toosame.RaspberryIO.Peripherals 1.0.0

Support device:
1.TSL2561;
2.PCA9685 for WaveShare Pan-Tilt-HAT.

Install-Package Toosame.RaspberryIO.Peripherals -Version 1.0.0
dotnet add package Toosame.RaspberryIO.Peripherals --version 1.0.0
<PackageReference Include="Toosame.RaspberryIO.Peripherals" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Toosame.RaspberryIO.Peripherals --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Toosame.RaspberryIO.Peripherals, 1.0.0"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

RaspberryIO Peripherals

Support device:

  • TSL2561

  • PCA9685 for WaveShare Pan-Tilt-HAT

How to use

TSL2561

TSL2561 tsl2561 = new TSL2561();

Console.WriteLine("TSL2581 ID: {0}", tsl2561.ReadId() & 0xf0);

while (!cancellationTokenSource.Token.IsCancellationRequested)
{
    Console.WriteLine("Lux: {0}", tsl2561.GetLux(2, 148));

    await Task.Delay(1000);
}

PCA9685 for WaveShare Pan-Tilt-HAT

PCA9685 pca9685 = new PCA9685();

const int step = 5;//5°
int rightToLeft = 95;
int upToDown = 120;

//init position
pca9685.SetRotationAngle(0, rightToLeft);
pca9685.SetRotationAngle(1, upToDown);

while (!cancellationTokenSource.IsCancellationRequested)
{
    var key = Console.ReadKey().Key;
    if (key == ConsoleKey.UpArrow)
    {
        int upToDownAfter = upToDown - step;
        if (upToDownAfter <= 180 && upToDownAfter >= 70)
        {
            pca9685.SetRotationAngle(1, upToDownAfter);
            upToDown = upToDownAfter;
        }
    }
    else if (key == ConsoleKey.DownArrow)
    {
        int upToDownAfter = upToDown + step;
        if (upToDownAfter <= 180 && upToDownAfter >= 70)
        {
            pca9685.SetRotationAngle(1, upToDownAfter);
            upToDown = upToDownAfter;
        }
    }
    else if (key == ConsoleKey.RightArrow)
    {
        int rightToLeftAfter = rightToLeft + step;
        if (rightToLeftAfter <= 180 && rightToLeftAfter >= 0)
        {
            pca9685.SetRotationAngle(0, rightToLeft);
            rightToLeft = rightToLeftAfter;
        }
    }
    else if (key == ConsoleKey.LeftArrow)
    {
        int rightToLeftAfter = rightToLeft - step;
        if (rightToLeftAfter <= 180 && rightToLeftAfter >= 0)
        {
            pca9685.SetRotationAngle(0, rightToLeft);
            rightToLeft = rightToLeftAfter;
        }
    }

    Console.WriteLine("upToDown:" + upToDown);
    Console.WriteLine("rightToLeft:" + rightToLeft);

    await Task.Delay(20);
}

RaspberryIO Peripherals

Support device:

  • TSL2561

  • PCA9685 for WaveShare Pan-Tilt-HAT

How to use

TSL2561

TSL2561 tsl2561 = new TSL2561();

Console.WriteLine("TSL2581 ID: {0}", tsl2561.ReadId() & 0xf0);

while (!cancellationTokenSource.Token.IsCancellationRequested)
{
    Console.WriteLine("Lux: {0}", tsl2561.GetLux(2, 148));

    await Task.Delay(1000);
}

PCA9685 for WaveShare Pan-Tilt-HAT

PCA9685 pca9685 = new PCA9685();

const int step = 5;//5°
int rightToLeft = 95;
int upToDown = 120;

//init position
pca9685.SetRotationAngle(0, rightToLeft);
pca9685.SetRotationAngle(1, upToDown);

while (!cancellationTokenSource.IsCancellationRequested)
{
    var key = Console.ReadKey().Key;
    if (key == ConsoleKey.UpArrow)
    {
        int upToDownAfter = upToDown - step;
        if (upToDownAfter <= 180 && upToDownAfter >= 70)
        {
            pca9685.SetRotationAngle(1, upToDownAfter);
            upToDown = upToDownAfter;
        }
    }
    else if (key == ConsoleKey.DownArrow)
    {
        int upToDownAfter = upToDown + step;
        if (upToDownAfter <= 180 && upToDownAfter >= 70)
        {
            pca9685.SetRotationAngle(1, upToDownAfter);
            upToDown = upToDownAfter;
        }
    }
    else if (key == ConsoleKey.RightArrow)
    {
        int rightToLeftAfter = rightToLeft + step;
        if (rightToLeftAfter <= 180 && rightToLeftAfter >= 0)
        {
            pca9685.SetRotationAngle(0, rightToLeft);
            rightToLeft = rightToLeftAfter;
        }
    }
    else if (key == ConsoleKey.LeftArrow)
    {
        int rightToLeftAfter = rightToLeft - step;
        if (rightToLeftAfter <= 180 && rightToLeftAfter >= 0)
        {
            pca9685.SetRotationAngle(0, rightToLeft);
            rightToLeft = rightToLeftAfter;
        }
    }

    Console.WriteLine("upToDown:" + upToDown);
    Console.WriteLine("rightToLeft:" + rightToLeft);

    await Task.Delay(20);
}

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0 125 9/12/2020