Author Topic: Conversion of Sharp SD-FX20 - getting keyboard to work with Arduino / ESP32  (Read 561 times)

0 Members and 1 Guest are viewing this topic.

Offline cantata.techTopic starter

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Hi Guys,

I have a Sharp SD-FX20 that I picked up in Japan when I was there last. Now I want to upgrade the internals to ESP32/Arduino/Raspberry-Pi. Forgive me for being vague about which one, to me it doesn't matter much. I was better at Software than Electronics.

My question is how to connect the key pcb to the ESP32 / Arduino ADC ? I know how to program it once the connections are made.


My approach so far is to use a multimeter and use Black on GND and Red on KEY_1 and/or KEY_2. I can read the first key and it gives me a resistance of 32 Ohms.

Where it's not working for me is that I am expecting to read a different resistance for each key.

I don't know where I should be placing the Red Multimeter lead, or if I need to connect power.

I'm looking to be something logical to me on my multimeter before I write any code.

Thank you in advance
« Last Edit: January 19, 2023, 08:24:41 am by cantata.tech »
 

Offline MathWizard

  • Super Contributor
  • ***
  • Posts: 1470
  • Country: ca
I'm no digital expert but a lot of times, the buttons are wired up in series, in a resistor network, that the MCU will read. Each button press would have a certain total resistance, and the MCU would be programmed to look for those voltages.
 
The following users thanked this post: cantata.tech

Offline cantata.techTopic starter

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
I agree.

I've just had the idea that one of the KEY_1 or KEY_2 pins may be a power input that is being held high, say 3.3v or 5v.

Then the left over KEY_? wire is the output holding the unique voltage for each of the keys.

This would explain why my first attempt of reading the resistances with a multimeter failed.

Next step will be to wire it up to an Arduino and test my new theory.
 

Offline cantata.techTopic starter

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
I'm very happy that I got it working.

I could read the keys by using some simple code on a Atmega328p board in platformio that used the internal pull-ups.

Obviously, and simply, the uC pulls up the voltage and the key takes it down to a certain level when the key is pressed.

 

Offline bidrohini

  • Regular Contributor
  • *
  • Posts: 201
  • Country: bd
Congratulations! Finally you did it. I have heard the name of the board for the first time in life. Let alone using it.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf