DmxSimple.h klappt irgendwie nicht

Hallo liebes Forum,

ich habe da mal eine Frage und eine Bitte.

Zuvor noch ein par Erklärungen meinerseits:
Ich bin so seit einem halben Jahr mit Arduino und Co am experimentieren und basteln.

Mein Haupthobby ist eigentlich die Modellbahn und somit sind alle meine Basteleien im Endeffekt auch für die Modellbahn gedacht.

Große Programmierkenntnisse habe ich zwar nicht, aber ich kenne halt noch von früher, aus Zeiten des VC20 und des C64, Basic und habe mir daher nun rudimentäre Grundkenntnisse von C selber aneignen müssen.
Ich muss dazu sagen, daß ich keine all zu großen Ansprüche an meine Programmierkenntnisse stelle und mit den einfachen Mitteln, die ich bisher verstehe, soweit auch alles in Bewegung setzen konnte was ich wollte.

Das sind dann meistens bewegte Animationen für die Modellbahn oder Lichteffekte.
Leuchtdioden in den diversesten Mustern zum blinken zu bringen und Servos anzusteuern war zumindest bis jetzt kein Problem.
Die einzige Library die ich daher bis jetzt benutzt habe war daher auch die servo.h.

Um die Programmierung im Ansatz zu verstehen, habe ich auch nie sofort Riesenprojekte angefangen, sondern habe erst immer Demos und Vorschläge ausprobiert.

Nun bin ich aber an einem Punkt angelangt, wo ich einfach nicht mehr weiter weiß, da ich alles so gemacht habe wie es in den Beschreibungen verlangt wird.

Und zwar schaffe ich es nicht die DmxSimple.h ordentlich zu installieren.
Vielleicht habe ich sie soger ordentlich installiert, sie ist aber nur nicht ganz vollständig
Vielleicht sind die angebotenen sketche aber auch nicht ganz vollständig.

Also noch mal von vorne.

Ich lade mir die DmxSimple.h runter.
Dann öffne ich die arduino ino.
Unter: Sketch => Library importieren => Add library… suche ich die den zip-Ordner DmxSimple aus drücke auf ok und angeblich ist nun diese Library nach Neustart der arduino ino installiert.
Wenn ich das nun anklicke erscheint auch der Befehl #include <DmxSimple.h>.
Die Worte sind auch farbig so wie die der anderen Librarys.
Inzwischen hatte ich aber schon etwas gegoogelt und herausgefunden, daß es gar nichts heißen muss wenn die einzelnen Befehle farbig sind.

Wenn ich nun unter Datei => Beispiele => DmxSimple => FadeUp lade und überprüfen will, so kommt folgende Fehlermeldung:

So eine Fehlermeldung habe ich bis dato aber noch nicht gesehen.
Bis jetzt sah so eine Fehlermeldung immer so aus, daß gesagt wurde :
In der und der Zeile ist etwas falsch.

Hier wird nun gesagt, dass in der DmxSimple ein Fehler bzw. etwas etwas falsch sei.
( oder sehe ich das nur falsch ? )

Worum es mir nun nach all dem da oben geschriebenen geht:

Kann das mal jemand von Euch überprüfen ?

Oder hat jemand von Euch ein DMX-Shield in Benutzung
Und hat dieser Jemand auch einen dazu gehörigen funktionierenden Sketch -
den er hier mal einstellen könnte oder mir zumailen könnte ?

Bitte keinen Riesensketch einstellen.
Es reicht wirklich ein kleiner Sketch der nur 2, 3 befehle hat.
Es geht mir erst mal nur darum festzustellen, ob die DmxSimple Library bei mir funktioniert
und ich feststellen kann, daß das DMX-Shield auch wirklich funktioniert.

Mit freundlichen Grüßen
Oliver

Um die Programmierung im Ansatz zu verstehen, habe ich auch nie sofort Riesenprojekte angefangen, sondern habe erst immer Demos und Vorschläge ausprobiert.

Da können sich manche eine Scheibe von abschneiden :wink:

Ist das a.A .... ein Benutzername?

Das Problem ist, dass die Libary zu alt ist.

Teste mal ältere Versionen der IDE

Vorzugsweise fängste mit 0023 an und arbeitest dich durch bis etwa 0013

Das Problem ist, dass die Libary zu alt ist.

Teste mal ältere Versionen der IDE
http://arduino.cc/en/Main/OldSoftwareReleases
Vorzugsweise fängste mit 0023 an und arbeitest dich durch bis etwa 0013

Dass die Bibliothek zu alt ist, stimmt zwar, aber den Rat, ältere Versionen der IDE einzusetzen, kann ich nicht unterstützen.

In der Bibliothek muss in der Datei DmxSimple.cpp die Zeile

#include "wiring.h"

durch

#include "Arduino.h"

ersetzt werden und schon kompiliert die Bibliothek ohne Probleme.

Hallo zusammen,

danke erst mal für Eure Bemühungen,
aber sie haben leidern bis jetzt nichts gebracht.

Das mit den älteren Versionen der IDE habe ich mit 5, 6 aus verschiedenen Zeiten ( Anfang / Mitte / Ende )ausprobiert. Bei manchen gab es auch nix mehr zum runterladen.
Will es damit sein lassen.

Und was das mit dem Ersetzen von wiring gegen Arduino angeht,
so habe ich den Begriff wiring in der Datei DmxSimple.cpp nicht gefunden.

Vielleicht bin ich da auch nur zu Blind und seh den Wald vor lauter Bäumen nicht.

Ich wollte jetzt hier nun nur mitteilen, daß ich das Problem auf andere Art und Weise behoben habe.

Ich nutze einfach die DMX Library von conceptinetics.

Die hat zwar auch nicht auf Anhieb funktioniert, aber den Fehler habe ich gefunden.

Der Verkäufer des DMX Shields hat auf seiner eigenen Seite einen Beispielsketch.
Und da hat er einen Fehler eingebaut.

Die Fehlermeldung sah nämlich anders aus, als wie bei der DmxSimple Library ( nämlich so, wie bei früheren Fehlern auch )

Und da habe ich einfach Verglichen und dann festgestellt, daß diese Tröte bei ein paar Befehlen diese beiden // Striche davor gemacht hat.
Damit waren die Befehle ja nur Erklärungen und wurden somit auch nicht beachtet.

Da die Geschichte damit nun funktioniert werde ich Richtung DmxSimple Library auch nicht mehr weiter experimentieren.

Dafür habe ich jetzt ein ganz anderes Problem:
Um zu sehen was, wann und wie im Programm so abläuft, habe ich an diversesten Stellen Textausgaben via serial.Write eingebaut.
Dummer Weise ist diese serielle Ausgabe nicht mehr möglich, wenn über Pin 1 ( wie beim DMX-Shield ) Daten gehen.

Also weiter suchen.

Na denn

Oliver

PS: "Ist das a.A .... ein Benutzername?" - verstehe da die Bedeutung nicht ! ? !

Und was das mit dem Ersetzen von wiring gegen Arduino angeht,
so habe ich den Begriff wiring in der Datei DmxSimple.cpp nicht gefunden.

Bei mir ist das in Zeile 11.

Um zu sehen was, wann und wie im Programm so abläuft, habe ich an diversesten Stellen Textausgaben via serial.Write eingebaut.
Dummer Weise ist diese serielle Ausgabe nicht mehr möglich, wenn über Pin 1 ( wie beim DMX-Shield ) Daten gehen.

Welches Shield setzt Du denn ein? Ich konnte in Deinem Post keinen Link finden.
Welchen Arduino verwendest Du? Mit einem Leonardo hättest Du die Debugging-Möglichkeit über USB auch dann noch, wenn Du die serielle Schnittstelle anderweitig (z.B. für das Shield) einsetzt.

Glück Auf zusammen,

Bei mir ist das in Zeile 11.

sehe ich nun auch.
Entweder liegt es am anderen Rechner oder ich war blind ( glaube eher an Letzteres )

Bringt mir mit meinem gefährlichen Halbwissen aber auch nichts, denn:
Nur bei der entzipten .cpp-Datei lässt es sich ändern und speichern.
Die Entpackte wiederum nimmt nun entweder IDE nicht an, oder sie nimmt sie doch an ( wurde drüber gebügelt ) und es funktioniert trotzdem nicht.

Ich werde da doch noch mal weitere Versuche machen und noch mal alles löschen.
Aber nicht mehr heute !

Mit einem Leonardo hättest Du die Debugging-Möglichkeit über USB auch dann noch, wenn Du die serielle Schnittstelle anderweitig (z.B. für das Shield) einsetzt.

Das habe ich schon gewusst.
Ich hatte folgendes gefunden:
On the Leonardo and Micro, the main Serial class refers to the virtual serial driver on the board for connection to your computer over USB. It's not connected to the physical pins 0 and 1 as it is on the Uno and earlier boards. To use the hardware serial port (pins 0 and 1, RX and TX), use Serial1.
Was ich in etwa so interpretiert habe:
Der Befehl Serial wird nur für die Verbindung zum Rechner genutzt. Da geht nix an die Pins 0 und 1. Dafür gibt es den Befehl Serial1.

Darauf hin habe ich das natürlich mit einem Leonardo versucht.
Aber da funktioniert die Kompilierung nicht.

( Ich habe im übrigen mehrere Boards, Uno / Leonardo / Micro / Mega )

Ich habe natürlich nicht vergessen in der IDE auch einen Leonardo als Board auszuwählen.
Ich habe erst gedacht, der Befehl serial(9600) der im Sketch vorkommt, beisst sich mit der Library von Conceptinetics.
Neee, sobald schon die Library von Conceptinetics alleine im Sketch vorkommt, funktioniert die Kompilierung nicht mehr beim Leonardo. Die Library von Conceptinetics funktioniert anscheinend nur mit dem UNO und dem MEGA.

Daher schrieb ich auch:

Also weiter suchen.

Bis denne

Oliver

Bringt mir mit meinem gefährlichen Halbwissen aber auch nichts, denn:
Nur bei der entzipten .cpp-Datei lässt es sich ändern und speichern.
Die Entpackte wiederum nimmt nun entweder IDE nicht an, oder sie nimmt sie doch an ( wurde drüber gebügelt ) und es funktioniert trotzdem nicht.

Wenn Du die Import-Funktion verwenden willst, dann wäre es vielleicht ratsam, wenn Du die ZIP-Datei entpackst, die Änderung machst und dann wieder neu einpackst.

Darauf hin habe ich das natürlich mit einem Leonardo versucht.
Aber da funktioniert die Kompilierung nicht.

Natürlich nicht, Du musst die entsprechenden Serial-Objekte durch Serial1-Objekte ersetzen.

Ich habe erst gedacht, der Befehl serial(9600) der im Sketch vorkommt, beisst sich mit der Library von Conceptinetics.

Wo ist der Link zu dieser Library?

Glück Auf !

Wenn Du die Import-Funktion verwenden willst, dann wäre es vielleicht ratsam, wenn Du die ZIP-Datei entpackst, die Änderung machst und dann wieder neu einpackst.

Ooch, manchmal sieht man den Wald vor lauter Bäumen nicht:
Ich habe die Änderung einfach im Arduino-Ordner vorgenommen.
Jetzt kommt beim Kompilieren keine Fehlermeldung mehr.

Nur ausprobieren kann ich's gerade nicht, da ich das DMX Shield am Wochenende in meiner Werkstatt liegen gelassen hab.

Natürlich nicht, Du musst die entsprechenden Serial-Objekte durch Serial1-Objekte ersetzen.

Wirklich ? Auf der Arduino Seite fand ich doch Folgendes:

On the Leonardo and Micro, the main Serial class refers to the virtual serial driver on the board for connection to your computer over USB. It's not connected to the physical pins 0 and 1 as it is on the Uno and earlier boards. To use the hardware serial port (pins 0 and 1, RX and TX), use Serial1.

