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); }
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); } }
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."); } }
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); } }
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); }