Best rollover schem...
 
Notifications
Clear all

Best rollover scheme for condensed music kbd?

28 Posts
3 Users
2 Reactions
1,658 Views
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2171
 

@jeffed

Can anyone recommend user-friendly PCB design software?

You could make a keyboard using nice large square pushbuttons. All you need is to drill holes in a piece of board, insert the buttons and solder them up.

pushButton

 

 


   
ReplyQuote
frogandtoad
(@frogandtoad)
Member
Joined: 5 years ago
Posts: 1458
 

@jeffed

Posted by: @jeffed

@frogandtoad Very amusing. That's taking obscurity to a new level.

It wasn't really meant to be amusing.
I tried to be humorous, well, because you asked to be humored.

However, it is one solution to your stated problem criteria, with a question that you did not address?


   
ReplyQuote
frogandtoad
(@frogandtoad)
Member
Joined: 5 years ago
Posts: 1458
 
Posted by: @jeffed

@robotbuilder

(1) It IS an Arduino project.

[snip]

(5) Which computer language? Irrelevant. See (1).

FYI: - Arduino can be programmed in C++, a couple of different micro controller flavors of python, and there is even a javascript library which can be used to control and Arduino, with the code running naively on your computer.  In fact, the upcoming Arduino Pro IDE has an information page stating that it will support these three languages.


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2171
 
Posted by: @robotbuilder

@jeffed

Ok.

Sticking to the 8x3 keypad example perhaps use a 8 to 3 bit encoder 74HC148N for each row?

Each 3 bits encoding one of any of the 32 possible combinations of keypress for each row?

 

 

@jeffed

Ignore the above post it is nonsense. I had a brain faze. It has been many decades since I last played with these ic chips.

Honestly for your 8x3 keypad I don't see any problem with simply scanning each row of eight switches to determine which ones are on or off.  The result of the scan will be an eight bit number as frogandtoad alluded to with getting an ascii value.

Check the eight bit number to see if it is valid and if so choose that action to take.

So considering the top row of the 8x3 keypad layout you gave earlier.

key = weight

C = 128
D = 64
E = 32
R = 16
F = 8
G = 4
A = 2
B = 1

You get the value 0 to 255 by adding the weights of any key pressed.
Thus
C key pressed = 128
C and D pressed = 128 + 64 = 192
D pressed = 64
E pressed = 32
R pressed = 16

If you hold all the keys down you get 255

If none of the keys are down you get 0

So you make a list of valid numbers and what action to take for each number.

You could scan each row in turn returning 3 numbers.

Cm = 128
Dm = 64
Em = 32
M = 16
Fm = 8
Gm = 4
Am = 2
Bm = 1

Thus if you hold down C and Em you will get the three numbers 128, 32, 0

2123 chordkeyboard

 

 

 


   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  

@robotbuilder

Invalid key closures are, by definition, disallowed, but your idea has merit. Thanks.

This post was modified 4 years ago by jeffed

   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  

@frogandtoad

It's irrelevant to me if it's written in Swahili. I'll work with whatever Library Bill recommends.

This post was modified 4 years ago 2 times by jeffed

   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  

@robotbuilder

(contd. elsewhere)


   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  
Posted by: @robotbuilder

@jeffed

You are being very obscure about what you are wanting. A mention of a limited keypad and then disabilities and now a full 36 key keyboard?

Is it just a keyboard that can treat a chosen combination of buttons pressed together as a single value?

If it is music playing you want there are proper piano keyboards and software available.

I thought this was an Arduino project but if it is for a MAC then as a Windows and Linux (Raspberry Pi) user I have no idea how to interface my own hardware to a MAC. You haven't even mentioned which computer language you use.

 

You're referring to the language my Mac would be using to design a new PCB. I don't see how that is relevant to programming the Arduino. Thank you for your comments anyway.

 


   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  
Posted by: @frogandtoad
Posted by: @jeffed

@robotbuilder

(1) It IS an Arduino project.

[snip]

(5) Which computer language? Irrelevant. See (1).

FYI: - Arduino can be programmed in C++, a couple of different micro controller flavors of python, and there is even a javascript library which can be used to control and Arduino, with the code running naively on your computer.  In fact, the upcoming Arduino Pro IDE has an information page stating that it will support these three languages.

Interesting, but robot builder was referring to the language my Mac would be using to design a new PCB. I didn't see how that was relevant to programming the Arduino. Thank you both anyway.

 


   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  
Posted by: @robotbuilder

@jeffed

Can anyone recommend user-friendly PCB design software?

You could make a keyboard using nice large square pushbuttons. All you need is to drill holes in a piece of board, insert the buttons and solder them up.

pushButton

 

 

Well, pcb-mounted mini pushbuttons on 12.7 mm centres (centers) would be more likely if compactness becomes an issue, actually. Here's a pic of one -

pcbmountpushbuttonswitch
This post was modified 4 years ago 3 times by jeffed

   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2171
 

@jeffed

No I wasn't referring to the language your Mac would use to design a new PCB I thought you were using a Mac for the actual project. There has been a lot of misunderstandings by me in this thread. If you are building your own keyboard then the problems you mentioned in the first post need not be an issue. The real issue then becomes the software to read the keyboard and process the results to generate the behaviors you want. There are no libraries for what you want to do with the data you have to write that yourself. Scanning push buttons is simple although if there are many buttons you might need extra hardware to capture the result and then feed it to the Arduino in a serial format.

Yes I use those little pushbuttons in my projects I just thought the other type looked more like the square keys you might see on most computer keyboards.

Good luck with whatever you decide to do.

 


   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  
Posted by: @robotbuilder

@jeffed

No I wasn't referring to the language your Mac would use to design a new PCB I thought you were using a Mac for the actual project. There has been a lot of misunderstandings by me in this thread. If you are building your own keyboard then the problems you mentioned in the first post need not be an issue. The real issue then becomes the software to read the keyboard and process the results to generate the behaviors you want. There are no libraries for what you want to do with the data you have to write that yourself. Scanning push buttons is simple although if there are many buttons you might need extra hardware to capture the result and then feed it to the Arduino in a serial format.

Yes I use those little pushbuttons in my projects I just thought the other type looked more like the square keys you might see on most computer keyboards.

Good luck with whatever you decide to do.

 

Good to know you're on my side. I'm not without tech support this end, too.

This post was modified 4 years ago by jeffed

   
ReplyQuote
jeffed
(@jeffed)
Member
Joined: 5 years ago
Posts: 25
Topic starter  
Posted by: @robotbuilder

@jeffed

You are being very obscure about what you are wanting. A mention of a limited keypad and then disabilities and now a full 36 key keyboard?

Is it just a keyboard that can treat a chosen combination of buttons pressed together as a single value?

If it is music playing you want there are proper piano keyboards and software available.

I thought this was an Arduino project but if it is for a MAC then as a Windows and Linux (Raspberry Pi) user I have no idea how to interface my own hardware to a MAC. You haven't even mentioned which computer language you use.

 

All will come clear. Prototype development. Details on a need-to-know basis. All that hush-hush stuff. Thx in advance for ya patience. I'm on a steep learning curve myself.

This post was modified 4 years ago 3 times by jeffed

   
ReplyQuote
Page 2 / 2