Keymatrix с Raspberry и PCF8574 ⇐ C#

Место общения программистов C#
Anonymous
Keymatrix с Raspberry и PCF8574

Сообщение Anonymous »

Кто -нибудь удалось запустить матричную клавиатуру через I2C? Я пытаюсь использовать его с помощью карты расширения PCF8574. < /P>
В моем случае я использую клавиатуру матрицы 4x4. Даже используя другой чип расширения. < /P>
Спасибо < /p>
var settings = new System.Device.I2c.I2cConnectionSettings(1, Convert.ToInt32(_appSettings.KeyPad.i2cAddress, 16));
var i2cDevice = System.Device.I2c.I2cDevice.Create(settings);
var pcf8574 = new Iot.Device.Pcx857x.Pcf8574(i2cDevice);
GpioController gpio = new GpioController(PinNumberingScheme.Logical, pcf8574);
IEnumerable outputs = new int[] { 0, 1, 2, 3 };
IEnumerable inputs = new int[] { 4, 5, 6, 7 };
KeyMatrix keyMatrix = new KeyMatrix(outputs, inputs, TimeSpan.FromMilliseconds(10), gpio, true);
keyMatrix.KeyEvent += KeyMatrixEventReceived;
keyMatrix.StartListeningKeyEvent();

void ShowKeyMatrixEvent(KeyMatrix sender, KeyMatrixEvent pinValueChangedEventArgs)
{
Console.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss.fff} {pinValueChangedEventArgs.Output}, {pinValueChangedEventArgs.Input}, {pinValueChangedEventArgs.EventType}");
Console.WriteLine();
}
< /code>
, нажав клавишу и выпустив ее, я получаю 3 различных события, по одному для каждой исключенной строки.
Например, нажав клавишу 1 (и удерживая его), я получаю 3 падающих и поднимающихся события: по одному для каждой исключенной строки. надеялся, что есть способ нажать на одну кнопку, не думая, исключая. < /p>
2023-11-21 19:53:37.3807|0|INFO|ShowKeyMatrixEvent|2023/11/21 19:53:37.380 2, 0, Falling
2023-11-21 19:53:37.7867|0|INFO|ShowKeyMatrixEvent|2023/11/21 19:53:37.786 3, 0, Falling
2023-11-21 19:53:38.3961|0|INFO|ShowKeyMatrixEvent|2023/11/21 19:53:38.396 1, 0, Falling
2023-11-21 19:53:39.6118|0|INFO|ShowKeyMatrixEvent|2023/11/21 19:53:39.611 2, 0, Rising
2023-11-21 19:53:40.0168|0|INFO|ShowKeyMatrixEvent|2023/11/21 19:53:40.016 3, 0, Rising
2023-11-21 19:53:40.6245|0|INFO|ShowKeyMatrixEvent|2023/11/21 19:53:40.624 1, 0, Rising


Подробнее здесь: https://stackoverflow.com/questions/775 ... nd-pcf8574

Вернуться в «C#»