示例#1
0
    public static void Main()
    {
        TM1637.SetupWiringPi(WiringPiSetupFunction.GPIO);

        var display = StandardDisplay.Craete(
            pinDIO: TM1637.PhysicalPinToGpio(16 /*GPIO.23*/), // The pin number connected to TM1637's DIO (#17)
            pinCLK: TM1637.PhysicalPinToGpio(18 /*GPIO.24*/), // The pin number connected to TM1637's CLK (#18)
            numberOfDigits: 6
            );

        display.Begin();

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.SetSegmentBitsAt(digit, 0b11111111); // set all segments on
        }

        Console.WriteLine("set display switch off");
        display.DisplaySwitch = false;
        Thread.Sleep(1000);

        Console.WriteLine("set display switch on");
        display.DisplaySwitch = true;
        Thread.Sleep(1000);

        Console.WriteLine("set display brightness from 0% to 100%");

        for (var brightness = 0; brightness < 100; brightness += 10)
        {
            display.DisplayBrightness = brightness; // 0% = display off
            Thread.Sleep(250);
        }

        Console.WriteLine("set display brightness from 100% to 0%");

        for (var brightness = 100; 0 <= brightness; brightness -= 10)
        {
            display.DisplayBrightness = brightness;
            Thread.Sleep(250);
        }

        Console.WriteLine("set brightness minimum (1/16 duty cycle)");
        display.SetDisplayBrightnessMinimum();
        Thread.Sleep(1000);

        Console.WriteLine("set brightness to darker level (4/16 duty cycle)");
        display.SetDisplayBrightnessDarker();
        Thread.Sleep(1000);

        Console.WriteLine("set brightness to brighter level (10/16 duty cycle)");
        display.SetDisplayBrightnessBrighter();
        Thread.Sleep(1000);

        Console.WriteLine("set brightness maximum (14/16 duty cycle)");
        display.SetDisplayBrightnessMaximum();
        Thread.Sleep(1000);
    }
示例#2
0
    public static void Main()
    {
        TM1637.SetupWiringPi(WiringPiSetupFunction.GPIO);

        var display = new OSL40391IXDisplay(
            pinDIO: TM1637.PhysicalPinToGpio(16 /*GPIO.23*/), // The pin number connected to TM1637's DIO (#17)
            pinCLK: TM1637.PhysicalPinToGpio(18 /*GPIO.24*/)  // The pin number connected to TM1637's CLK (#18)
            );

        display.Begin();

        Console.WriteLine("press key below to switch format of time");
        Console.WriteLine("  'h': hh:mm");
        Console.WriteLine("  'm': mm:ss");

        const int formatHoursMinites   = 0;
        const int formatMinutesSeconds = 1;
        var       format = formatMinutesSeconds;

        for (;;)
        {
            if (Console.KeyAvailable)
            {
                var key = Console.ReadKey(true);

                switch (key.KeyChar)
                {
                case 'H':
                case 'h': format = formatHoursMinites; Console.WriteLine(" hh:mm"); break;

                case 'M':
                case 'm': format = formatMinutesSeconds; Console.WriteLine(" mm:ss"); break;

                default: break;
                }
            }

            switch (format)
            {
            case formatHoursMinites: display.DisplayTimeOfDayHoursMinutes(DateTime.Now.TimeOfDay); break;

            case formatMinutesSeconds: display.DisplayTimeOfDayMinutesSeconds(DateTime.Now.TimeOfDay); break;

            default: break;
            }

            Thread.Sleep(50);
        }
    }
示例#3
0
    public static void Main()
    {
        TM1637.SetupWiringPi(WiringPiSetupFunction.GPIO);

        var display = StandardDisplay.Craete(
            pinDIO: TM1637.PhysicalPinToGpio(16 /*GPIO.23*/), // The pin number connected to TM1637's DIO (#17)
            pinCLK: TM1637.PhysicalPinToGpio(18 /*GPIO.24*/), // The pin number connected to TM1637's CLK (#18)
            numberOfDigits: 6
            );

        display.Begin();

        for (;;)
        {
            display.DisplayNumericalString(" 8. 8. 8.");
        }
    }
