Forum: Mikrocontroller und Digitale Elektronik Arduino Processing


von 12V DC (Gast)


Lesenswert?

Ich habe eine Frage zu dem Tutorial: 
http://www.arduino-tutorial.de/2010/06/serielle-kommunikation/
Meine Fragen:
1.) Wird der Arduino Code dort um die LED-Steuerung erweitert? -Ich 
wüsste nicht, wie man zwei Programme aufs Arduino laden soll.
2.)Ist der Processing Code ein ganz normaler C-Code? Oder ist Processing 
eine eigene Programmiersprache und wie funktioniert die?

Gruß 12V

von Karl H. (kbuchegg)


Lesenswert?

12V DC schrieb:
> Ich habe eine Frage zu dem Tutorial:
> http://www.arduino-tutorial.de/2010/06/serielle-kommunikation/
> Meine Fragen:
> 1.) Wird der Arduino Code dort um die LED-Steuerung erweitert? -Ich
> wüsste nicht, wie man zwei Programme aufs Arduino laden soll.

Ja wird erweitert.
Das ist durchaus üblich, wenn man etwas komplexeres erklären möchte. 
Zunächst stellt man ein einfacheres Programm vor, bei dem einzelne 
Teilaspekte nicht berücksichtigt sind und bespricht erst mal den Teil. 
So kann sich der Lernende erst mal auf bestimmte Dinge konzentrieren 
ohne gleich von der vollen Komplexität erschlagen zu werden.
Ist dann der erste Teilaspekt soweit erledigt und nach Meinung des 
Autors ausreichend abgehandelt, dann baut er in sein bisheriges Gerüst 
weitere fehlende Teile ein, die er dann bespricht, wobei er sich dann 
wiederrum nur auf diese Erweiterungen konzentrieren muss, denn den Rest 
hat er ja schon erklärt und der Leser hoffentlich auch verstanden.


Und wenn du den Code studiert hättest, dann wäre dir aufgefallen, dass 
das jeweils 2.te angegebene Programm, codemässig eine Erweiterung des 
jeweils ersten ist. Soll heißen: der Code aus dem jeweils ersten 
Programm findet sich im jeweils 2.ten Programm wieder.

(Genau deswegen hab ich keine Freude mit online Tutorien. Die Gefahr ist 
groß, dass der Lernende einfach Copy&Paste macht und dabei denkt, er 
hätte was gelernt)


> 2.)Ist der Processing Code ein ganz normaler C-Code? Oder ist Processing
> eine eigene Programmiersprache und wie funktioniert die?

Ist ganz normales C.
Eingebettet in ein Framework.

D.h. es gibt da vorstellungsmässig ein Hauptprogramm, welches du aber 
nicht selber schreibst. Dieses Hauptprogramm gibt einen Ablauf vor und 
definiert auch, dass es für verschiedene Zwecke vereinbarte Funktionen 
aufrufen wird.
Diesen Teil kriegst du vom Processing-Framework mehr oder wenig 
vorgesetzt und aufs Auge gedrückt. Du kannst dann in diese vorgesehenen 
Funktionen noch deinen Code reinsetzen, so wie du ihn für deine Zwecke 
brauchst.

: Bearbeitet durch User
von 12V DC (Gast)


Lesenswert?

Wenn es reines C wäre, dann gäbe es dort die Funktion
1
import processing.serial.*;
 nicht, oder irre ich mich da?

von Karl H. (kbuchegg)


Lesenswert?

12V DC schrieb:
> Wenn es reines C wäre, dann gäbe es dort die Funktion
1
import 
2
> processing.serial.*;
 nicht, oder irre ich mich da?

Nein, du irrst nicht.

von PittyJ (Gast)


Lesenswert?

Das ist kein C, sondern C++.

Die ganzen Klassen, Vererbungen etc funktionieren prima.

von chris_ (Gast)


Lesenswert?

> Das ist kein C, sondern C++.
Du könntest mal im Netz suchen, welche Programmiersprache das oben 
genannte Statement erlaubt:
> import processing.serial.*;

von 12V DC (Gast)


