Processing: Eine Programmiersprache zur einfachen Visualisierung

News-Bot

klamm-Bot
25 April 2006
7.402
208
Folgende News wurde am 09.09.2012 um 18:40:00 Uhr veröffentlicht:
Processing: Eine Programmiersprache zur einfachen Visualisierung
Shortnews

Processing ist ein vereinfachtes Java. Nützlich ist es vor allem, wenn man sich schon mit den Arduino-Boards beschäftigt hat und Daten zwischen einem Arduino-Board und einem Computer austauschen will. Mit Processing kann man ohne großen Aufwand Formen zeichnen oder über Bluetooth Daten austauschen. Anwendungen lassen sich sogar als Android-App exportieren. Die Entwicklungsumgebung für Processing ist kostenlos und kann auf der Entwicklerseite heruntergeladen werden.
 
Nachdem ich mir ein Arduino Uno Board gelauft habe, weil ich dachte es wäre ein "herkömmliches" Programmierboard für AVR Mikrocontroller musste ich feststellen, dass das wohl nicht so ist. Arduino nutzt einen eigenen Bootloader und hat eigene Befehle, die es, so finde ich, es leichter machen Mikrocontroller zu programmieren. Durch verschiedene Tutorials bin ich ebenfalls auf Processing gestoßen, und schon bald konnte ich mit einem klick auf einen Buton auf meinem PC eine LED ansteuern (nix großes, es muss aber ja nicht unbedingt eine LED sein). Ich bin echt begeistert, wie einfach die beiden zusammenspielen, ohne großen Aufwand.

Gibts hier bei klamm noch mehr Arduino/Processing Programmierer?
 
Wie teuer ist oder war denn das Board ?
Ich begeistere mich für vielerlei Dinge im großen Ganzen des Programmierens. Was kann man(n) denn alles so mit dem Ding machen ? Ich hab halt mal an der Uni nen Assembler Kurs gehabt über 2 Jahre, wo wir in einem Jahr einen kleinen Microcontroler beprogrammiert haben, der ein kleiner Computer war (Tastatur,Bildschirm ansteuerbar, Interrupts behandeln, etc.)

Nachtrag:
seh grad amazon hat es bei 25-30 €.
Wäre eine Alternative für mein Hobby ausser mal nur zu zocken :)

Welche Bezeichnung hat Dein Board denn nun genau, dann wäre Tausch vno Code auch möglich...
 
"Arduino Duemilanove". Das hab ich mir besorgt, weil ich den Mikrocontroller runternehmen kann und auf eine Platine löten kann. Kann dann einen neuen Atmega 328 einstecken, den Bootloader draufladen und neu programmieren. Die Preise liegen zwischen 19 und 30 Euro. Gibts aber auch günstiger aus China.

Der Code müsste auf den anderen Boards auch laufen, je nachdem wie viele Ausgänge/Eingänge du brauchst.
Hab auch erst gerade den Einstieg wieder gefunden.
 
Ich bin gerade dabei einen Roboter mit Ultraschallsensor zu bauen, ich weiß, gibts schon tausende, will aber meinen eigenen.
Bauteile:
2 Servos
1 Arduino Nano
1 Gleichstrommotor
1 SR HC04 Ultraschallsensor
und
jede Menge Lego-Technik

Im Moment macht mir der Motor Probleme, trotz Freilaufdiode und getrennten Stromkreis gibt es Störungen.
 
Da ich die letzten zwei Semester Microprozessor und Microcontoller programmierung hatte, hätte ich mal ne kleine Frage. Wäre es nicht billiger sich den Controller, Quarz etc zu kaufen. Nen billigen ISP Programmierer und die ISP Schnittstelle rausführen (oder gleich zusammenlöten) .
Also worin besteht nun der Vorteil eines solchen Boards ?
 
Man muss keine Ahnung von Elektrotechnik haben um die ganzen Komponenten zu verbinden. Und die Programmierung eines Arduino ist einfacher, da dieser die ganze Initialisierung und auch sonst alle Operationen unter einfacheren C-Funktionen bereitstellt statt deren kryptischen Assembler-Befehlen. Man muss eben, wie beim PC, gar keine Ahnung mehr haben, wie der Mikrocontroller intern arbeitet.
 
