Lees krachtsensoren van de toetsen op een bestaand elektronisch toetsenbord

Ik heb een rookie-vraag over het maken van een elektronisch circuit.

Ik probeer een elektronische piano te hacken om de toetsaanslagen in een Arduino te lezen en er dingen mee te doen. Bij het openen van de piano vond ik twee pinnen per sleutel die, wanneer ik mijn multimeter erop plaats, ongeveer 2 volt genereert wanneer de toets wordt ingedrukt. Dus ik heb er draad aan gesoldeerd om verbinding te maken met een breadboard (zie afbeelding 1).

De tweede afbeelding toont het circuit dat ik voor één sensor heb gemaakt. Dit werkt perfect, ik kan de krachtsensor "analoog lezen"; Ik krijg waarden van ongeveer 900 wanneer een toets wordt ingedrukt en waarden onder 70 als de toets niet wordt ingedrukt.

Wanneer ik echter een tweede krachtsensor (derde foto) aansluit, krijg ik het volgende probleem: Als ik op een van beide toetsen druk, klinken ze allebei. Wanneer ik hun GND's loskoppel, is dat niet meer het geval. Dus schijnbaar maakt een gedeelde grond dat het genereren van stroom op één krachtsensor-circuit, ook stroom op de tweede zet, waardoor het klinkt?

Als u op één toets drukt, wordt de tweede sensor 250 ook gelezen als deze niet is ingedrukt.

Ik vermoed dat ik ergens iets moet scheiden, maar ik heb geen idee wat. Of moet ik daar ergens een diode plaatsen?

Ik hoop dat ik dit duidelijk maak. Bij voorbaat dank voor alle hulp!

PS. Ik heb de snelheid van de noot niet nodig, alleen of deze al dan niet wordt ingedrukt. Als al het andere niet lukt, probeer ik de drukknoppen met de toetsen te verbinden, maar ik weet zeker dat er een manier is om het bestaande circuit te hacken ...

Figuren

enter image description here

enter image description here

enter image description here

2
Het spijt me, ik besefte meteen nadat ik het had gepost, ik nam ze nu net op :)
toegevoegd de auteur jCisco, de bron
Blijkbaar kan ik niet meer dan 1 hyperlink plaatsen. Afbeeldingen: artistieknest.com/1.jpg artistieknest.com/2.jpg artistieknest.com/3.jpg
toegevoegd de auteur jCisco, de bron
Hmm, ik ben bang dat ik niet helemaal volg. Sluit je in een ondieper standpunt? Dus ik zou de impact op een andere manier moeten meten dan nu ...? Alles wat ik nu deed was een multimeter op de twee pinnen van elke sleutel plaatsen en ontdekken dat er rond de 2V was toen ik op de toets drukte, zo niet, 0V. Dus ik denk dat ik het circuit moet sluiten met een weerstand ertussen, en een stroomcontrolesignaal moet afleiden dat naar mijn arduino leidt (vóór de weerstand). Maar zoals ik al zei, problemen beginnen wanneer ik meer dan 1 sensor aansluit ...
toegevoegd de auteur jCisco, de bron
Afbeeldingen (links) ontbreken!
toegevoegd de auteur clabacchio, de bron

2 antwoord

Als je keyboard MIDI-uitvoer heeft, zou je dat direct kunnen lezen met je Arduino denk ik. Zie http://arduino.cc/en/Tutorial/Midi en http://arduino.cc/playground/Main/MIDILibrary . Misschien een meer rechtlijnige/niet-invasieve benadering.

1
toegevoegd
Keybaird is zeer waarschijnlijk row & column gescand. Geen van beide zijden van een schakelaar is geaard. Stel dat je een 8x8 matrix hebt - Alle hoog mag op de 8 rijen worden gezet en een hoogte op een kolom laat zien in welke kolom een ​​gesloten schakelaar zit. Dan worden alle hoogtepunten op kolommen gezet, een hoogte op de 8 rijen laat zien welke rij een gesloten schakelaar is in. Nu heb je rij en kolom. OF je verlevendigt een rij per keer en kijkt naar de kolommen om te zien waar de ingedrukte schakelaar is.
toegevoegd de auteur rthsyjh, de bron
@Dyte zie arduino.cc/playground/Main/KeypadTutorial waar Russell het over heeft
toegevoegd de auteur T.E.D., de bron
@ Doe het goed, als het inderdaad matrixed is, zou het indrukken van een bepaalde toets resulteren in continuïteit (gemeten met geen vermogen) tussen precies twee pinnen. U zou een sleutel ingedrukt moeten houden en controleren op continuïteit tussen elk paar draden, en de resultaten van die gegevens zouden laten zien hoe uw matrix is ​​bekabeld.
toegevoegd de auteur T.E.D., de bron
Het heeft midi, maar ik herinner me dat ik de vorige keer geen signaal kon krijgen toen ik probeerde het op mijn pc aan te sluiten ... (het is een behoorlijk waardeloos toetsenbord) Had echter nog veel andere oorzaken, dus dit is absoluut de moeite waard! Bedankt!
toegevoegd de auteur jCisco, de bron
Interessant. Ik ontdekte dat er eigenlijk twee series van 6 draden zijn die het toetsenbord overlaten aan het bedieningspaneel (zie: www.artistieknest.com/4.jpg en www.artistieknest.com/5.jpg). Dit kan logisch zijn, want een volledige schaal bestaat uit 12 noten ... (maar er zijn er 5 in totaal) De verbinding van deze draden op het bedieningspaneel lijkt op: www.artistieknest.com/6.jpg Maar ik heb geen idee hoe om ze te gaan testen. Ik weet bijvoorbeeld dat ik twee polen nodig heb om dingen te testen met een multimeter, maar waar plaats ik de tweede multimeter-probe wanneer ik een van deze verbindingen test? Dit is allemaal nieuw voor mij :)
toegevoegd de auteur jCisco, de bron

Oké, het bleek dat ik de krachtsensoren als piëzo-elementen bedraadde. Ze zouden in plaats daarvan als weerstand moeten worden bedraad (het zijn immers "force sensing resistors"). Dus meer zoals dit:

http://www.artistieknest.com/images/forcesensorsnopiezos.jpg

Maar ... hoewel ik nu een aardige lezing in de Arduino krijg, heb ik nog steeds het probleem dat, wanneer ik 3 pianotoetsen zoals deze verbind, het drukken op een van deze de andere toetsen ook laat klinken! Probeer de oorzaak daarvan te achterhalen, het moet via de 5V of de GND zijn, want ik zie geen andere mogelijke verbinding tussen hen. Misschien zijn op dit moment diodes nodig?

1
toegevoegd
je zou je eigen antwoord voor de volledigheid moeten accepteren
toegevoegd de auteur T.E.D., de bron