Go Down

Topic: Zusatzplatine mit 4x4-Leucht-Tastern für Arduino-Neueinsteiger (Read 784 times) previous topic - next topic

Miron_W

Hallo zusammen,

nach einer längeren Pause, habe ich eine neue Platine entwickelt.
Diesmal habe ich eure Verbesserungsvorschläge berücksichtigt.
Dank der Verwendung des MCP23017 werden jetzt nur noch vier Kabel benötigt:
+5V, GND, SDA und SCL. Das vereinfacht die Verdrahtung ungemein. Siehe Foto.

Falls jemand Interesse hat mit so einer Zusatzplatine zu experimentieren,
dann kann er sie in eBay-Kleinanzeigen bei mir erwerben:

https://www.ebay-kleinanzeigen.de/s-anzeige/4x4-leucht-taster-zusatzplatine-fuer-arduino-neueinsteiger/1182164929-226-944

In Youtube kann man auch ein Demo sehen, wie das ganze in Betrieb aussieht:

https://youtu.be/DqNJi0F_67Y

Ich werde nach und nach die anderen Demos auch für diese neue Platine umschreiben.

Für Verbesserungsvorschläge bin ich weiterhin offen.

Euer Remigius Miron

Deltaflyer

Hallo Remigius Miron,

sieht hübsch aus. Wofür kann ich das einsetzen? Oder anders gefragt, was kann ich damit machen?

LG Stefan

Miron_W

Hallo Stefan,

danke für das Interesse an meiner Zusatzplatine.

Ich habe mich schon immer für die verwendeten Leuchtkappen begeistert.
Bei dem aktuellen Produkt werden 16 dieser Leuchtkappen verwendet.
Unter jeder Leuchtkappe befindet sich ein Microtaster und zwei parallel geschaltete Leuchtdioden.
Der große Vorteil ist: Man hat Taster, die gleichzeitig leuchten können.
Man kann auf diese Weise viele kleine Spiele programmieren und auf diese Weise auf spielerische Weise das Programmieren der Programmiersprache C++ erlernen.

Auf meinem Youtube-Kanal sind aktuell 5 Demos zu sehen:

https://www.youtube.com/channel/UCz3gG5HYrvJiZr-edAK8zOg

Ich denke diese Beispiele veranschaulichen sehr gut, was man damit machen kann.

In Demo1 bis Demo4 ist noch meine alte Platine zu sehen, wo 18 Kabel benötigt wurden.

In Demo5 ist die neue Platine zu sehen, die nur noch vier Kabel benötigt.

In meiner eBay-Kleinanzeige sieht man auch Fotos mit mehr Details zur Hardware.

Gruß,
Remigius Miron

uwefed

Ich vermisse Arduinoüblich Schaltplan und eine Funktionsbeschreibung mitsamt Demosketche und Ansteuerung der Port Expander.

Möchte mal die anderen User fragen ob dieser Beitrag als legitimes Aufzeigen seines Projektes oder als unerwünschte Werbung angesehen wird.
Grüße Uwe

Klaus_ww

Stört mich auch nicht, aber Demosketch und Plan sollte wie Uwe schon sagte hier veröffentlicht werden.
Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

postmaster-ino

Hi

Schließe mich noiasca an - wobei mir wurscht ist, ob Er nur die Überproduktion los werden will oder gar einen Euro an dem Ganzen irgendwo hängen bleibt (was natürlich für die Steuer blöd wäre).
Denke, mit 25€ für den ganzen Aufbau dürfte man nicht zu Teuer dabei sein (wobei der kopierende Chinese auf <22 runter muß ... sonst kommt Das nicht über den Zoll ...)

Also meinen Segen hat Er, zum 'Spielen' finde ich das Ding eigentlich bisher ganz gelungen.
Beispiel-Sketch & Schaltplan/Schema würden das Ganze abrunden - mindestens der Sketch sollte dem Käufer für erste Schritte übergeben werden, damit Der keine Tage braucht, bis die erste LED leuchtet oder der erste Taster korrekt erkannt und verarbeitet wird.
Spätestens dadurch dürften sich die 'Verbindungen auf der Platine' ableiten lassen - womit ein Schaltplan auch nicht mehr wirklich geheim wäre - wieder zwei Tage eingespart, wenn's Diesen direkt dabei gibt.

