Dieser Betrag kommt von unserem ehemaligen User "petterpet", Danke dafür 😄
Hallo zusammen,
da ja nicht jeder so viel Erfahrung mit der Programmierung hat oder keine Zeit es sich anzueignen, möchte ich hier eine grafische Programmieroberfläche für Arduino kurz vorstellen:
Open Roberta LAB
Neben Arduino kann man damit unter anderem auch die Lego Mindstorms (EV3 und NXT) oder den Calliope Mini programmieren.
Das Projekt funktioniert schon ganz gut, befindet sich aber noch in der Entwicklung.
Wie sicherlich erkennbar ist, sieht das ganze Blockly ähnlich. Somit ist die Einarbeitung auch nicht weiter schwer und selbsterklärend (auch für nicht-Blockly-Nutzer).
Um den fertigen Sketch auf den Arduino zu laden, muss das Open Roberta USB-Programm auf dem PC eingerichtet werden. Das ist für Windows (auch portable), Mac OS und Linux verfügbar. Nach folgender Anleitung geht die Installation zügig: Installationsanleitung
Und wer doch etwas Coding-Erfahrung hat, der kann den Code auch exportieren und weiter bearbeiten, sowohl mit der Arduino IDE als auch mit PlatformIO im Atom Editor oder MS Visual Studio.
Hier der Code zum oberen Beispiel:
// This file is automatically generated by the Open Roberta Lab.
#include <math.h>
#include <RobertaFunctions.h> // Open Roberta library
RobertaFunctions rob;
int _taster_T = 2;
void setup()
{
Serial.begin(9600);
pinMode(_taster_T, INPUT);
}
void loop()
{
if ( digitalRead(_taster_T) == true ) {
Serial.println("Hallo Welt!");
}
}
Um das Projekt kompilieren zu können, müssen Zeile 4 und 6 mit den RobertaFunctions gelöscht werden.
Hier erkennt man auch einen kleinen, aber nicht all zu schlimmen Fehler:
In Zeile 8 wird der Pin des Tasters als Variable int _taster_T = 2; und nicht als konstante #define _taster_T = 2; festgelegt.
Die zweite Variante setzt den Pin beim Kompilieren in Maschinencode automatisch an die entsprechen Stellen ein.
Durch die Variable in der ersten Variante wird etwas Speicher verbraucht.
Bei kleinen Projekten ist das nicht weiter schlimm. Trotzdem möchte ich darauf hinweisen, damit sich nichts falsches einprägt.