Steuerung des Arduino via Excel (VBA) möglich?

Hallo,

steht ja alles im Prinzip schon in der Überschrift: kann ich den Arduino auch via Excel (mittels VBA) steuern? Das ist mir nämlich geläufiger als die Sprache C.

hi,

prinzipell kein problem, aber Du brauchst eine actveX-komponente(dll), die den serial port bedienen kann. mir ist keine bekannt, die auf standard-installationen vorhanden ist. mit dem visual studio wir eine mitinstalliert, aber die ist nicht auf andere rechner portierbar. wäre selbst neugierig, ob's da was gibt, das man von "außen", also z.b. von ecxel steuern kann.

gruß stefan

Arduino kann über die serielle Schnittstelle (USB) gesteuert werden (Bibliothek Firmata.h). Das ist dann aber immer nur eine Fernsteuerung und die Kommandos kommen vom PC. Ich finde das aber nur sinnvoll wenn man mehr Rechenpower bzw Speicher braucht als Arduino bereitstellt.

Für die Standartanwendungen ist es nicht sinnvoll.
Die beste Lösung ist daß Du C lernst.

Grüße Uwe

Hmm... in der Regel "schreibt" man das Programm und "schickt" es ans Board, wo es dann ausgeführt wird.

Ich möchte die Steuerung aber über eine Oberfläche realisieren, auf der ein "Start" Button ist und wenn man den drückt "passiert etwas".

Mir ist nur noch nicht ganz klar womit ich das realisieren kann?

Als beispiel mal eine vereinfachte darstellung dessen was ich möchte. Die Parameter möchte ich ändern und dann durch drücken von Start das ganze ausführen.

beispiel.jpg

hi nochmal,

hab' jetzt selbst noch gesucht. beim vb-studio ist die MSComm32 dabei. als freier ersatz wird oft XMComm von richard grier genannt.
http://home.comcast.net/~hardandsoftware/xmcomm.htm
ob Du dann firmata verwendest oder einen einen selbstgeschriebenen kleinen lauscher auf den arduino lädst, ist geschmackssache.

gruß stefan

hat sich jetzt überschnitten.

Mir ist nur noch nicht ganz klar womit ich das realisieren kann?

Du brauchst auf jeden fall ein programm auf dem arduino, das die befehle die Du schickst, dann umsetzt.

Du kannst nicht direkt einen befehl (z.b. setze PIN 1 auf HIGH) vom pc an den pin schicken, sondern Du kannst einen befehl vom pc an das programm schicken, das auf dem arduino läuft.

wie weit firmata das möglich macht oder vereinfacht, weiß ich nicht. da mußt Du Dich ein bißchen einlesen.

gruß stefan

uwefed:
Die beste Lösung ist daß Du C lernst.

Die Befehle zur Steuerung des Borads würde ich ja noch hinbekommen, aber mit C dann gleich eine ganze Oberfläche zu Programmieren stelle ich mir dan doch etwas erschwerter vor. Gibt es nich schon irgendein "Oberflächendesigner" bei dem man nur bestimmte Parameter vorgeben muss?

hi,

Gibt es nich schon irgendein "Oberflächendesigner" bei dem man nur bestimmte Parameter vorgeben muss?

sicher, kommt nur darauf an, womit Du wie steuern willst. android, iphone, web, touchscreen direkt am arduino usw..

aber wenn Du sowieso immer mit einem pc dranhängst, ist Deine lösung sicher nicht die schlechteste. vor allem, wenn Du mit VBA schon vertraut bist...

gruß stefan

Eisebaer:
aber wenn Du sowieso immer mit einem pc dranhängst, ist Deine lösung sicher nicht die schlechteste. vor allem, wenn Du mit VBA schon vertraut bist...

Von welcher Lösung sprichst du? Hab ich was überlesen? Ich bin doch gerade auf der Suche nach einer Lösung...

Extra einen PC hinzustellen finde ich etwas übertrieben. Das Ganze lässt sich doch wunderbar mit einem 4zeiligen LCD und ein paar Tastern erledigen, einschl. Speicherung der Parameter im Eeprom usw..

hi,

Von welcher Lösung sprichst du? Hab ich was überlesen? Ich bin doch gerade auf der Suche nach einer Lösung...

von VBA, XMComm, und firmata bzw. etwas selbsgeschriebenem für den arduino...
fehlt doch nichts mehr in der werkzeugkette, oder?

gruß stefan

Das sind doch "noch" alles Bömische Dörfer für mich... :blush:

In dem Buch von Erik Bartmann gibt es ein Projekt, bei dem er eine Arduino Oberfläche mit C# programmiert, deren Befehle dann vom Arduino umgesetzt werden (PINs ansteuern etc.). Vielleicht wäre das ja für Dich interessant?

Ja auf jeden Fall. Meinst du dieses hier: O'Reillys basics : Die elektronische Welt mit Arduino entdecken von Erik Bartmann Ausgabe 1 (2011) von Erik Bartmann (1001)

So, das Buch ist bestellt. Ich hoffe ich muss mir jetzt noch noch extra für tausende von Euros einen C-Compiler kaufen???
Gibt es C schon for free oder als open source? Oder muss ich das auch kaufen?

Du solltest Dich etwas in die Materie einlesen.
Arduino IDE bringt bereits den C Compiler mit. Das gleiche gilt füt Processing. Beiders CC-Lizenz und gratis

Grüße Uwe

Ja richtig, aber wie soll ich mit der "Arduino-Software" eine Oberfläche "programmieren" (wie in Post '4 gezeigt)?

Ich schätze mal mit demhier kann ich arbeiten? Visual C# 2010 Express - Download - CHIP

Visual C++ Express gibts bspw. kostenlos. Wenn du Programmiereinsteiger bist, stehen dir aber alle Möglichkeiten offen. Leicht zu lernen und für schnelle, sichtbare Erfolge ist bspw Processing geeignet. Die Ähnlichkeit zur Arduino-IDE ist unübersehbar: http://www.processing.org/learning/gettingstarted/
Eine recht aktive und hilfsbereite Community bekommst du auch bei PureBasic, eine Testversion mit 600 Zeilen Programmbegrenzung bekommst du auch kostenlos: PureBasic - Eine mächtige BASIC Programmiersprache

Alos ich möchte so einfach wie möglich eine "Oberfläche" realisieren um die vorgegebenen Parameter abändern zu können ohne jedesmal in dem Quellcode direkt die Angaben zu ändern. Wenn es da schon etwas gibt wo ich z.B. schon "vorgefertigte" Elemente habe die ich "nur" auf ein "Deshboard" ziehen muss und dann angebe welcher Parameter zu welchem "Eingabefeld" gehärt währe das natürlich einfacher als alles von A bis Z selber in C/C++/C# oder was auch immer programmieren zu müssen.

In Excel z.B. kann ich ja sogenannte "Kombinationsfelder", "Listenfelder" u.s.w. verwenden und diesen dann einen VBA-Code zuweisen.

So ähnlich währ das schön für mein Projekt...

Evtl. schaust Du auch mal nach Qt. Das ist kostenlos und plattformübergreifend und relativ einfach zu programmieren.