Eine durchaus gelungene Arbeit.

MfG

gregorss

Ich vermisse Arduinoüblich Schaltplan und eine Funktionsbeschreibung mitsamt Demosketche und Ansteuerung der Port Expander.
Ich auch.

Möchte mal die anderen User fragen ob dieser Beitrag als legitimes Aufzeigen seines Projektes oder als unerwünschte Werbung angesehen wird.
Gut, dass Du fragst. Ich hatte überlegt, Dich zu fragen, ob Du diesen Thread sperren könntest. Mich nervt sowas eigentlich nur, weil es nicht als Reklame gekennzeichnet ist. In einer moderierten Gruppe im Usenet ginge das nicht durch.

Aber man kann das unterschiedlich sehen. Mal weiterlesen ...

Gruß

Gregor
„Ich glaube, ich leg' mich noch mal hin", sagte das Bit.

Miron_W

Hallo zusammen,

vielen Dank für das Interesse an meiner Zusatzplatine.

Da ich noch zu wenig Erfahrung mit Internet-Plattformen habe,
weiß ich noch nicht welche Plattform die richtige für mein Projekt ist.
Mir war auch nicht bewusst, dass mein Beitrag als unerwünschte Werbung betrachtet werden könnte.
Ich möchte lediglich dazu beitragen, dass sich noch mehr Leute für die Programmierung eines Arduino Boards begeistern. Und ihnen ein Hilfsmittel zur Verfügung stellen, wie man die Programmiersprache auf spielerische Weise erlernen kann. Ich spreche also gezielt Neueinsteiger an, um ihnen den Einstieg zu vereinfachen.
Zumindest hat es mir sehr geholfen die Programmiersprache wieder schnell aufzufrischen.
Vor allem mein Demo "Whisker Issue" war eine richtige Herausforderung und spannende Aufgabe zugleich.

Selbstverständlich stelle ich hier gerne alle gewünschten Informationen zur Verfügung.
Der Schaltplan ist kein Geheimnis. Und auch meine Demo-Sketche werde ich Käufern zur Verfügung stellen.
Darauf habe ich aber auch schon in meiner eBay-Kleinanzeige hingewiesen. Zumindest auf die Sketche.

Schaltplan und Demo-Sketch habe ich soeben hier an meinen Beitrag angehängt.

Wie erwähnt werde ich die anderen Demos in den nächsten Tagen auch auf diese neue Platine umschreiben.

Eine Beschreibung kann ich selbstverständlich auch noch erstellen, aber kompliziert ist das Ganze nicht.
Es sind doch im Grunde nur 16 Taster, die beleuchtet werden können.

Weitere Demos sind in Arbeit:

Code-Schloss, programmierbares Lauflicht, programmierbares Blinklicht, Zufallsmuster,
Catch the cat (Fang ein Lauflicht), Memory for Nerds, ... Der Kreativität sind keine Grenzen gesetzt.

Gruß,
Remigius Miron

Deltaflyer

Hallo Remigius Miron,

langsam wird klarer, was diese Zusatzplatine macht, oder wofür sie zu gebrauchen ist.
ABER: Zu einem Gerät oder Modul das in den Verkauf kommt, gehört nunmal eine Dokumentation und diese sollte möglichst aus mehr als ein paar YouTube-Links bestehen.

Ich finde, das trifft ganz besonders dann zu, wenn ein Gerät oder Modul als "für Neueinsteiger" beworben wird.
Ich habe nichts dagegen, wenn Du diese Zusatzplatine zum Verkauf anbietest, jedoch solltest Du Dir bei der Dokumentation dazu mindestens genauso viel Mühe geben, wie Du es beim Entwickeln der Platine getan hast.

LG Stefan

p.S, ich finde Dein Projekt sehr interessant und es gefällt mir auch sehr gut. Melde Dich bitte, wenn Du die Dokumentation und Beispiele fertig hast.

gregorss

Eine Beschreibung kann ich selbstverständlich auch noch erstellen, aber kompliziert ist das Ganze nicht.
Es sind doch im Grunde nur 16 Taster, die beleuchtet werden können.
Es ist vollkommen egal, wie einfach es ist. Dokumentation ist sehr viel wichtiger, als die meisten Leute denken.

