On Wed, 04 Sep 2019 12:27:53 +0100, Folderol wrote:
> On Wed, 04 Sep 2019 10:34:21 GMT Alister
> wrote:
>
>>On Tue, 03 Sep 2019 13:06:58 -0400, Dennis Lee Bieber wrote:
>>
>>> On Tue, 3 Sep 2019 07:39:14 -0400, "J.B. Wood"
>>> declaimed the following:
>>>
>>>>Hello, all. Just thought I'd revisit this topic since it's been a
>>>>while. Has anyone ever constructed a Pi-based standalone 1-2 channel
>>>>MIDI sequencer? By standalone I mean it has an integral display and
>>>>required pushbuttons/rotary knob for device control.
>>>>
>>> What do you intend to show on the display?
>>>
>>> What type of control do you envision? (If you visualize a one/two
>>> octave keyboard, you then have to specify how many notes in parallel
>>> -- one note at a time can use a simple row/column keyboard scan -- but
>>> when you go beyond two notes such a matrix can generate ghost key
>>> presses; avoiding ghosts requires a linear matrix, which means LOTS of
>>> GPIOs -- a 1x24 would need 24 GPIOs to detect key presses, while a 4x4
>>> is only using 8 GPIOs for 16 keys)
>>
>>Not Necessarily so. To eliminate ghosting you simply need a diode on
>>each switch (how do you think a quality computer keyboard manages N Key
>>rollover?).
>>16 io pins gets you 8*8 = 64 keys so a full piano (81 keys if i remember
>>correctly) still only requires 9 by 9.
>>
>>
> You need more than that to allow for various switches/selectors etc.
> Also you need to scan the matrix as fast as possible, preferably in the
> tens of microseconds range. However, just to make it 'interesting' you
> should include some form of debounce mechanism.
> Been there, done that, T shirt worn out!
figures quoted were a minimum obviously the matrix can be made as large
as possible.
microseconds for a full scan is massively overkill a 10mS scan time would
equal 100 scans a second more than enough for human interaction.
My original job was with a manufacturer of custom industrial keyboards so
I am fully aware of the need to debounce a 6mS delay when a change was
detected was considered more than adequate.
another option would be to only recognise a change after 2 consecutive
scans which would still be more than acceptable performance with the
above 100hz scan frequency.
--
American by birth; Texan by the grace of God.
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|