gavmac00/arduino-docs huggingface dataset:
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Time
            > Delaymicroseconds
          
delayMicroseconds()
          [Time]
          
Description
Pauses the program for the amount of time (in microseconds) specified by the parameter. There are a thousand microseconds in a millisecond and a million microseconds in a second.
Currently, the largest value that will produce an accurate delay is 16383; larger values can produce an extremely short delay. This could change in future Arduino releases. For delays longer than a few thousand microseconds, you should use delay() instead.
Syntax
delayMicroseconds(us)
Parameters
us: the number of microseconds to pause. Allowed data types: unsigned int.
Returns
Nothing
Example Code
The code configures pin number 8 to work as an output pin. It sends a train of pulses of approximately 100 microseconds period. The approximation is due to execution of the other instructions in the code.
int outPin = 8;               // digital pin 8
void setup() {
  pinMode(outPin, OUTPUT);    // sets the digital pin as output
}
void loop() {
  digitalWrite(outPin, HIGH); // sets the pin on
  delayMicroseconds(50);      // pauses for 50 microseconds
delayMicroseconds(50);      // pauses for 50 microseconds
  digitalWrite(outPin, LOW);  // sets the pin off
  delayMicroseconds(50);      // pauses for 50 microseconds
}
Notes and Warnings
This function works very accurately in the range 3 microseconds and up to 16383. We cannot assure that delayMicroseconds will perform precisely for smaller delay-times. Larger delay times may actually delay for an extremely brief time.
As of Arduino 0018, delayMicroseconds() no longer disables interrupts.
See also
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Time
            > Micros
          
micros()
          [Time]
          
Description
> Micros
          
micros()
          [Time]
          
Description
Returns the number of microseconds since the Arduino board began running the current program. This number will overflow (go back to zero), after approximately 70 minutes. On the boards from the Arduino Portenta family this function has a resolution of one microsecond on all cores. On 16 MHz Arduino boards (e.g. Duemilanove and Nano), this function has a resolution of four microseconds (i.e. the value returned is always a multiple of four). On 8 MHz Arduino boards (e.g. the LilyPad), this function has a resolution of eight microseconds.
Syntax
time = micros()
Parameters
None
Returns
Returns the number of microseconds since the Arduino board began running the current program. Data type: unsigned long.
Example Code
The code returns the number of microseconds since the Arduino board began.
unsigned long time;
void setup() {
unsigned long time;
void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  time = micros();
  Serial.println(time); //prints time since program started
  delay(1000);          // wait a second so as not to send massive amounts of data
}
Notes and Warnings
There are 1,000 microseconds in a millisecond and 1,000,000 microseconds in a second.
See also
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Interrupts
            > Nointerrupts
          
noInterrupts()
          [Interrupts]
          
Description
noInterrupts()
          [Interrupts]
          
Description
Disables interrupts (you can re-enable them with interrupts()). Interrupts allow certain important tasks to happen in the background and are enabled by default. Some functions will not work while interrupts are disabled, and incoming communication may be ignored. Interrupts can slightly disrupt the timing of code, however, and may be disabled for particularly critical sections of code.
Syntax
noInterrupts()
Parameters
None
Returns
Nothing
Example Code
The code shows how to enable interrupts.
void setup() {}
void loop() {
  noInterrupts();
  // critical, time-sensitive code here
  interrupts();
  // other code here
}
Notes and Warnings
Note that disabling interrupts on the Arduino boards with native USB capabilities (e.g., Leonardo) will make the board
not appear in the Port menu, since this disables its USB capability.
See also
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Interrupts
            > Interrupts
          
interrupts()
          [Interrupts]
          
Description
interrupts()
          [Interrupts]
          
