Arduino Programmieren: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
== Links ==
 +
=== Beispiel Code und Tutorials ===
 +
http://arduino.cc/en/Tutorial/HomePage - Arduino Einführung
 +
https://www.youtube.com/playlist?list=PL8CD32146ED5CD04E&feature=plcp Fritzing Starter Kit Beispiele (sehr gut)
 +
[[Arduino Snippets]]
  
== Links ==
+
== Arduino - Programmiersprache ==
Beispiele http://arduino.cc/en/Tutorial/HomePage
+
https://www.arduino.cc/reference/en/
=== IDE ===
+
Arduino
Standard ist die IDE von Arduino
+
 
 +
== IDE ==
 +
Standard ist die IDE von Arduino es lassen sich aber auch qt und andere Verwenden. Interessant ist qm von http://state-machine.com. Wenn es um fortgeschrittene Aufgaben dreht.
  
 
==== Grafische Programmieroberflächen ====
 
==== Grafische Programmieroberflächen ====
Zeile 10: Zeile 17:
 
  Ardublock http://blog.ardublock.com/ arbeitet direkt aus Arduino heraus. Dürfte mehr oder weniger Standard sein.
 
  Ardublock http://blog.ardublock.com/ arbeitet direkt aus Arduino heraus. Dürfte mehr oder weniger Standard sein.
 
  Minibloq http://blog.minibloq.org/ scheint weniger Mächtig im Moment (Anfang 2014) aber einfacher mit schlechten Englisch Kenntnissen.
 
  Minibloq http://blog.minibloq.org/ scheint weniger Mächtig im Moment (Anfang 2014) aber einfacher mit schlechten Englisch Kenntnissen.
 +
http://www.state-machine.com/ fortgeschrittenes Tool für professionellere Ansprüche und verschiedene Prozessoren (Event Model, C++ ...)
 +
 +
==Basic Structure of a programm==
 +
Der klassische Ansatz beim Arduino sind sequenzielle Programme mit ihren Vorteilen (einfachheit gute Nachvollziehbarkeit) und  Nachteilen (Problematisch wenn viele Events verarbeitet werden, Prozessorauslastung).
  
===Basic Structure===
 
 
<pre>
 
<pre>
 
void setup() {
 
void setup() {
Zeile 23: Zeile 33:
 
}
 
}
 
</pre>
 
</pre>
 +
 +
== Multitasking und Eventgesteuerte Programme ==
 +
Damit ein modernerer Ansatz möglich ist gibt es einige Libraries. Damit ist Multitasking, bzw. Das reagieren auf Events einfacher und performanter. Hier eine kleine Liste: http://blog.ardublock.com/2013/10/29/evaluating-of-event-driven-libraries-on-arduino/
 +
 +
Außerdem scheint in diesem Zusammenhang auch FreeRTOS ein interessantes Projekt zu sein. Es geht einen Schritt weiter und verfolgt den Anspruch eine Art Betriebssystem zu implementieren, von dem dann die Aufgaben verwaltet werden können. Zudem steht es für viele Mikrocontroller zur Verfügung und ist OpenSource. Allerdings brauchen die Programme durch das vorgeschaltene "OS" recht viel Speicherplatz. Also vielleicht eher was für größere Prozessoren und Projekte.

Aktuelle Version vom 3. April 2019, 15:19 Uhr

Links[Bearbeiten]

Beispiel Code und Tutorials[Bearbeiten]

http://arduino.cc/en/Tutorial/HomePage - Arduino Einführung
https://www.youtube.com/playlist?list=PL8CD32146ED5CD04E&feature=plcp Fritzing Starter Kit Beispiele (sehr gut)
Arduino Snippets

Arduino - Programmiersprache[Bearbeiten]

https://www.arduino.cc/reference/en/
Arduino

IDE[Bearbeiten]

Standard ist die IDE von Arduino es lassen sich aber auch qt und andere Verwenden. Interessant ist qm von http://state-machine.com. Wenn es um fortgeschrittene Aufgaben dreht.

Grafische Programmieroberflächen[Bearbeiten]

Hier kann man sich Programme zusammenklicken.

Ardublock http://blog.ardublock.com/ arbeitet direkt aus Arduino heraus. Dürfte mehr oder weniger Standard sein.
Minibloq http://blog.minibloq.org/ scheint weniger Mächtig im Moment (Anfang 2014) aber einfacher mit schlechten Englisch Kenntnissen.
http://www.state-machine.com/ fortgeschrittenes Tool für professionellere Ansprüche und verschiedene Prozessoren (Event Model, C++ ...)

Basic Structure of a programm[Bearbeiten]

Der klassische Ansatz beim Arduino sind sequenzielle Programme mit ihren Vorteilen (einfachheit gute Nachvollziehbarkeit) und Nachteilen (Problematisch wenn viele Events verarbeitet werden, Prozessorauslastung).

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly: 
  
}

Multitasking und Eventgesteuerte Programme[Bearbeiten]

Damit ein modernerer Ansatz möglich ist gibt es einige Libraries. Damit ist Multitasking, bzw. Das reagieren auf Events einfacher und performanter. Hier eine kleine Liste: http://blog.ardublock.com/2013/10/29/evaluating-of-event-driven-libraries-on-arduino/

Außerdem scheint in diesem Zusammenhang auch FreeRTOS ein interessantes Projekt zu sein. Es geht einen Schritt weiter und verfolgt den Anspruch eine Art Betriebssystem zu implementieren, von dem dann die Aufgaben verwaltet werden können. Zudem steht es für viele Mikrocontroller zur Verfügung und ist OpenSource. Allerdings brauchen die Programme durch das vorgeschaltene "OS" recht viel Speicherplatz. Also vielleicht eher was für größere Prozessoren und Projekte.