Gute Dokumentation zu machen ist nicht leicht und es hat eigentlich keiner Lust drauf - schon gar nicht Leute, die lieber entwickeln. Deshalb gibt es ja so viel schlechte Doku (die allerdings immer noch besser ist als gar keine). Und deshalb gibt es auch Leute, die für das Schreiben von Doku Geld bekommen.

Mich nervt seit Jahren, dass es zwar viele Leute gibt, die ihren Namen gerne in irgendeiner „Credits-Liste" lesen möchten und deshalb möglicherweise sehr gutes Zeug programmieren, es aber nicht die Bohne dokumentieren. Das ist meiner Erfahrung nach ein riesiges Problem, u. A. weil es ohne richtige, verständliche und umfassende Doku halt einfach nicht möglich ist, die Dinge ganz zu verstehen und bis ins letzte Detail zu nutzen (oder notfalls zu reparieren).

Gruß

Gregor
„Ich glaube, ich leg' mich noch mal hin", sagte das Bit.

Rintin

Da inzwischen der Schaltplan oben angehängt ist gleich mal meine 1. Frage:

Wozu dienen die 10k Widerstände parallel zu den Tastern?

postmaster-ino

Hi

Warum hast Du die Pin-Definitionen nicht auf const gesetzt bzw warum hast Du Das bei den Arrays dann unterlassen?
Weshalb (überall?) int?
Bei den Zeiten sind so zumindest 32,batsch Sekunden möglich (bei unsigned wären Es zumindest 65 Sekunden - und negative Wartezeiten wünscht man sich zwar, realisierbar sind Sie aber eher weniger oft).
Ggf. die Zählung der Buttons auch bei Null beginnen, wie auch die Benennung der Lichtpunkt-Arrays.
Lightpath1[] gehört zu Buttonnummer 1, die dort eingetragenen LEDs fangen bei Null an.
Also Dinge, Die Dir und mir durchaus klar sind, dürften hier einen Anfänger durchaus einige Frust-Momente bescheren - die Gefahr ist zumindest vorhanden.

i und j sind namenlose Variablen - i scheint Dein Schleifenläufer zu sein, j wird nur in der ReadButton zum blockieren benutzt - DAS hätte hier auch i übernehmen können.
Umbasteln auf blockadefrei, dafür würde Es fast schon reichen, wenn readButton als Rückgabewert zurück gibt, ob eine neue Taste erkannt wurde.
Die Abläufe in den Lauflicht-Schleifen müssten dann ebenfalls extrahiert werden.
SO, wie das Beispiel gerade steht, ist's wirklich nur eine schöne Spielerei, aber Nichts, was man so in Seinen Sketch einbinden kann, da der ganze Kram nur weiter rennt, wenn man einen Knopf drückt und dann auch nur eine einzige Runde, bis der nächste Knopf erwartet wird.

Hier ähnelt Dein Beispiel leider zu sehr den ganzen Beispielen des Arduino-Universum:
Die und die Funktion klappt ungefähr so ... dafür aber mit delay() und was weiß ich sonst noch, daß man damit im RealLive rein gar Nichts anfangen kann.

Möchte hier Deine Arbeit nicht schmälern, als Konzept gut, die Demos sehen nach MEEEHHRR aus, aber bis hier sind's leider nur die Demos, Die damit gut laufen.

Trotzdem: Gefällt

MfG

PS: Eine Dokumentation, Die - zumindest mir - sehr positiv aufgefallen ist, liegt den MoBaTools bei - hier aus dem Forum vom User microbahner.

Miron_W

Hallo zusammen,

danke für die vielen konstruktiven Verbesserungsvorschläge und manch lobenden Worte!

Gerne werde ich eine ausführliche Dokumentation nachliefern, wenn das von so vielen gewünscht wird.
Ich konnte ja nicht ahnen, das meine Zusatzplatine auf so viel Zuspruch stößt.
Im schlimmsten Fall hätte ich eine aufwändige Dokumentation gemacht und keiner würde sich für mein Projekt interessieren.
Da das Gegenteil der Fall ist, werde ich eine ausführliche Dokumentation nachholen.
Das werde ich aber vor Weihnachten wahrscheinlich nicht mehr schaffen.
Gerne werde ich das im Januar nachholen, auch die weiteren Demo-Programme.