Description
Re-enables interrupts (after they’ve been disabled by noInterrupts(). Interrupts allow certain important tasks to happen in the background and are enabled by default. Some functions will not work while interrupts are disabled, and incoming communication may be ignored. Interrupts can slightly disrupt the timing of code, however, and may be disabled for particularly critical sections of code.
Syntax
interrupts()
Parameters
None
Returns
Nothing
Example Code
The code enables Interrupts.
void setup() {}
void loop() {
  noInterrupts();
  // critical, time-sensitive code here
  interrupts();
  // other code here
}
See also
LANGUAGE attachInterrupts()
LANGUAGE detachInterrupts()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Sq
          
sq()
          [Math]
          
Description
Calculates the square of a number: the number multiplied by itself.
Syntax
sq(x)
Parameters
x: the number. Allowed data types: any data type.
Returns
The square of the number. Data type: double.
Notes and Warnings
Returns
The square of the number. Data type: double.
Notes and Warnings
Because of the way the sq() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results.
This code will yield incorrect results:
int inputSquared = sq(Serial.parseInt()); // avoid this
Use this instead:
int input = Serial.parseInt();  // keep other operations outside the sq function
int inputSquared = sq(input);
See also
LANGUAGE abs()
LANGUAGE constrain()
LANGUAGE map()
LANGUAGE max()
LANGUAGE min()
LANGUAGE pow()
LANGUAGE sqrt()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Min
          
min()
          [Math]
          
Description
Calculates the minimum of two numbers.
Syntax
min(x, y)
Parameters
x: the first number. Allowed data types: any data type.
y: the second number. Allowed data types: any data type.
Returns
The smaller of the two numbers.
Returns
The smaller of the two numbers.
Example Code
The code ensures that it never gets above 100.
sensVal = min(sensVal, 100);  // assigns sensVal to the smaller of sensVal or 100
                              // ensuring that it never gets above 100.
Notes and Warnings
Perhaps counter-intuitively, max() is often used to constrain the lower end of a variable’s range, while min() is used to constrain the upper end of the range.
Because of the way the min() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results
min(a++, 100);  // avoid this - yields incorrect results
min(a, 100);
a++;  // use this instead - keep other math outside the function
See also
LANGUAGE abs()
LANGUAGE constrain()
LANGUAGE map()
LANGUAGE max()
LANGUAGE pow()
LANGUAGE sq()
LANGUAGE sqrt()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Pow
          
pow()
          [Math]
          
Description
Calculates the value of a number raised to a power. pow() can be used to raise a number to a fractional power. This is useful for generating exponential mapping of values or curves.
Syntax
pow(base, exponent)
Parameters
Syntax
pow(base, exponent)
Parameters
base: the number. Allowed data types: float.
exponent: the power to which the base is raised. Allowed data types: float.
Returns
The result of the exponentiation. Data type: double.
Example Code
Calculate the value of x raised to the power of y:
z = pow(x, y);
See the (fscale) sketch for a more complex example of the use of pow().
See also
LANGUAGE abs()
LANGUAGE constrain()
LANGUAGE map()
LANGUAGE max()
LANGUAGE min()
LANGUAGE sq()
LANGUAGE sqrt()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Max
          
max()
          [Math]
          
Description
Calculates the maximum of two numbers.
Syntax
max(x, y)
Parameters
x: the first number. Allowed data types: any data type.
y: the second number. Allowed data types: any data type.
Returns
y: the second number. Allowed data types: any data type.
Returns
The larger of the two parameter values.
Example Code
The code ensures that sensVal is at least 20.
sensVal = max(sensVal, 20); // assigns sensVal to the larger of sensVal or 20
                            // (effectively ensuring that it is at least 20)
Notes and Warnings
Perhaps counter-intuitively, max() is often used to constrain the lower end of a variable’s range, while min() is used to constrain the upper end of the range.
Because of the way the max() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results
max(a--, 0);  // avoid this - yields incorrect results
// use this instead:
max(a, 0);
a--;  // keep other math outside the function
See also
LANGUAGE abs()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Abs
          
abs()
          [Math]
          
Description
Calculates the absolute value of a number.
Syntax
abs(x)
Parameters
x: the number
Returns
x: if x is greater than or equal to 0.
-x: if x is less than 0.
Example Code
-x: if x is less than 0.
Example Code
Prints the absolute value of variable x to the Serial Monitor.
void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ;  // wait for serial port to connect. Needed for native USB port only
  }
  int x = 42;
  Serial.print("The absolute value of ");
  Serial.print(x);
  Serial.print(" is ");
  Serial.println(abs(x));
  x = -42;
  Serial.print("The absolute value of ");
  Serial.print(x);
  Serial.print(" is ");
  Serial.println(abs(x));
}
void loop() {
}
Notes and Warnings
Because of the way the abs() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results.
abs(a++); // avoid this - yields incorrect results
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Constrain
          