Ok, das mit dem verbinden der Komponenten seh ich ein (zusatzkomponenten kann man doch bestimmt auhc nicht wie bei Lego verbinden, oder ?) ^^ , aber man kann auch einen "nackten" Microcontroller einfach in C programmieren ohne irgendwelche Initialisierungen. Mal meine Vorlage aus dem Praktikum C in Microcontoller.
Code:
// notwendige Includes
#include <avr/io.h>
//**************************************************************
// Variablen und Definitionen

//**************************************************************
// Funktionsprototypen


//**************************************************************
// Hauptprgramm
int main(void)
{	
	
}	
// Funktionen
//**************************************************************
// EOF
 
Doch das verbinden geht mitlerweile "lego mäßig" ;)
Der Arduino hat seine PINs an festen Positionen und dann gibt es so genannte "Shields" zum aufstecken auf diese Pins für alles mögliche. Fertige Shields für WLAN, Motoren und und und und.

Wenn ich mir aber hier ansehe was ich an unverständlichem Assembler-Code schreiben muss, um von einem Ausgang zu lesen, habe ich doch keine Lust mehr. Bei Arduino wird das schön in einfache C-Funktionen verpackt:
Code:
int ledPin = 13;
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);

Achso, wo du von billiger sprichst, der Arduino kostet komplett mit allem ~20€. Man braucht keinen ISP mehr, da direkt über USB programmiert wird. Und man muss sich auch nicht erst in einen avr-gcc reinlesen oder gar das komplexe AVR-Studio nutzen. Einfach nur den Code in ein Fenster eingeben, auf Upload drücken und sich über das Ergebnis freuen. Die Arduino-Platform ist eben für einfaches Entwickeln gedacht, bei dem jegliche Startschwierigkeit vermieden werden soll.
 
Doch das verbinden geht mitlerweile "lego mäßig" ;)
Der Arduino hat seine PINs an festen Positionen und dann gibt es so genannte "Shields" zum aufstecken auf diese Pins für alles mögliche. Fertige Shields für WLAN, Motoren und und und und.

Ui das is ja interessant ^^ , ich mach mir hier gedanken wie ich am besten meine Bauteile zusammenbekomme und dabei ist es doch so einfach.

Achso, wo du von billiger sprichst, der Arduino kostet komplett mit allem ~20€. Man braucht keinen ISP mehr, da direkt über USB programmiert wird. Und man muss sich auch nicht erst in einen avr-gcc reinlesen oder gar das komplexe AVR-Studio nutzen. Einfach nur den Code in ein Fenster eingeben, auf Upload drücken und sich über das Ergebnis freuen. Die Arduino-Platform ist eben für einfaches Entwickeln gedacht, bei dem jegliche Startschwierigkeit vermieden werden soll.

Da ich avr-gcc bzw das AVR Studio schon als sehr übersichtlich empfunden habe und das beim gcc auch alles in schöne C Funktionen verpackt ist, sehe ich beim programmieren an sich irgendwie keinen Vorteil. Aber sonst klingt das alles ja recht schön wenn man mal schnell etwas entwickeln möchte.
 
Man kommt auf jeden Fall schnell zu einem Ergebnis und es fängt an Spaß zu machen. Ich war auch erst skeptisch, wollte ich doch nicht von C weg. Hast du dein Programm fertig, kannst du beim Duemilanove Board den Controller herausnehmen und auf eine Platine löten, du brauchst dann nicht unbedingt mal einen Quartz. Dann holst du dir einen neuen Controller, programmierst den Bootloader und weiter gehts...
 
Nur so am Rande: Es gibt inzwischen auch die Möglichkeit, für Arduino in JavaScript zu entwickeln:

:arrow: https://weblog.bocoup.com/javascript-arduino-programming-with-nodejs/

Ich habe mich erst wie ein Honigkuchen-Pferd gefreut, aber so wirklich stimmt deine Aussage auch nicht. Auf dem Arduino läuft weiterhin ein C-Programm, nur das man eben mit Node.js am PC Befehle an den Arduino senden, die das C-Programm versteht und ausführt. Also steuert man den Arduino eigentlich nur mit Node.js, aber ohne den angeschlossenen PC ist es nicht lauffähig.
Neu ist das ganze auch nicht, das gabs schon für Python, Ruby, Java und Co.
 
Ich versuche z.Z. Daten vom Android Handy zum Arduino zu schicken, hab auch eine Bibliothek gefunden, doch leider ist die Dokumentation nicht so berauschend.