Also ich übersetze den Text oben in etwa so, daß serial zur Übermittlung per USB gennutzt wird und eben Serial1 auf die Pins 0 und 1 geht.

Wo ist der Link zu dieser Library?

Hier: DMX Library for Arduino download | SourceForge.net

MFG
Oliver

Wirklich ? Auf der Arduino Seite fand ich doch Folgendes:

On the Leonardo and Micro, the main Serial class refers to the virtual serial driver on the board for connection to your computer over USB. It's not connected to the physical pins 0 and 1 as it is on the Uno and earlier boards. To use the hardware serial port (pins 0 and 1, RX and TX), use Serial1.

Also ich übersetze den Text oben in etwa so, daß serial zur Übermittlung per USB gennutzt wird und eben Serial1 auf die Pins 0 und 1 geht.

Ja, genau. Aber dort dürfte die DMX Hardware ja auch angeschlossen sein. Natürlich müssen die Debug-Meldungen auf Serial verbleiben.

Hier: DMX Library for Arduino download | SourceForge.net

Was machst Du denn mit der? Wenn Du DmxSimple aufgegeben hast, solltest Du das vielleicht auch dem Forum mitteilen.

Glück auf,

muss vorher noch sagen, daß es bei mir manchmal ein paar Tage dauern kann bis ich mich wieder melde, da ich zum einen nicht so gerne tippe und ich immer sehr lange brauche um solche Texte hier in den Rechner zu prügeln.

Zum anderen befinde ich mich momentan im Umzug und werde mich bestimmt erst wieder nächste Woche um dieses Thema kümmern können.

An Pylon:
Des weiteren verwundere ich mich ob der Antwort, die ich von Dir hier nun so erfahren habe. Ich bin nun noch nicht lange in diesem Forum aktiv und kenne natürlich nicht die Besonderheiten eben dieses Solchen.

Aber ich meine in Fred#3 zuvor doch erklärt zu haben, daß ich mich erst mal der Library von Conceptinetics zuwenden wollte, da die DMX.simple ja bei mir nicht funktionierte.
Und Du hast ja expliziet danach gefragt.

An Pylon und den Rest :
Ich habe nun am Wochenende mir das DMX Shield wieder zurück geholt.
Mit der modifizierten Library lässt sich der Sketch zwar nun kompilieren, aber nach dem Upload funktioniert die Geschichte dann aber doch nicht. ( Es flackert wie wild / anscheinend werden die Daten nicht richtig oder über den falschen Pin übertragen )

Kann es sein, daß die Jumper auf dem Board anders gesetzt werden müssen ?
Ich meine mal in irgend einem Forum gelesen zu haben, wo jemand genau so etwas gefragt hatte und auch die entsprechende Antwort bekam. Nur finde ich diesen Eintrag jetzt nicht mehr.
Ich benutze folgenden DMX Shield von dvandermeeren:
http://www.ebay.de/itm/330927225562?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Erst mal Danke an alle für ihre Bemühungen.
Ich werde in den nächsten Tagen warscheinlich nur ein bißchen lesen und nicht schreiben können.

Oliver

Aber ich meine in Fred#3 zuvor doch erklärt zu haben, daß ich mich erst mal der Library von Conceptinetics zuwenden wollte, da die DMX.simple ja bei mir nicht funktionierte.
Und Du hast ja expliziet danach gefragt.

Das habe ich falsch verstanden, ich dachte, dass Du beide zugleich einsetzen willst.

Kann es sein, daß die Jumper auf dem Board anders gesetzt werden müssen ?

Ja, das kann sein, denn die Boards können sowohl als Hardware-Serial als auch als Software-Emulation gejumpert werden. Die Jumper müssten wahrscheinlich in Deinem Fall (Leonardo) auf Hardware (UART) sein. Kannst Du den Sketch posten, mit dem Du testest (Code-Tags nicht vergessen!)?

Ist bei Deinem Shield R2 auch nicht bestückt, wie das auf dem Ebay-Bild ersichtlich ist?