Lesenswert?

Sieht mir sehr nach Java oder Arduino-Script aus, aber ich bin mir nicht 
ganz sicher.

PittyJ schrieb:
> Das ist kein C, sondern C++.
>
> Die ganzen Klassen, Vererbungen etc funktionieren prima.

Ich bezweifle das das C++ ist, denn da gibt es diesen Befehl(meines 
Wissens) nicht.

von Thomas L. (thomas_hx)


Lesenswert?

Setzen, 6!
Und zwar alle.

Bei dem Tutorial geht es um die Komunikation zwischen dem Arduino und 
einem PC.

Teil 1 ist in C++ und läuft auf dem Arduino.

Teil 2 ist in Processing und landet als Javaprogramm auf dem PC.

Es handelt sich um zwei verschiedene Programmiersprachen und 
Entwicklungssysteme.
Die IDE für den Arduino wurde aus der Processing IDE entwickelt, daher 
sehen sich die Oberflächen so ähnlich.

von 12V DC (Gast)


Lesenswert?

1.) Der erdste und der letzzte Teil ist kein C++ sindern "Arduzino 
Script"
2.) Es geht um den mittleren Teil, und der sieht mir sehr nach Java aus. 
Könnte man den Teil auch in C/C++ schreiben?

von pansen (Gast)


Lesenswert?

Da scheint es ein paar Missverständnisse geben.

1.) Arduino
wird in C Programmiert. Um die Programmierung zu vereinfachen, kann 
die Adruino lib benutzt werden (mal stark vereinfacht ausgedrückt).

"Can I program the Arduino board in C?
In fact, you already are; the Arduino language is merely a set of C/C++ 
functions that can be called from your code."

http://arduino.cc/en/Main/FAQ


2.) Processing.
wird in einer Java ähnlichen Sprache 'processing' programmiert. Daraus 
wird java genieriert (und compiliert)

"Processing code is converted to straight Java code"

http://wiki.processing.org/w/FAQ#Why_Java.3F_Or_why_such_a_Java-esque_programming_language.3F


Nur weil beide IDEs in Java Programmiert sind (da Adruino IDE von 
Processing IDE geforkt wurde) sind die Programmiersprachen lange nicht 
die selben.

von pansen (Gast)


Lesenswert?

ach, und noch zu dem Ausgangsproblem.

Das Arduino Progamm läuft immer auf dem mC
Das Prozessing Programm läuft immer auf dem Computer

D.h. man kann beide tatsächlich gleichzeitig laufen lassen ;)

von Thomas L. (thomas_hx)


Lesenswert?

pansen schrieb:
> ach, und noch zu dem Ausgangsproblem.
>
> Das Arduino Progamm läuft immer auf dem mC
> Das Prozessing Programm läuft immer auf dem Computer
>
> D.h. man kann beide tatsächlich gleichzeitig laufen lassen ;)

So ist es eigentlich auch vorgesehen ;-)

von 12V DC (Gast)


Lesenswert?

Vielen Dank, so ungefähr habe ich mir das auch vorgestellt.
Kann ich diese serielle Verbindung von Processing auch irgendwie mit C 
verwirklichen? Wenn aj hat da jemand n' Tutorial? Ich glaub', ich hab 
mit C und GTK mehr Freiheiten.

von Thomas L. (thomas_hx)


Lesenswert?

Technisch ist das kein Problem, aber ob Du das kannst, kann ich dir 
nicht sagen.

von 12V DC (Gast)


Lesenswert?

Das ist mir klar, abre kennt irgendwer Bibliotheken, die das erledigen?
N gutes Tutorial wär auch super.

von Karl H. (kbuchegg)


Lesenswert?

So wie ich die Sache sehe, passiert da in dem Tutoriums-Code nichts 
wirklich großartiges.

Der eine Computer schickt (banal gesprochen) ein Byte mit einem 'A' auf 
den Weg. Der andere Computer kriegt dieses 'A' über die serielle 
Schnittstelle rein und reagiert darauf, indem er feststellt, dass es 
sich um ein 'A' handelt und ihm sein Programm vorschreibt in diesem Fall 
etwas zu tun.