constrain()
          [Math]
          
Description
Constrains a number to be within a range.
Syntax
constrain(x, a, b)
Parameters
x: the number to constrain Allowed data types: all data types.
Parameters
x: the number to constrain Allowed data types: all data types.
a: the lower end of the range. Allowed data types: all data types.
b: the upper end of the range. Allowed data types: all data types.
Returns
x: if x is between a and b.
a: if x is less than a.
b: if x is greater than b.
Example Code
The code limits the sensor values to between 10 to 150.
sensVal = constrain(sensVal, 10, 150);  // limits range of sensor values to between 10 and 150
Notes and Warnings
Because of the way the constrain() function is implemented, avoid using other functions inside the brackets, it may lead to incorrect results.
This code will yield incorrect results:
int constrainedInput = constrain(Serial.parseInt(), minimumValue, maximumValue);   // avoid this
Use this instead:
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Map
          
map()
          [Math]
          
Description
Re-maps a number from one range to another. That is, a value of fromLow would get mapped to toLow, a value of fromHigh to toHigh, values in-between to values in-between, etc.
Does not constrain values to within the range, because out-of-range values are sometimes intended and useful. The constrain() function may be used either before or after this function, if limits to the ranges are desired.
Note that the "lower bounds" of either range may be larger or smaller than the "upper bounds" so the map() function may be used to reverse a range of numbers, for example
y = map(x, 1, 50, 50, 1);
The function also handles negative numbers well, so that this example
y = map(x, 1, 50, 50, -100);
is also valid and works well.
The map() function uses integer math so will not generate fractions, when the math might indicate that it should do so. Fractional remainders are truncated, and are not rounded or averaged.
Syntax
map(value, fromLow, fromHigh, toLow, toHigh)
Parameters
Syntax
map(value, fromLow, fromHigh, toLow, toHigh)
Parameters
value: the number to map.
fromLow: the lower bound of the value’s current range.
fromHigh: the upper bound of the value’s current range.
toLow: the lower bound of the value’s target range.
toHigh: the upper bound of the value’s target range.
Returns
The mapped value. Data type: long.
Example Code
/* Map an analog value to 8 bits (0 to 255) */
void setup() {}
void loop() {
  int val = analogRead(0);
  val = map(val, 0, 1023, 0, 255);
  analogWrite(9, val);
}
Appendix
For the mathematically inclined, here’s the whole function
}
Appendix
For the mathematically inclined, here’s the whole function
long map(long x, long in_min, long in_max, long out_min, long out_max) {
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
Notes & Warnings
As previously mentioned, the map() function uses integer math. So fractions might get suppressed due to this. For example, fractions like 3/2, 4/3, 5/4 will all be returned as 1 from the map() function, despite their different actual values. So if your project requires precise calculations (e.g. voltage accurate to 3 decimal places), please consider avoiding map() and implementing the calculations manually in your code yourself.
See also
LANGUAGE abs()
LANGUAGE constrain()
LANGUAGE max()
LANGUAGE min()
LANGUAGE pow()
LANGUAGE sq()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Math
            > Sqrt
          
sqrt()
          [Math]
          
Calculates the square root of a number.
Description
Syntax
sqrt(x)
Parameters
x: the number. Allowed data types: any data type.
Returns
The number’s square root. Data type: double.
See also
LANGUAGE abs()
LANGUAGE constrain()
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Trigonometry
            > Cos
          
cos()
          [Trigonometry]
          
Description
Calculates the cosine of an angle (in radians). The result will be between -1 and 1.
Syntax
cos(rad)
Parameters
rad: The angle in radians. Allowed data types: float.
Returns
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Trigonometry
            > Tan
          
tan()
          [Trigonometry]
          
Description
Calculates the tangent of an angle (in radians). The result will be between negative infinity and infinity.
Syntax
tan(rad)
Parameters
rad: The angle in radians. Allowed data types: float.
Returns
Language
functions
variables
structure
Libraries
IoT Cloud API
Glossary
        The Arduino Reference text is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    
    Find anything that can be improved? Suggest corrections and new documentation via GitHub.
    Doubts on how to use Github? Learn everything you need to know in this tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Edit This Page
Reference
            >  Language
            >  Functions
            >  Trigonometry
            > Sin
          
sin()
          [Trigonometry]
          
Description
Calculates the sine of an angle (in radians). The result will be between -1 and 1.
Syntax
sin(rad)
Parameters
rad: The angle in radians. Allowed data types: float.
Returns
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Sprach-Referenz
        Die Programmiersprache von Arduino kann in drei Hauptteile unterteilt werden: Struktur, Werte (Variablen und Konstanten) und Funktionen.
      
Funktionen
Zum Steuern des Arduino-Boards und zur Durchführung von Berechnungen.
Digital I/O
                digitalRead()
Digital I/O
                digitalRead()
                
                
                digitalWrite()
                
                
                pinMode()
                
                
Analog I/O
                analogRead()
                
                
                analogReference()
                
                
                analogWrite()
                
                
Zero-, Due-, MKR-Familie
                analogReadResolution()
                
                
                analogWriteResolution()
                
                
Advanced I/O
                noTone()
                
                
                pulseIn()
                
                
                pulseInLong()
                
                
                shiftIn()
                
                
                shiftOut()
                
                
                tone()
                
                
Zeit
                delay()
                
                
                delayMicroseconds()
                
                
                micros()
                
                
                millis()
                
                
Mathematik
                abs()
millis()
                
                
Mathematik
                abs()
                
                
                constrain()
                
                
                map()
                
                
                max()
                
                
                min()
                
                
                pow()
                
                
                sq()
                
                
                sqrt()
                
                
Trigonometrie
                cos()
                
                
                sin()
                
                
                tan()
                
                
Zeichen
                isAlpha()
                
                
                isAlphaNumeric()
                
                
                isAscii()
                
                
                isControl()
                
                
                isDigit()
                
                
                isGraph()
                
                
                isHexadecimalDigit()
                
                
                isLowerCase()
                
                
                isPrintable()
                
                
                isPunct()
isPrintable()
                
                
                isPunct()
                
                
                isSpace()
                
                
                isUpperCase()
                
                
                isWhitespace()
                
                
Zufallszahlen
                random()
                
                
                randomSeed()
                
                
Bits und Bytes
                bit()
                
                
                bitClear()
                
                
                bitRead()
                
                
                bitSet()
                
                
                bitWrite()
                
                
                highByte()
                
                
                lowByte()
                
                
Externe Interrupts
                attachInterrupt()
                
                
                detachInterrupt()
                
                
Interrupts
                interrupts()
                
                
                noInterrupts()
                
                
Kommunikation
                Serial
                
                
                SPI
Kommunikation
                Serial
                
                
                SPI
                
                
                Stream
                
                
                Wire
                
                
USB
                Keyboard
                
                
                Mouse
                
                
Variablen
Arduino-Datentypen und -konstanten.
Konstanten
                Gleitkommazahlkonstanten
                
                
                Integer-Konstanten
                
                
HIGH | LOW
INPUT | OUTPUT | INPUT_PULLUP
LED_BUILTIN
true | false
Umwandlung
                (unsigned int)
                
                
                (unsigned long)
                
                
                byte()
                
                
                char()
                
                
                float()
                
                
                int()
                
                
                long()
                
                
                word()
                
                
Datentypen
word()
                
                
Datentypen
                array
                
                
                bool
                
                
                boolean
                
                
                byte
                
                
                char
                
                
                const
                
                
                double
                
                
                float
                
                
                int
                
                
                long
                
                
                scope
                
                
                short
                
                
                size_t
                
                
                static
                
                
                string
                
                
                String()
                
                
                unsigned char
                
                
                unsigned int
                
                
                unsigned long
                
                
                void
                
                
                volatile
                
                
                word
                
                
Variablenscope und Bezeichner
Hilfsmittel
                PROGMEM
Hilfsmittel
                PROGMEM
                
                
                sizeof()
                
                
Struktur
Die Elemente der Arduino (C++) Programmiersprache.
Sketch
                loop()
                
                
                setup()
                
                
Kontrollstruktur
                break
                
                
                continue
                
                
                do...while
                
                
                else
                
                
                for
                
                
                goto
                
                
                if
                
                
                return
                
                
                switch...case
                
                
                while
                
                
Weitere Syntax
                #define
                
                  (define)
                
                
                #include
                
                  (include)
                
                
                /* */
                
                  (Kommentarblock)
                
                
                //
(Kommentarblock)
                
                
                //
                
                  (Einzeiliger Kommentar)
                
                
                ;
                
                  (Semikolon)
                
                
                {}
                
                  (Geschweifte Klammern)
                
                
Arithmetische Operatoren
                %
                
                  (Modulo)
                
                
                *
                
                  (Multiplikation)
                
                
                +
                
                  (Addition)
                
                
                -
                
                  (Subtraktion)
                
                
                /
                
                  (Division)
                
                
                =
                
                  (Zuweisung)
                
                
Vergleichsoperatoren
                !=
                
                  (Ungleich)
                
                
                <
!=
                
                  (Ungleich)
                
                
                <
                
                  (Kleiner)
                
                
                <=
                
                  (Kleiner oder gleich)
                
                
                ==
                
                  (Gleich)
                
                
                >
                
                  (Größer)
                
                
                >=
                
                  (Größer oder gleich)
                
                
Boolsche Operatoren
                !
                
                  (Logisches NICHT)
                
                
                &&
                
                  (Logisches UND)
                
                
                ||
                
                  (Logisches ODER)
                
                
Zeiger-Operatoren
                &
                
                  (Referenzoperator)
                
                
                *
                
                  (Dereferenzoperator)
*
                
                  (Dereferenzoperator)
                
                
Bitweise Operatoren
                &
                
                  (Bitweises UND)
                
                
                <<
                
                  (Bitshift links)
                
                
                >>
                
                  (Bitshift rechts)
                
                
                ^
                
                  (Bitweises XOR)
                
                
                |
                
                  (Bitweises OR)
                
                
                ~
                
                  (Bitweises NICHT)
                
                
Verbundoperatoren
                %=
                
                  (Zusammengesetzter Rest)
                
                
                &=
                
                  (Zusammengesetztes Bitweises AND)
                
                
                *=
                
                  (Zusammengesetzte Multiplikation)
*=
                
                  (Zusammengesetzte Multiplikation)
                
                
                ++
                
                  (Inkrement)
                
                
                +=
                
                  (Zusammengesetzte Addition)
                
                
                --
                
                  (Dekrement)
                
                
                -=
                
                  (Zusammengesetzte Subtraktion)
                
                
                /=
                
                  (Zusammengesetzte Division)
                
                
                |=
                
                  (Zusammengesetztes Bitweises ODER)
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Further syntax
            > Include
          
#include
          [Further Syntax]
          
Beschreibung
#include wird verwendet, um externe Bibliotheken in den Sketch aufzunehmen.
#include wird verwendet, um externe Bibliotheken in den Sketch aufzunehmen.
Dadurch erhält der Programmierer Zugriff auf eine große Gruppe von Standard-C-Bibliotheken (Gruppen vorgefertigter Funktionen) sowie auf speziell für Arduino geschriebene Bibliotheken.
Die Hauptreferenzseite für AVR C-Bibliotheken (AVR ist eine Referenz auf die Atmel-Chips, auf denen der Arduino basiert) ist hier.
Beachte, dass #include, ähnlich wie #define kein Semikolon-Abschlusszeichen enthält und der Compiler bei der Eingabe kryptische Fehlermeldungen ausgibt.
Syntax
#include <LibraryFile.h>
#include "LocalFile.h"
Parameter
Syntax
#include <LibraryFile.h>
#include "LocalFile.h"
Parameter
LibraryFile.h: Wenn die Syntax der spitzen Klammern verwendet wird, werden die Bibliothekspfade nach der Datei durchsucht.
LocalFile.h: Wenn die Syntax in doppelten Anführungszeichen verwendet wird, wird der Ordner der Datei mit der Direktive #include nach der angegebenen Datei durchsucht. Anschließend wird in den Bibliothekspfaden gesucht, wenn sie nicht im lokalen Pfad gefunden wurden. Verwende diese Syntax für Header-Dateien im Ordner des Sketches.
Beispielcode
Dieses Beispiel enthält die Servobibliothek, sodass ihre Funktionen zur Steuerung eines Servomotors verwendet werden können.
#include <Servo.h>
#include <Servo.h>
Servo myservo;  // Servoobjekt erstellen, um einen Servomotor zu steuern
void setup() {
  myservo.attach(9);  // Bindet den Servomotor an Pin 9 an das Servoobjekt
}
void loop() {
  for (int pos = 0; pos <= 180; pos += 1) { // Geht von 0 Grad bis 180 Grad
    // in 1 Grad-Stufen
    myservo.write(pos);              // Servo anweisen, in Position von Variable 'pos' zu gehen
    delay(15);                       // Wartet 15ms, bis der Servomotor die Position erreicht hat
  }
  for (int pos = 180; pos >= 0; pos -= 1) { // Geht von 180 Grad bis 0 Grad
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Further syntax
            > Define
          
#define
          [Further Syntax]
          
Beschreibung
> Define
          
#define
          [Further Syntax]
          
Beschreibung
#define ist eine nützliche C ++ - Komponente, mit der der Programmierer einem konstanten Wert einen Namen geben kann, bevor das Programm kompiliert wird.
Definierte Konstanten in Arduino belegen keinen Programmspeicherplatz auf dem Chip.
Der Compiler ersetzt zur Kompilierzeit Verweise auf diese Konstanten durch den definierten Wert.
Dies kann jedoch einige unerwünschte Nebenwirkungen haben, wenn zum Beispiel ein konstanter Name, der #defined wurde, in einer anderen Konstanten- oder Variablenname enthalten ist.
In diesem Fall würde der Text durch die #definierte Nummer (oder den Text) ersetzt.
Generell sollte das const-Schlüsselwort für die Definition von Konstanten bevorzugt und anstelle von #define verwendet werden.
Syntax
#define Konstantenname Wert
Parameter
Konstantenname: Der Name des zu definierenden Makros.
Wert: Der Wert, der dem Makro zugewiesen werden soll.
Beispielcode
#define ledPin 3
// Der Compiler ersetzt alle Erwähnungen von ledPin zur Kompilierzeit durch den Wert 3.
Anmerkungen und Warnungen
Es gibt kein Semikolon nach der Anweisung #define. Wenn eines hinzufügt wird, so wirft der Compiler weiter unten auf der Seite kryptische Fehler aus.
#define ledPin 3;    // Das ist ein Fehler
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Further syntax
            > Blockcomment
          
/* */
          [Further Syntax]
          
Beschreibung
/* */
          [Further Syntax]
          
Beschreibung
Kommentare sind Zeilen im Programm, die dazu dienen, sich oder andere über die Funktionsweise des Programms zu informieren.
Sie werden vom Compiler ignoriert und nicht in den Prozessor exportiert, sodass sie keinen Platz im Flash-Speicher des Mikrocontrollers beanspruchen.
Der einzige Zweck von Kommentaren besteht darin, zu helfen (zu verstehen oder sich daran zu erinnern) oder andere über die Funktionsweise des Programms zu informieren.
Der Anfang eines Blockkommentars oder eines mehrzeiligen Kommentars ist mit dem Symbol /* gekennzeichnet und das Symbol */ markiert sein Ende.
Diese Art von Kommentar wird aufgerufen, da sich dieser über mehrere Zeilen erstrecken kann. Sobald der Compiler das /* liest, ignoriert er alles, was folgt, bis er ein */ findet.
Beispielcode
/* Dies ist ein gültiger Kommentar */
/*
  Blink
  Schaltet eine LED für eine Sekunde ein und dann für eine Sekunde wiederholt aus.
  Dieser Beispielcode ist im öffentlichen Bereich.
  (Ein weiterer gültiger Kommentar)
*/
/*
  if (gwb == 0) {   // Ein einzeiliger Kommentar ist in einem mehrzeiligen Kommentar in Ordnung
    x = 3;           /* aber kein weiterer mehrzeiliger Kommentar - das ist ungültig */
  }
}
// Vergiss nicht den abschließenden Kommentar - Die Klammern müssen zusammenpassen!
*/
Anmerkungen und Warnungen
Beim Experimentieren mit Code ist das Herauskommentieren von Programmteilen eine bequeme Möglichkeit, fehlerhafte Zeilen zu entfernen.
Dadurch bleiben die Zeilen im Code erhalten, werden jedoch in Kommentare umgewandelt, sodass der Compiler sie einfach ignoriert.
Dies kann besonders nützlich sein, wenn du versuchst, ein Problem zu finden, oder wenn ein Programm die Kompilierung ablehnt und
der Compilerfehler kryptisch oder nicht hilfreich ist.
Siehe auch
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Further syntax
            > Curlybraces
          
{}
          [Further Syntax]
          
Beschreibung
{}
          [Further Syntax]
          
Beschreibung
Geschweifte Klammern (auch als "geschweifte Klammern" oder "geschweifte Klammern" bezeichnet) sind ein Hauptbestandteil der Programmiersprache C ++.
Sie werden in mehreren verschiedenen Konstrukten verwendet (siehe unten), was für Anfänger manchmal verwirrend sein kann.
Auf eine öffnende geschweifte Klammer { muss immer eine schließende geschweifte Klammer } folgen.
Dies ist eine Bedingung, die oft als ausgeglichene Klammern bezeichnet wird.
Die Arduino IDE (Integrated Development Environment) enthält eine praktische Funktion zum Überprüfen des Gleichgewichts von geschweiften Klammern.
Wähle einfach eine geschweifte Klammer aus oder klicke auf die Einfügemarke unmittelbar nach einer geschweiften Klammer. Der logische Begleiter wird hervorgehoben.
Anfänger und Programmierer, die aus der BASIC-Sprache zu C ++ kommen, finden Klammern oft verwirrend oder abschreckend.
Letztendlich aber, ersetzen dieselben geschweiften Klammern die RETURN-Anweisung in einer Subroutine (Funktion), die ENDIF-Anweisung in einer Bedingung und die NEXT-Anweisung in einer FOR-Schleife.
Unausgeglichene geschweifte Klammern können oft zu kryptischen, undurchdringlichen Compiler-Fehlern führen, die in einem großen Programm manchmal schwer zu finden sind.
Aufgrund ihrer unterschiedlichen Verwendungsmöglichkeiten sind Klammern auch für die Syntax eines Programms unglaublich wichtig.
Wenn du eine oder zwei Zeilen einer Klammer verschiebst, hat dies oft einen dramatischen Einfluss auf die Bedeutung eines Programms.
Beispielcode
Die Hauptanwendungen von geschweiften Klammern sind in den folgenden Beispielen aufgeführt.
Funktionen
void myFunction(Datentyp Argument){
  // Beliebige Anweisung(en)
}
Schleifen
while (Boolean-Ausdruck) {
   // Beliebige Anweisung(en)
}
do {
  // Beliebige Anweisung(en)
} while (Boolean-Ausdruck);
for (Initialisierung; Schlussbedingung; inkrementierender Ausdruck) {
// Beliebige Anweisung(en)
}
Bedingte Anweisungen
if (Boolean-Ausdruck) {
  // Beliebige Anweisung(en)
}
else if (Boolean-Ausdruck) {
  // Beliebige Anweisung(en)
}
else {
  // Beliebige Anweisung(en)
}
Siehe auch
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Further syntax
            > Semicolon
          
;
          [Further Syntax]
          
Beschreibung
Wird verwendet, um eine Anweisung zu beenden.
Beispielcode
Wird verwendet, um eine Anweisung zu beenden.
Beispielcode
int a = 13;
float b = 17.1;
Anmerkungen und Warnungen
Wenn du vergisst, eine Zeile in einem Semikolon zu beenden, wird ein Compiler-Fehler ausgegeben.
Der Fehlertext kann offensichtlich sein und sich auf ein fehlendes Semikolon beziehen oder nicht.Wenn ein undurchdringlicher oder
scheinbar unlogischer Compiler-Fehler auftritt, ist eines der ersten zu überprüfenden Dinge ein fehlendes Semikolon in unmittelbarer Nähe
vor der Zeile, in der sich der Compiler beschwert hat.
Siehe auch
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Further syntax
            > Singlelinecomment
          
//
          [Further Syntax]
          
Beschreibung
//
          [Further Syntax]
          
Beschreibung
Kommentare sind Zeilen im Programm, die dazu dienen, sich oder andere über die Funktionsweise des Programms zu informieren.
Sie werden vom Compiler ignoriert und nicht in den Prozessor exportiert, sodass sie keinen Platz im Flash-Speicher des Mikrocontrollers beanspruchen.
Der einzige Zweck von Kommentaren besteht darin, zu helfen (zu verstehen oder sich daran zu erinnern) oder andere über die Funktionsweise des Programms zu informieren.
Ein einzeiliger Kommentar beginnt mit // (zwei nebeneinanderliegende Schrägstriche).
Dieser Kommentar endet automatisch am Ende einer Zeile. Alles, was bis zum Ende einer Zeile auf // folgt, wird vom Compiler ignoriert.
Beispielcode
Beispielcode
Es gibt zwei Möglichkeiten, eine Zeile als Kommentar zu kennzeichnen:
// An Pin 13 ist an den meisten Arduino-Boards eine LED angeschlossen.
int led = 13;
digitalWrite(led, HIGH); // LED einschalten (HIGH ist der Spannungspegel)
Anmerkungen und Warnungen
Beim Experimentieren mit Code ist das Herauskommentieren von Programmteilen eine bequeme Möglichkeit, fehlerhafte Zeilen zu entfernen.
Dadurch bleiben die Zeilen im Code erhalten, werden jedoch in Kommentare umgewandelt, sodass der Compiler sie einfach ignoriert.
Dies kann besonders nützlich sein, wenn Sie versuchen, ein Problem zu finden, oder wenn ein Programm die Kompilierung ablehnt und der Compilerfehler kryptisch oder nicht hilfreich ist.
Siehe auch
Sprache
Funktionen
Variablen
Struktur
Bibliotheken
IoT Cloud API
Glossar
        Der Arduino-Referenztext ist lizenziert unter der Creative Commons Attribution-Share Alike 3.0 Lizenz.
    
    Findest du etwas, das verbessert werden kann? Über GitHub kannst du Korrekturen und neue Dokumentation vorschlagen.
    Zweifel, wie man Github benutzt? Erfahre in diesem Tutorial alles, was du wissen musst.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Bearbeite diese Seite
Reference
            >  Language
            >  Structure
            >  Comparison operators
            > Lessthanorequalto
          
<=
          [Comparison Operators]
          
Beschreibung
<=
          [Comparison Operators]
          
Beschreibung
Vergleicht die linke Variable mit dem Wert oder der Variablen rechts vom Operator. Gibt true zurück, wenn der Operand links kleiner oder gleich dem Operanden rechts ist.
Syntax
x ⇐ y;   // Ist true, wenn x kleiner oder gleich y ist und false, wenn x größer als y ist
Parameter
x: Variable. Erlaubte Datentypen: int, float, double, byte, short, long.
y: Variable oder Konstante. Erlaubte Datentypen: int, float, double, byte, short, long.
Beispielcode
if (x <= y) { // Prüft, ob x kleiner oder gleich y ist
  // Tue etwas nur dann, wenn das Vergleichsergebnis wahr ist
}
Anmerkungen und Warnungen