Arduino MIDI Controller Setup

0:16

El código actual utiliza la función keypad.getKey(), que detecta únicamente una tecla en cada iteración, por lo que en su forma actual no te permitirá tocar acordes (es decir, detectar dos o más teclas simultáneamente).
Si deseas reproducir acordes, puedes modificar el código para usar la función keypad.getKeys() de la biblioteca Keypad, que devuelve un arreglo con todas las teclas presionadas en ese momento. Con esa información, podrías enviar varios mensajes MIDI Note On simultáneos para representar acordes. Ten en cuenta que la implementación de esta característica requiere manejar correctamente el "ghosting" y la liberación de múltiples teclas, de acuerdo con las capacidades de tu hardware y la configuración de la matriz.
390 days
y que sugieres? shift register?
390 days

0:21

Puedes considerar las siguientes alternativas:
  • Utilizar la función keypad.getKeys() de la biblioteca Keypad para detectar múltiples teclas simultáneamente. Esto te permitiría capturar varios eventos de tecla y, a partir de ahí, enviar múltiples mensajes MIDI Note On para formar acordes.
  • Si encuentras problemas de ghosting o limitaciones en la matriz, podrías implementar una solución basada en 74HC165 (un registro de desplazamiento paralelo a serie) para expandir la lectura de entradas. Al combinarlo con diodos en cada tecla, se puede reducir el ghosting y mejorar la detección simultánea.
La elección depende de tus requerimientos de hardware y de la estabilidad que observes en la lectura de la matriz actual. ¿Te gustaría ver un ejemplo que implemente la función getKeys() o una sugerencia más detallada sobre el uso de shift registers?
Use keypad.getKeys example
Shift register suggestion
390 days

Ready.


To get started, talk to Flux or create a New Document.

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    Salty Black Jetpack

    Salty Black Jetpack thumbnail
    Welcome to your new project. Imagine what you can build here.

    Properties

    Properties describe core aspects of the project.

    Pricing & Availability

    Distributor

    Qty 1

    Arrow

    $0.22–$0.57

    Digi-Key

    $0.26

    LCSC

    $0.45

    Mouser

    $0.58

    Verical

    $0.36

    Controls