Go Down

Topic: Push Button verwenden? (Read 7729 times) previous topic - next topic

hackyhacky

Hallo,

wie schließe/nutze ich diesen Button http://www.lipoly.de/index.php?main_page=product_info&products_id=103698

mit meinem Arduino?

Viele Grüße

Shebu

http://arduino.cc/en/Tutorial/ButtonStateChange
Hier hast du ein Beischpiel. Der Button hat auch 2 pins die an jeweils an +5V und an buttonpin un dem widerstand gebunden werden.

Megaionstorm

#2
Jan 03, 2011, 09:07 am Last Edit: Jan 03, 2011, 09:22 am by Megaionstorm Reason: 1
Gibt es auch eine Möglichkeit festzustellen mit welcher Geschwindkeit eine Taste gedrückt worden ist ?
Oder benötigt man dafür Spezialbuttons um zwischen langsamem und schnellem niederdrücken unterscheiden zu können ?

Gibt es auch Trackballs welche man zusammen mit dem Arduino verwenden kann ?
In der Grössenordnung wie bei Arcade Videospielautomaten.
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Shebu

Was meinst du mit "welcher Geschwindkeit eine Taste gedrückt worden ist ". Die Zeit zwischen 2 tasten druecken, oder die zeit von dem beruhren der taste bis zum schliesen des Kontaktes? Die Zeit zwischen den 2 tsten druecken kann man mit millis() bestimmen. Das andere ist schwiereiger.

Megaionstorm

Die Zeit vom Berühren bis zum Niedergedrücktsein.
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

sth77

Geht nicht, wie denn auch... Dazu müsste es ja irgendwie eine Rückmeldung geben, wann der Taster berührt wurde. Das könnte man höchstens durch eine kapazitive Eigenbaulösung erreichen, stellt sich nur die Frage, wozu man das gebrauchen kann?
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Realizer

#6
Jan 03, 2011, 09:39 am Last Edit: Jan 03, 2011, 09:44 am by Realizer Reason: 1
Quote
stellt sich nur die Frage, wozu man das gebrauchen kann?

Ich könnte sowas sogar vielleicht gut gebrauchen, wie ihr ja alles sicher meinen Thread mit dem DAC verfolgt habt, kann man z.B. für Audioerzeugung, bzw dessen Dynamik einen anschlagdynamischen Sensor gebrauchen. Stichwort Drumcomputer.

Oder E-Pianos oder Instrumente die elektronisch erzeugt werden, werden ja in "echt" mit "Gefühl" gespielt.

Kapazitiver Sensor hört sich gut an. Piezo wäre für Drumpads eine eventuelle Lösung. Aber ich will mich hich noch nicht zu weit aus dem Fenster hängen, da ich erst am konstruieren bin. Da kommen mir derartige Fragen und Threads gerade recht ;)

Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

Megaionstorm

Vielleicht mit einem Taster der zusätzlich einen Schleifkontakt eingebaut hat, wie bei einem Schieberegler !
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Realizer

Ich denke es kommt dabei ganz gewaltig auf sie Anwendung an, die du realisieren willst. Für einen Drumcomputer ist ein Schieberegler eher ungeeignet, weil wird u.U. sehr schnell "gespielt". Für einen Sythesizer wäre die Idee sehr brauchbar.

Was hast du denn vor Megaionstorm ? Vielleicht gibt es ja noch ganz andere Lösungsansätze. Ein optisches Modul beispielsweise. Eine Lichtschranke. Wird der Lichtstrahl langsam oder ganz schnell unterbrochen, kann man auswerten. Oder einen Magnet in einer Spule bewegen. Das Signal lässt auch Rückschlüsse auf die Bewegung schließen. Piezo habe ich schon erwähnt.

Falls du einen Roboter mit Gefühl ausstatten willst ;) - Dehnungsmesstreifen. Oder Srommessung an einem Motor könnte auch Rückschlüsse auf Kraftbeanspruchung geben.
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

hackyhacky

Hi,

danke für die Antwort!

Ich könnte also z.B. 9 Buttons an die digital ins anbringen.

Brauche ich dann für jeden Button einen Wiederstand? Ich kenne mich leider micht e-tech nicht aus jedoch hoffe ich es könnte mir jemand logisch erklären.

Viele Grüße

apogee

Einen Wiederstand brauchst du gar nicht, wohl aber einen Widerstand:

http://arduino.cc/en/Tutorial/Button

Du kannst natürlich auch einen Schieberegister benutzen, wenn du Pins einsparen möchtest, aber ich denke das ist noch eine Stufe zu hoch.

Was willst du denn eigentlich machen?

hackyhacky

9 Buttons anbringen :-)

Reicht der eine Widerstand (Wenn ich mich ans Tutorial halte)?

Oder brauche ich einen stärkeren? Die Ohm Formel darf ruhig für die Erklärung verwendet werden,...

Mein e-tech wissen ist rudi mentär mit c jedoch kenne ich mich gut aus...

Realizer

#12
Jan 03, 2011, 11:35 am Last Edit: Jan 03, 2011, 11:44 am by Realizer Reason: 1
Quote
Mein e-tech wissen ist rudi mentär mit c jedoch kenne ich mich gut aus...
Bei mir ist es genau umgekehrt ;)

Der eine Widerstand reicht für einen Taster. Du baust die Schaltung ja mehrfach auf (9x). Also 9 x der gleiche Widerstand. 9x Taster und 9 Eingänge die du benutzt.

Berechnen braucht man hierbei nicht viel. Es geht einfach nur darum, den Eingang nicht "offen" zu lassen. wenn der Taster nicht gedrückt wird, muss sichergestellt sein daß LOW am Eingangspin anliegt. (Pulldown)

Oder eben High, wenn der Taster in der umgekehrten Form GND auf den Pin geben soll, dann Widerstand auf +5V (Pullup in diesem Fall).

Dies gilt im Übrigen für alle Bauteile. Lasse Eingänge nie "offen", denn sie beginnen zu schwingen oder jede Störung in der Umgebung kann ein ungewolltes Auslösen des Eingangs zur Folge haben.

Alte Regel, bitte hinter die Ohren schreiben: Eingänge werden immer beschaltet. Und wenn du unbenutzte Eingänge einfach auf GND ziehst.
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

hackyhacky

Super vielen lieben Dank für deine hilfreiche Antwort :-)

sth77

#14
Jan 03, 2011, 11:53 am Last Edit: Jan 03, 2011, 05:58 pm by sth77 Reason: 1
Schön erklärt, Realizer! Nur noch al Gedankenanstoß: Man kann auch einen internen PullUp aktivieren. Diese sind im Mega328 integriert, man erspart sich damit den zusätzlichen Widerstand auf dem Steckbrett bzw. auf der späteren Platine.
Quote
A pin may also be configured as an INPUT with pinMode, and subsequently made HIGH with digitalWrite, this will set the internal 20K pullup resistors, which will steer the input pin to a HIGH reading unless it is pulled LOW by external circuitry.
Also den Eingang mit pinMode digitalWrite auf High setzen aktiviert den PullUp. Somit muss der Taster nur zur Masse verbinden. Das muss man aber in der Programmierung beachten, dass ein Tastendruck ein Low bewirkt.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Go Up