Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Confluence
For you

Electrical Engineering
Results will update as you type.
  • Aesthetic elements in Eagle
  • Actuators and Outputs
  • Aktuatoren (DE)
  • Analog Input
  • Analog Sensors
  • Arduino Grundlagen
  • Arduino Programmieren
  • Arduino und Processing
  • Shift Registers
  • Carvey
  • Capacitors
  • Bread Boards
  • Digitaler Input
  • Digitaler Output
  • Eagle
  • Energy Harvesting
  • H-Bridge
  • I2C (en)
  • Interrupt Service Routine
  • Mosfet Transistor
  • LED
  • PCBs Herstellen
  • Pololu Servo Controller
  • Relays as Switches
  • Pulse Width Modulation
  • RFiD
  • Schrittmotorentreiber
  • SD Karten
  • Signal Filtering
  • Transistors as Switches
  • Widerstand
  • PCB Manufacturing
  • PlatformIO
  • Lynx Smart Motion Servo
  • Electronics Basics (EN)
  • Arduino Basics (en)
  • Arduino Programming (EN)
  • Digital Outputs (en)
  • Digital Input (en)
  • Serial Communication (en)
  • Pulse Width Modulation (en)
  • Resistors (en)
  • Arduino and P5.js
  • Arduino and ml5.js
  • Project box 2021
  • Servo Motors
  • H-Bridge (DE)

    Two hearts overlapped with each other
    Welcome back
    Catch up on the top discussions and highlights from your team.
    /
    Arduino Programmieren
    Updated Aug 24, 2020

    Arduino Programmieren

    Aug 24, 2020

    Analytics

    Loading data...

    Arduino Programming (EN)

    Um Programme für das Arduino zu schreiben, verwendet man eine integrierte Programmierumgebung (IDE), welche von David Mellis entwickelt wurde und sich stark an Processing orientiert. Dies macht uns den Einstieg besonders einfach – es gibt jedoch einige Unterschiede, wenn wir für einen Mikrocontroller programmieren. Für Arduino verwenden wir eine vereinfachte Variante von C/C++. Da Arduino auf Processing aufbaut sieht die Oberfläche und die Syntax beider Programme sehr ähnlich aus. Auch die Programmierumgebung sieht sehr ähnlich aus.

    Integrierte Programmierumgebung (IDE)

    Grundstruktur

    Die Grundstruktur eines Programms beinhaltet immer die Funktion setup() und loop(). Dabei wird setup() nur einmal beim Start des Programms (entweder nach dem Übertragen auf das Board oder nach Drücken des Reset-Tasters) aufgerufen. In dieser Funktion setzt man die Pins als Ein- oder Ausgänge, aktiviert die Serielle Schnittstelle oder initialisiert externe Libraries. Die Funktion loop() wird durchgehend durchlaufen, solange das Arduino eingeschaltet ist.

    Beispiel Grunstruktur
    #define LED_PIN 13   int counter = 0;   void setup()  { pinMode(LED_PIN, OUTPUT); } void loop()  { digitalWrite(LED_PIN, HIGH); delay(1000); digitalWrite(LED_PIN, LOW); delay(1000); counter++; }

    Variablen

    int (byte, int, uint, long, ulong)
    Ganzzahlige Variablen
    z.B. int x = 22;

    float (double)
    Fliesskomma Variablen
    z.B. float y = 1.234;

    char
    Zeichen
    z.B. char z = “a”;

    String
    Abfolgen von Zeichen
    z.B. String testString = “Arduino”;

    boolean
    Schaltvariable
    z.B. boolean state = false;

    Operatoren

    Arithmetische Operatoren (+,-,*,/,=,%)

    Beispiel Arithmetische Operatoren
    x = 3+2; // x = 5 y = 2-1; // y = 1 z = 5*2; // z = 10 i = 10/2; // i = 5 r = 9%5; // r = 4

    Vergleichende Operatoren (,=,==,!=)

    Beispiel Vergleichende Operatoren
    if(100 != 120) // Bedingung { // Auszuführende Aktion }

    Boolsche Operatoren (&&,||,!)

    Beispiel Boolsche Operatoren
    if(digitalRead(2) == HIGH) // Bedingung { // Auszuführende Aktion }

    Zusammengesetzte Operatoren (++,–,+=,-=,*=,/=)

    Beispiel Zusammengesetzte Operatoren
    x++ // x um eins erhöhen y– // y um eins verringern z+=2 // z um zwei erhöhen i-=5 // i um fünf verringern

    Kontroller

    Beispiel if...
    if(x>120) { // Aktion wenn x grösser als 120 }
    Beispiel if...else
    if(x>120) { // Aktion wenn x grösser als 120 } else { // Aktion wenn x kleiner als, oder genau 120 }
    Beispiel for...
    for(int i=0; i<=255; i++) { // Setzt i von 0 bis 255 }
    Beispiel switch...
    switch(var) { case 1: // Aktion wenn var 1 entspricht break; case 2: // Aktion wenn var 2 entspricht break; default: // Aktion wenn var weder 1 noch 2 entspricht }
    Beispiel while...
    var = 0; while(var<120) { // Aktion welche sich 120 Mal wiederholt var++; }
    Beispiel break...
    for(int i=0; i<200; i++) { digitalWrite(5,i); sensorWert = analogRead(0); if(sensorWert>200) { i = 0; // Schleife verlassen break; } delay(100); }
    Beispiel return...
    int checkSensor() { if(analogRead>200) { return 1; // checkSensor ist nun 1 } else { return 0; // checkSensor ist nun 0 } }
    {"serverDuration": 13, "requestCorrelationId": "713ae884ce2b4e4abef9c98490b6373b"}