Der Teil sollte sich also mit jeder x-beliebigen Programmiersprache 
erledigen lassen. Programmieren muss man halt können, aber im Grunde ist 
das nichts großartig Schwieriges.

Den GUI Teil: ok, mit der Wahl der Programmiersprache auf dem PC kann 
man sich da eine Menge Aufwanf sparen, je nachdem, wie einfach oder 
kompliziert es in dieser Programmiersprache grundsätzlich ist ein 
GUI-lastiges Programm zu schreiben. Auch das muss man halt mal lernen.
In der Vergangenheit war es oft so, dass sich auf dem PC für GUI-lastige 
Sachen Visual Basic geradezu aufdrängte. Mit dem Aufkommen von C# bzw. 
.Net hat sich das aber wohl verschoben, was wohl auch mit einem gewissen 
Negativ-Image zusammenhängt, welches einemn "Basic" auch heute noch 
nachhängt (obwohl das heutige Visual-Basic schon lange nichts mehr mit 
der Einsteigersprache von vor 50 Jahren zu tun hat)

Sorry, "12V DC"
Aber du kannst es drehen und wenden wie du willst. Du wirst nicht umhin 
kommen, das alles von der Pieke auf zu lernen. Egal wie oft du noch 
fragst. 'Von der Pieke auf lernen' bedeutet aber nicht, vom µC aus eine 
GUI auf dem PC mit Datenz versorgen. Das ist dann schon gehobenere 
Schule, weil du den PC Teil programmieren musst (sofern dir vorgefertige 
Bibliotheken wie die 'virtuellen INstrumente' hier aus anderer Stelle im 
Forum nicht reichen).

Und nein. Du kannst auch mit einem Tutorium ein paar Monate Erfahrung 
nicht aufholen. Egal wie sehr du dir das wünscht.

: Bearbeitet durch User
von 12V DC (Gast)


Lesenswert?

Könnt ihr mir sagen was ich wissen soll?
Meines Erachtens, ist da ja nicht so viel zu lernen. VBielleicht 
serielle Kommun8ikation, aber das stelle ich mir nicht so kompöliziert 
vor. Irre ich mich da??
Ich bitte euch wiederholt um Hilfe bei dem Thema(Artikel, Tut's, 
Lib's...)

12V

von spess53 (Gast)


Lesenswert?

Hi

>Ich bitte euch wiederholt um Hilfe bei dem Thema(Artikel, Tut's,
>Lib's...)

Wofür? ALGOL60, Fortran, Forth, Basic, Pascal, Delphi, C, C++, C#, ... ?

Und lies dir das

Beitrag "Re: Arduino Processing"

noch mal richtig durch.

MfG Spess

von 12V DC (Gast)


Lesenswert?

Ich hab mir das doch durchgelesen! -warum noch genauer?
Ich möchte einfach nur wissen, was ich mir da aneignen soll. Alle sagen 
mir "Hol da was auf", aber wie soll ich das denn, wenn ich nicht weiß 
was.
Ich möchte einfach nur Antworten auf die Fragen: "Was soll ich lernen", 
"Was muss ich wissen", "wo gibt es Tutorials, Libs, Artikel"
Programmiersprache: Nach möglichkeit C.

Heiliger Strohsack...
12V DC

von Stefan (Gast)


Lesenswert?

Dann suche nach einem C Tutorial für den PC. Vergiss erstmal den 
Mikrocontroller. Das Buch "C von A bis Z" scheint recht beliebt zu sein. 
Gibt es kostenlos im Netz. Dann kannst du das hiesige C Tutorial 
durcharbeiten.

Und vergiss auch den Ausdruck "Arduino Script". Das ist C++ mit einer 
Klassenbibliothek die die "Befehle" der Sprache "Processing" nachbilden 
soll.

Heiliger Strohsack...

;-)

von Karl H. (kbuchegg)


Lesenswert?

12V DC schrieb:

> Ich möchte einfach nur Antworten auf die Fragen: "Was soll ich lernen",
> "Was muss ich wissen",

Alles!

Heiliger Strohsack.

Auch ein Michael Schuhmacher ist nicht als Formel-1 Weltmeister auf die 
Welt gekommen, sondern hat erst mal mit Cart-fahren angefangen.

Ist das so schwer zu begreifen, dass du in 2 Wochen nicht das aus einem 
Tutorial lernen kannst, was andere in 2 Jahren gelernt haben?

Du sagst 'das und das sollte nicht so schwer sein'.
Gut. Dann fang endlich an!
Denn scheinbar ist es schwer, wenn du nicht in der Lage bist, dir 
eigenständig ein VB-Tutorial im Web zu suchen und mit lernen anzufangen.


Warum glaubt eigentlich jeder, dass programmieren lernen so 
funktioniert, dass man sich die richtigen 3 DIN-A4 Seiten an Text 
durchliest und dann ist man der volle Crank? Was läuft da in unserer 
Gesellschaft schief, dass eine der wohl anspruchsvollsten geistigen 
Tätigkeiten, die es auf diesem Planeten gibt, so masslos unterschätzt 
wird?

: Bearbeitet durch User
von 12V DC (Gast)


Lesenswert?

C von A-Z habe ich schon komplett durch...
ICh kann nicht anfangen zu lernen, wenn ihr mir nicht sagt was...
Heiliger Strohsack ;)