Aber manche Fragen kann ich jetzt schon beantworten:

1) Die 10 kOhm Widerstände stehen zwar im Schaltplan, die habe ich aber nicht bestückt.
Ich dachte nur falls an der Stelle hochohmige Widerstände oder Keramikkondensatoren von Nöten wären,
könnte ich die nachträglich einsetzen. Hauptsache die dafür nötigen Platzhalter sind schon auf der Platine vorhanden. Wenn ich alle Demos programmiert und getestet habe, werde ich ja sehen, ob tatsächlich für jeden Anwendungsfall keine Zusatzbauteile parallel zu den Tastern erforderlich sind.

2) Zu meinem angehängten Sketch: Sicherlich kann man das Programm noch optimieren.
Mir gings aber in erster Linie darum, mir einfache Demos auszudenken,
die die Möglichkeiten meiner neuen Hardware veranschaulichen.
Ich hatte also eine Idee für ein Demo und war froh wenn ich eine Lösung dafür gefunden habe.
Hardware ist meine Stärke. Programmieren noch nicht.
Da die Hardware nun fertig ist, freue ich mich jetzt auf das reine Programmieren.

Gruß,
Remigius Miron






uwefed

Noch einige Fehler in Deinem Schaltplan.
Man darf keine 2 LED paralellschalten  und mit einem einzigen Vorwiderstand betreiben. Man darf das machen wenn die LED speziell ausgesucht wurden und zusammenpassende verwendet werden. Zusammenpassende ist gemeint daß sie im Arbeitspunkt (gewählter Strom) die gleiche Durchlaßspannung bzw eine so wenig abweichende sich einstellt, daß der Strom sich so aufteilt, daß keine der 2 LED zuviel abbekommt.
Ansonsten 2 Vorwiderstände oder wenn möglich die beiden LED in Reihe.
Außerdem fehlen mir die 0,1µF Kondensatorena an den ICs, Pullupwiderstände an SDA bzw SCL (schön wären abschaltbare via Jumper) und Einstellung der I2C Adresse. Ok A0 kann fix beschaltet sein; A1 und A2 könnten frei wählbar gemacht werden. So könnte man 4 solcher Platinen gleichzeitig betreiben.
INTA und INTB des Expanders, an denen die Taster hängen könnten auch herausgeführt werden unf falls gewünscht verwendet werden.

Grüße Uwe

Miron_W

Hallo zusammen,

ich habe in den letzten Tagen bis spät in die Nacht gearbeitet und die Dokumentation doch jetzt schon abgeschlossen. Siehe Anhang. Ich hoffe das mein Projekt darin ausreichend beschrieben ist. Falls jemand was vermisst, dann einfach Bescheid sagen.

Hallo Uwe,

inzwischen habe ich den Vorwiderstand der LEDs auf 180 Ohm erhöht, weil es ansonsten zu einem Problem mit der Ptot (maximale Verlustleistung des ICs) kommen könnte. Jetzt ist der Strom durch die LEDs nur noch 4.5 mA. Das habe ich auch in meiner Dokumentation ausführlich beschrieben.
Ich kann mir nicht vorstellen, dass bei einem so kleinen Strom eine der LEDs zu viel abbekommen könnte.
Ich denke, dass die Parallelschaltung von LEDs nur dann ein Problem werden kann, wenn die LEDs an ihrer Belastungsgrenze betrieben werden. Mit meinen 4.5 mA bin ich sicherlich davon weit genug davon entfernt.

Ansonsten werde ich deine Verbesserungsvorschläge gerne in meine nächste Version einpflegen.
An eine beliebige Einstellung der I²C -Adresse habe ich auch schon gedacht.

Aber ich denke, dass man mit meiner Platine auch jetzt schon viel anfangen kann.
So habe ich zwei weitere Demos fertiggestellt und nach Youtube hochgeladen:

Testprogramm für die Inbetriebnahme: Demo „Painting": https://youtu.be/MW0mDeHvdPU

Beispielprogramm (Demo): „Whisker Issue": https://youtu.be/PvH_GfCIabg

Go Up