示例#4
0
    public static void Main()
    {
        TM1637.SetupWiringPi(WiringPiSetupFunction.GPIO);

        var display = new OSL40391IXDisplay(
            pinDIO: TM1637.PhysicalPinToGpio(16 /*GPIO.23*/), // The pin number connected to TM1637's DIO (#17)
            pinCLK: TM1637.PhysicalPinToGpio(18 /*GPIO.24*/)  // The pin number connected to TM1637's CLK (#18)
            );

        display.Begin();

        Console.WriteLine("display current time in format 00:00 (mm:ss)");

        for (var n = 0; n < 50; n++)
        {
            display.DisplayTimeOfDayMinutesSeconds(DateTime.Now.TimeOfDay, true /* blink colon automaticaly */);
            Thread.Sleep(100);
        }

        Console.WriteLine("display 00:00 ~ 120:00 (mm:ss)");

        for (var e = +2.3979f /* 500ms */; e <= +6.8573f /* 7,200,000ms */; e += 0.02f)
        {
            display.DisplayElapsedTimeMinutesSeconds((int)MathF.Pow(10.0f, e));
            Thread.Sleep(20);
        }

        Console.WriteLine("display 00:00 ~ 120:00 (hh:mm)");

        for (var e = +2.3979f /* 500ms */; e <= +8.6354f /* 432,000,000ms */; e += 0.02f)
        {
            display.DisplayElapsedTimeHoursMinutes((int)MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display 0.00% ~ 1000.0%");

        for (var e = -2.0f; e <= +3.0f + 0.25f; e += 0.02f)
        {
            display.DisplayPercent(MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display -0.0% ~ -100.0%");

        for (var e = -1.0f; e <= +2.0f + 0.25f; e += 0.02f)
        {
            display.DisplayPercent(-MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display 0.00℃ ~ 1000.0℃");

        for (var e = -2.0f; e <= +3.0f + 0.25f; e += 0.02f)
        {
            display.DisplayTemperatureCelsius(MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display -0.0℃ ~ -100.0℃");

        for (var e = -1.0f; e <= +2.0f + 0.25f; e += 0.02f)
        {
            display.DisplayTemperatureCelsius(-MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display 0.00℉ ~ 1000.0℉");

        for (var e = -2.0f; e <= +3.0f + 0.25f; e += 0.02f)
        {
            display.DisplayTemperatureFahrenheit(MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display -0.0℉ ~ -100.0℉");

        for (var e = -1.0f; e <= +2.0f + 0.25f; e += 0.02f)
        {
            display.DisplayTemperatureFahrenheit(-MathF.Pow(10.0f, e));

            Thread.Sleep(20);
        }

        Console.WriteLine("display +0 ℃");
        display.DisplayTemperatureCelsius(0.0f);
        Thread.Sleep(1000);

        Console.WriteLine("display -0 ℃");
        display.DisplayTemperatureCelsius(-0.0f);
        Thread.Sleep(1000);

        Console.WriteLine("display +INF ℃");
        display.DisplayTemperatureCelsius(float.PositiveInfinity);
        Thread.Sleep(1000);

        Console.WriteLine("display -INF ℃");
        display.DisplayTemperatureCelsius(float.NegativeInfinity);
        Thread.Sleep(1000);

        Console.WriteLine("display NaN ℃");
        display.DisplayTemperatureCelsius(float.NaN);
        Thread.Sleep(1000);

        Console.WriteLine("display +0 %");
        display.DisplayPercent(0.0f);
        Thread.Sleep(1000);

        Console.WriteLine("display -0 %");
        display.DisplayPercent(-0.0f);
        Thread.Sleep(1000);

        Console.WriteLine("display +INF %");
        display.DisplayPercent(float.PositiveInfinity);
        Thread.Sleep(1000);

        Console.WriteLine("display -INF %");
        display.DisplayPercent(float.NegativeInfinity);
        Thread.Sleep(1000);

        Console.WriteLine("display NaN %");
        display.DisplayPercent(float.NaN);
        Thread.Sleep(1000);

        display.Clear();

        Console.WriteLine("set colon on/off");

        for (var i = 0; i < 6; i++)
        {
            if (i == 0)
            {
                display.SetColonOn();
            }
            else
            {
                display.SetColonOff();
            }

            Thread.Sleep(300);
        }

        Console.WriteLine("set upper dot of colon on/off");

        for (var i = 0; i < 6; i++)
        {
            if (i == 0)
            {
                display.SetUpperDotOfColonOn();
            }
            else
            {
                display.SetUpperDotOfColonOff();
            }

            Thread.Sleep(300);
        }

        Console.WriteLine("set lower dot of colon on/off");

        for (var i = 0; i < 6; i++)
        {
            if (i == 0)
            {
                display.SetLowerDotOfColonOn();
            }
            else
            {
                display.SetLowerDotOfColonOff();
            }

            Thread.Sleep(300);
        }

        Console.WriteLine("set degree sign on/off");

        for (var i = 0; i < 6; i++)
        {
            if (i == 0)
            {
                display.SetDegreeSignOn();
            }
            else
            {
                display.SetDegreeSignOff();
            }

            Thread.Sleep(300);
        }
    }
示例#5
0
    public static void Main()
    {
        TM1637.SetupWiringPi(WiringPiSetupFunction.GPIO);

        var display = StandardDisplay.Craete(
            pinDIO: TM1637.PhysicalPinToGpio(16 /*GPIO.23*/), // The pin number connected to TM1637's DIO (#17)
            pinCLK: TM1637.PhysicalPinToGpio(18 /*GPIO.24*/), // The pin number connected to TM1637's CLK (#18)
            numberOfDigits: 6
            );

        display.Begin();

        var numericalStrings = new[] {
            "1",
            "1.2",
            "12.3",
            "123.4",
            "1234.5",
            "12345.6",
            "123456.7",
            "-1",
            "-1.2",
            "-12.3",
            "-123.4",
            "-1234.5",
            "-12345.6",
            "     0",
            "    01",
            "   012",
            "  0123",
            " 01234",
            "012345",
            "0 1234",
            "01 234",
            "012 34",
            "0123 4",
            "01234 ",
            "      ",
            "01-01",
            "12-31",
            "-.-.-.-.-.-.",
        };

        foreach (var s in numericalStrings)
        {
            Console.WriteLine($"display '{s}'");
            display.DisplayNumericalString(s);
            Thread.Sleep(1000);
        }

        var hexNumericalStrings = new[] {
            "B",
            "BA",
            "BAD",
            "BADC",
            "badca",
            "badcaf",
            "badcafe",
            "-A",
            "-B.A",
            "-CB.A",
            "-DCB.A",
            "-EDCB.A",
            "-FEDCB.A",
        };

        foreach (var s in hexNumericalStrings)
        {
            Console.WriteLine($"display '{s}'");
            display.DisplayNumericalString(s);
            Thread.Sleep(1000);
        }

        Console.WriteLine("display integer 1~max");

        for (var e = 0.0f; e <= (float)display.NumberOfDigits; e += 0.01f)
        {
            display.Display((int)MathF.Pow(10.0f, e));
            Thread.Sleep(10);
        }

        Console.WriteLine("display integer -1~min");

        for (var e = 0.0f; e <= (float)(display.NumberOfDigits - 1); e += 0.01f)
        {
            display.Display(-(int)MathF.Pow(10.0f, e));
            Thread.Sleep(10);
        }

        Console.WriteLine("display hex integer 0x1~max");

        for (var e = 0.0f; e <= (float)display.NumberOfDigits; e += 0.002f)
        {
            display.DisplayHex((int)MathF.Pow(16.0f, e));
            Thread.Sleep(10);
        }

        Console.WriteLine("display float +min~+max");

        for (var e = -(float)display.NumberOfDigits; e <= +(float)display.NumberOfDigits; e += 0.01f)
        {
            display.Display((float)MathF.Pow(10.0f, e));
            Thread.Sleep(10);
        }

        Console.WriteLine("display float -min~-max");

        for (var e = -(float)(display.NumberOfDigits - 1); e <= +(float)(display.NumberOfDigits - 1); e += 0.01f)
        {
            display.Display(-(float)MathF.Pow(10.0f, e));
            Thread.Sleep(10);
        }

        Console.WriteLine("display integer with zero padding");

        for (var e = 0.0f; e <= (float)display.NumberOfDigits; e += 0.02f)
        {
            display.DisplayZeroPadding((int)MathF.Pow(10.0f, e));
            Thread.Sleep(10);
        }

        for (var e = 0.0f; e <= (float)(display.NumberOfDigits - 1); e += 0.02f)
        {
            display.DisplayZeroPadding(-(int)MathF.Pow(10.0f, e));
            Thread.Sleep(10);
        }

        for (var e = 0.0f; e <= (float)display.NumberOfDigits; e += 0.01f)
        {
            display.DisplayHexZeroPadding((int)MathF.Pow(16.0f, e));
            Thread.Sleep(10);
        }

        Console.WriteLine("display float with width and precision");

        for (var e = -(float)display.NumberOfDigits; e <= +(float)display.NumberOfDigits; e += 0.02f)
        {
            display.Display((float)MathF.Pow(10.0f, e), 1, 2); // in format 'x.xx'
            Thread.Sleep(10);
        }

        for (var e = -(float)(display.NumberOfDigits - 1); e <= +(float)(display.NumberOfDigits - 1); e += 0.02f)
        {
            display.Display(-(float)MathF.Pow(10.0f, e), 1, 2); // in format 'x.xx'
            Thread.Sleep(10);
        }

        Console.WriteLine("display integer 0");
        display.Display(0);
        Thread.Sleep(1000);

        Console.WriteLine("display float +0");
        display.Display(0.0f);
        Thread.Sleep(1000);

        Console.WriteLine("display float -0");
        display.Display(-0.0f);
        Thread.Sleep(1000);

        Console.WriteLine("display float +INF");
        display.Display(float.PositiveInfinity);
        Thread.Sleep(1000);

        Console.WriteLine("display float -INF");
        display.Display(float.NegativeInfinity);
        Thread.Sleep(1000);

        Console.WriteLine("display float NaN");
        display.Display(float.NaN);
        Thread.Sleep(1000);

        Console.WriteLine("display decimal point per digit");

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.Clear();

            display.SetDecimalPointOnAt(digit);

            Thread.Sleep(500);
        }

        Console.WriteLine("display hexadecimal number per digit");

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.Clear();

            for (var number = 0; number < 0x10; number++)
            {
                display.SetHexNumberAt(digit, number);

                Thread.Sleep(100);
            }
        }

        Console.WriteLine("display decimal number per digit");

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.Clear();

            for (var number = 0; number < 10; number++)
            {
                display.SetDecimalNumberAt(digit, number);

                Thread.Sleep(100);
            }
        }

        Console.WriteLine("set each segment on (A~G and DP)");

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.Clear();

            for (var segment = 0; segment < 8; segment++)
            {
                display.SetSegmentBitsAt(digit, (byte)(0b1 << segment));

                Thread.Sleep(100);
            }
        }

        Console.WriteLine("clear only character segments (A~G)");

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.SetSegmentBitsAt(digit, (byte)0b11111111); // set all segments on
        }

        Thread.Sleep(1000);

        display.ClearCharacterSegments();

        Thread.Sleep(1000);

        display.Clear();

        Thread.Sleep(1000);


        Console.WriteLine("clear only decimal point segment (DP)");

        for (var digit = 0; digit < display.NumberOfDigits; digit++)
        {
            display.SetSegmentBitsAt(digit, 0b11111111); // set all segments on
        }

        Thread.Sleep(1000);

        display.ClearDecimalPointSegments();

        Thread.Sleep(1000);

        display.Clear();

        Thread.Sleep(1000);
    }