Hardware zum Testen (Keys, Buttons, Taster, LEDs)

Hallo,

gibt es geeignete Testhardware, um digitale Ein- und Ausgänge zu simulieren?

Gibt es Taster, Schalter und LED-Arrays, die man mit wenig Aufwand an ein Breadboard anschließen kann?

Ich bin davon ausgegangen, dass es dafür ein großes Angebot geben müsste, aber bei ebay habe ich nur sehr wenig gefunden. Besonders Taster habe ich nur als Array gefunden, die vermutlich irgendwie als Matrix abgefragt werden müssen und nicht pro Taster einen Eingang setzen können.
Bei LED-Anzeigen wäre es gut, wenn gleich Treiber (Transistoren) dabei wären, weil ein AVR vermutlich nicht 8 oder gar 16 LEDs gleichzeitig selbst betreiben kann.

Für Tastatur Matrizen gibt es eine fertige Lib. Das ist keine große Sache.

Für einzelne Taster, suche mal nach "Kurzhubtaster"

I2C LED Bargraph:
http://www.exp-tech.de/Displays/LED/Bi-Color-Red-Green-24-LED-Bar-I2C.html

Gibt auch diverse LED Stripes mit RGB LEDs

Ich denke es geht hierbei lediglich um das Testen der Ein und Ausgänge. Da hilft ein Bargraph mit I2C wenig.

Fertige Module sind mir nur für Seeduino und Tinkerkit bekannt. Ich habe mir die Taster damals selber auf Streifenrasterplatine angefertigt und dann zurecht geschnitten. Habe aber auf Software Entprellen bei diesem verzichtet und stattdessen mit einem Kondensator eine einfache Hardware Entprellung gemacht.

Ansonsten kann man doch auch problemlos Minaturtaster auf das Breadboard anbringen. Bei Schaltern weiß ich das jetzt nicht. Zum einen die Kippschalter gibt es bedingt auch mit Printanschluss. Dieser reicht meist aber nicht, um ins Breadboard eingesetzt zu bekommen. Da wie oben beschrieben eigene Platinen bauen.

Für LED-Array eignen sich Kingbright-Leds. Sowas hat Serenfly auch bereits geschrieben. Widerstände sind bei der einfachen Bausteinbeschaltung noch notwendig.

Es gibt auch Schalterarrays. Da muss man mal bei Reichelt nach Dipschalter/Kodierschalter suchen.

I2C wäre in der Tat nicht so gut, denn ich würde gerne mein fertiges Programm im Arduino 1:1 ausprobieren, ohne die Ausgabe oder die Eingabe umzustricken.

Ich dachte da an so etwas ähnliches:


Es sollten nur die Tasten alle direkt herausgeführt sein und die LEDs auch ohne Umwege einzeln über einen LED-Treiber ansteuerbar sein.

Von Siemens SPS kenne ich entsprechende Platinen mit Schaltern. Zumindest war so etwas mal in einem Starter-Kit enthalten.
Die Ausgänge der SPS haben allesamt immer Status LEDs.

Es wäre natürlich technisch kein Problem, sich so etwas selbst zusammen zu löten, aber erfahrungsgemäß ist so etwas ziemlich teuer, klobig und natürlich zeitaufwendig.

Taster direkt auf ein Breadboard zu stecken hätte den Nachteil, dass die Taster ziemlich viel Platz wegnehmen. Eine extra Platine mit Flachbandkabel fänd ich praktischer.

Das scheint aber wohl nicht so oft gefragt zu sein, denn sonst gäbe es wohl mehr Angebote in der Richtung. Das hätte ich echt nicht erwartet. Dann werde ich mir so etwas wohl bei Gelegenheit mal selbst zusammen stricken.

Ja bei den StarterKits der S7-1200er waren diese Simulationskarten dabei. Wobei ich die da schon als unnötig empfunden habe. Mit dem TIA habe ich nur sehr wenig gearbeitet, aber mit anderen Entwicklungsumgebungen war es auch möglich, Eingänge aktiv zu schalten, ohne extra Taster dazwischen zu setzen.

Finde solche Tests jetzt nicht sonderlich sinnvoll. Jedoch kann man sich sowas auch selber bauen mit etwas aufwand. Entweder man ätzt und lötet sich seine Platine selbst. Oder man nimmt ein Protoshield. Einen Schalter zum Umschalten, ob es als Eingang oder als Ausgang genutzt wird. Dann je Ausgang eine Led sowie einen Taster.

Aber was will man da bitte immer testen? Die meisten Sachen werden garnicht erst direkt angesteuert, da es viele Pins schluckt. Siehe I2C Kingbright von Serenfly.

S7-1200 und die entsprechenden Programme kenne ich nicht. Ich habe bisher nur ein wenig S7-200 Microwin benutzt. Damit kann man afaik keine Programme simulieren. Bei der Siemens Logo war ein nettes Simulationsprogramm dabei. Das habe ich gerne verwendet. Allerdings finde ich die Programmierung der Logo sehr umständlich und die Programmgröße ist stark begrenzt.

Ich möchte hier quasi eine Logo, bzw. eine S7-200 durch einen Arduino ersetzen und verwende die IO-Pins nur als digitale Ein- und Ausgänge. Wahrscheinlich könnte man auch weniger IO-Pins und dafür Multiplexer verwenden, aber da ein Arduino Mega schon 54 digitale IO-Pins hat und nicht sehr teuer ist, halte ich das für die einfachere Variante.

Ein Testboard mit 54 Tastern und LEDs will ich natürlich auch nicht aufbauen.
Gibt es vielleicht ein Tool, ähnlich dem seriellen Monitor der Arduino-IDE, mit dem man den Zustand der Ein- und Ausgänge grafisch auf dem PC-Monitor darstellen kann? So etwas beeinflusst den Programmablauf des Arduino natürlich und für besonders schnelle Anwendungen, ist das sicher nix. Für mich würde es aber reichen.

Bleiente:
Gibt es vielleicht ein Tool, ähnlich dem seriellen Monitor der Arduino-IDE, mit dem man den Zustand der Ein- und Ausgänge grafisch auf dem PC-Monitor darstellen kann?

http://www.serialcominstruments.com/instrument.php

Firmata sei vielleicht auch noch genannt:
http://www.firmata.org/wiki/Main_Page

Damit kann man den Arduino komplett fernsteuern, aber man kann auch Daten an den PC senden und dort visualisieren. Da wird beim Arduino oft Processing genommen, aber es gibt Firmata auch für C#, C++, Python, Pascal und einige andere Sprachen.

Da gibt es auch noch openHAB ziemlich coole sache wenn man weiß wie es bedient wird.

Ich habe mir alle drei Vorschläge angesehen. Firmata sah für mich am Einfachsten aus. Ich bin nach dem dazugehörigen Wiki Main Page - Firmata vorgegangen.
Ich habe aus der Arduino IDE heraus das Beispiel für Firmata compiliert und in den Arduino geladen. Dann habe ich den COM-Port im Firmata-Test-Programm gesetzt. Es ist aber nichts passiert. Das Fenster ist einfach leer geblieben und hat kein LEDs, wie sie auf dem Screenshot auf der Wiki-Seite zu sehen sind, angezeigt.

Mir kommt das zugehörige Arduino-Programm "FirmataStandard" auch sehr groß vor. Es werden 15 kb von 24 kb Programmspeicherplatz belegt.
Das kann doch eigentlich nicht richtig sein. Es müssen doch nur ein paar Portbits seriell übertragen werden.