von 12V DC (Gast)


Lesenswert?

Nachtrag: Arduino Erfahrung: Ein Jahr

von Karl H. (kbuchegg)


Lesenswert?

12V DC schrieb:
> Nachtrag: Arduino Erfahrung: Ein Jahr

Keine Ahnung was du in diesem einen Jahr gemacht hast, wenn es noch 
nicht mal dazu gereicht hat, dass du die Grundlagen der Kommunikation 
per Serieller Schnittstelle kennst.

von Karl H. (kbuchegg)


Lesenswert?

12V DC schrieb:
> C von A-Z habe ich schon komplett durch...

durch - ARBEITEN!

Das bedeutet: Übungen machen! Das bedeutet, angegebene Beispiele 
nachprogrammieren, verändern, sich selbst davon Aufgabenstellungen 
ableiten und die ausprogrammieren.
Davon, dass du das mal durchgelesen hast und jedes Kapitel abgenickt 
hast, davon hat keiner was. Insbesondere du nicht.
Wer von einer Datei Daten einlesen und auswerten kann, der kann das auch 
von einer seriellen Schnittstelle. Die grundlegenden Techniken sind fürs 
erste weitgehend dieselben.
GUI Programmierung ist dann nochmal eine Schicht drüber. Such dir ein 
Tutorial für den GUI Toolkit deiner Wahl, arbeite das durch, 
programmierer Beispiele, bis du dich soweit sicher fühlst, dass du 
grundlegende Abläufe nicht fix codiert im C-Code unterbringst, sondern 
auf Kommando von aussen auslösen kannst.

Recht viel mehr kann man dazu nicht sagen. Dazu sind die Dinge zu 
komplex, als dass man hier in 30 Zeilen einen Fahrplan angeben könnte, 
der dich zum Ziel führt.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Oops, hab gerade deinen anderen Thread zum Thema "Objekterkennung" 
gesehen.
Somit bin ich raus aus der Sache.
Junge, du leidest unter einem erheblichen Mass an Selbstüberschätzung. 
Nur gut, dass dich das Faktische immer wieder auf den Boden der Realität 
zurück holt. Uns kannst du versuchen anzuschwindeln. Deinen Computer 
aber nicht.

: Bearbeitet durch User
von 12V DC (Gast)


Lesenswert?

C kann ich zu genüge. µC auch. Ich möchte lernen, wie ich die 
Bibliotheken anwende und wie man über die Serielle Schnittstelle 
Kommunizieren kann. Ich brauche Stichworte zum Googlen!
Keine Leute die mir erzählen ich könnte nicht Programmieren(zumal sie 
das garnicht wissen können-wie seid ihr darauf gekommen??)!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.