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
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
Wenn es reines C wäre, dann gäbe es dort die Funktion
1 | import processing.serial.*; |
nicht, oder irre ich mich da?
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.
Das ist kein C, sondern C++. Die ganzen Klassen, Vererbungen etc funktionieren prima.
> Das ist kein C, sondern C++. Du könntest mal im Netz suchen, welche Programmiersprache das oben genannte Statement erlaubt: > import processing.serial.*;
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.
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.
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?
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.
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 ;)
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 ;-)
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.
Technisch ist das kein Problem, aber ob Du das kannst, kann ich dir nicht sagen.
Das ist mir klar, abre kennt irgendwer Bibliotheken, die das erledigen? N gutes Tutorial wär auch super.
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
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
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
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
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... ;-)
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
C von A-Z habe ich schon komplett durch... ICh kann nicht anfangen zu lernen, wenn ihr mir nicht sagt was... Heiliger Strohsack ;)
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.