20 (SDA), 21 (SCL), SDA1, SCL1
As of Arduino 1.0, the library inherits from the Stream functions, making it consistent with other read/write libraries. Because of this, send() and receive() have been replaced with read() and write().
Recent versions of the Wire library can use timeouts to prevent a lockup in the face of certain problems on the bus, but this is not enabled by default (yet) in current versions. It is recommended to always enable these timeouts when using the Wire library. See the Wire.setWireTimeout function for more details.


Note: There are both 7 and 8-bit versions of I2C addresses. 7 bits identify the device, and the eighth bit determines if it’s being written to or read from. The Wire library uses 7 bit addresses throughout. If you have a datasheet or sample code that uses 8-bit address, you’ll want to drop the low bit (i.e. shift the value one bit to the right), yielding an address between 0 and 127. However the addresses from 0 to 7 are not used because are reserved so the first address that can be used is 8. Please note that a pull-up resistor is needed when connecting SDA/SCL pins. Please refer to the examples for more information. MEGA 2560 board has pull-up resistors on pins 20 and 21 onboard.


The Wire library implementation uses a 32 byte buffer, therefore any communication should be within this limit. Exceeding bytes in a single transmission will just be dropped.
To use this library:
#include <Wire.h>
Functions
begin()
end()
requestFrom()
beginTransmission()
write()
available()
read()
setClock()
onReceive()
onRequest()
setWireTimeout()
clearWireTimeoutFlag()
getWireTimeoutFlag()


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
            >  Functions
            >  Communication
            > Spi

SPI
          [Communication]

Description


> Spi

SPI
          [Communication]

Description
This library allows you to communicate with SPI devices, with the Arduino as the controller device. This library is bundled with every Arduino platform (avr, megaavr, mbed, samd, sam, arc32), so you do not need to install the library separately.
To use this library
#include <SPI.h>
To read more about Arduino and SPI, you can visit the Arduino & Serial Peripheral Interface (SPI) guide.
Functions
SPISettings
begin()
beginTransaction()
end()
setBitOrder()
setClockDivider()
setDataMode()
transfer()
usingInterrupt()


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
            >  Functions
            >  Communication
            > Stream

Stream
          [Communication]

Beschreibung


> Stream

Stream
          [Communication]

Beschreibung
Stream ist die Basisklasse für zeichen- und binärbasierte Streams. Es wird nicht direkt aufgerufen, sondern immer dann aufgerufen, wenn du eine Funktion verwendest, die darauf angewiesen ist.
Stream definiert die Lesefunktionen in Arduino. Wenn du eine Kernfunktion verwendest, die eine read() oder eine ähnliche Methode verwendet, kannst du davon ausgehen, dass sie die Stream-Klasse aufruft.
Für Funktionen wie print() erbt Stream von der Print-Klasse.
Zu den Bibliotheken, die Stream verwenden, gehören:
Serial
Wire
Ethernet
SD
Funktionen
available()
read()
flush()
find()
findUntil()
peek()
readBytes()
readBytesUntil()


find()
findUntil()
peek()
readBytes()
readBytesUntil()
readString()
readStringUntil()
parseInt()
parseFloat()
setTimeout()
See also


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
            >  Functions
            >  Communication
            > Serial

Serial
          [Communication]

Beschreibung


> Serial

Serial
          [Communication]

Beschreibung
Wird für die Kommunikation zwischen dem Arduino-Board und einem Computer oder anderen Geräten verwendet. Alle Arduino-Boards haben mindestens eine serielle Schnittstelle (auch als UART oder USART bezeichnet) und andere haben mehrere.
Board
USB CDC Name
Serielle Pins
Serial1 Pins
Serial2 Pins
Serial3 Pins
Uno, Nano, Mini
0(RX), 1(TX)
Mega
0(RX), 1(TX)
19(RX), 18(TX)
17(RX), 16(TX)
15(RX), 14(TX)
Leonardo, Micro, Yún
Serielle Schnittstelle
0(RX), 1(TX)
Uno WiFi Rev.2
An USB angeschlossen


Uno WiFi Rev.2
An USB angeschlossen
0(RX), 1(TX)
Verbunden mit NINA
MKR boards
Serielle Schnittstelle
13(RX), 14(TX)
Zero
SerialUSB (Nur nativer USB-Anschluss)
Verbunden mit dem Programmierport
0(RX), 1(TX)
Due
SerialUSB (Nur nativer USB-Anschluss)
0(RX), 1(TX)
19(RX), 18(TX)
17(RX), 16(TX)
15(RX), 14(TX)
101
Serielle Schnittstelle
0(RX), 1(TX)


101
Serielle Schnittstelle
0(RX), 1(TX)
Auf dem Uno, Nano, Mini und Mega werden die Pins 0 und 1 für die Kommunikation mit dem Computer verwendet. Wenn du irgendetwas an diese Pins anschließt, kann dies die Kommunikation beeinträchtigen.
Du kannst den eingebauten seriellen Monitor der Arduino-Umgebung verwenden, um mit einem Arduino-Board zu kommunizieren. Klicke in der Symbolleiste auf die Schaltfläche für den seriellen Monitor und wähle dieselbe Baudrate aus, die für den Aufruf von begin() verwendet wird.


Die serielle Kommunikation an den Pins TX / RX verwendet TTL-Logikpegel (5 V oder 3,3 V je nach Board). Verbinde diese Pins nicht direkt mit einer seriellen RS232-Schnittstelle. Sie arbeiten mit +/- 12 V und können dein Arduino-Board beschädigen.
Um diese zusätzlichen seriellen Anschlüsse für die Kommunikation mit deinem PC zu verwenden, benötigst du einen zusätzlichen USB-zu-Seriell-Adapter, da diese nicht an den USB-zu-Seriell-Adapter des Mega angeschlossen sind.
Um sie zur Kommunikation mit einem externen seriellen TTL-Gerät zu verwenden, verbinde den TX-Pin mit dem RX-Pin deines Geräts, den RX mit dem TX-Pin deines Geräts und die Masse deines Mega mit der Masse deines Geräts.


Funktionen
if(Serial)
available()
availableForWrite()
begin()
end()
find()
findUntil()
flush()
parseFloat()
parseInt()
peek()
print()
println()
read()
readBytes()
readBytesUntil()
readString()
readStringUntil()
setTimeout()
write()
serialEvent()
Siehe auch
BEISPIEL ReadASCIIString
BEISPIEL ASCII-Tabelle
BEISPIEL Dimmer
BEISPIEL Graph
BEISPIEL Physikalischer Pixel
BEISPIEL Serielle Antwort auf einen Call
BEISPIEL Serielle Antwort auf einen Call ASCII


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
            >  Functions
            >  Usb
            > Keyboard

Keyboard
          [USB]

Beschreibung


> Keyboard

Keyboard
          [USB]

Beschreibung
Die keyboard-Funktionen ermöglichen es, 32u4- oder SAMD-micro-basiertend boards, Tastenanschläge an einen verbundenen Computer über dessen nativen USB-Port zu senden.
Anmerkung: Nicht jedes mögliche ASCII-Zeichen kann eingegeben werden. Besonders die Nichtdruckbaren Zeichen können nicht über die Bilbiothek eingegeben werden.
Die Bibliothek unterstützt die Verwendung von Hotkey. Hotkeys verändern das Verhalten anderer Tasten, wenn diese gleichzeitig gedrückt werden.
Siehe hier für weitere Informationen über die unterstützten Tasten und deren Benutzung.
Anmerkungen und Warnungen


Anmerkungen und Warnungen
Diese Core-Bibliotheken erlauben es 32u4- oder SAMD-basierten Boards (Leonardo, Esplora, Zero, Due und MKR Family), als native Maus und/oder Tastatur auf dem verbundenen Computer zu erscheinen.
*Achtung: Wenn die Maus oder Tastatur permanent läuft, wird es schwer, das Board noch zu programmieren. Funktionen wie Mouse.move() und Keyboard.print() bewegen den Cursor oder senden Tastenanschläge
an den verbundenen Computer. Diese Funktionen sollten nur aufgerufen werden, wenn das Programm diese behandeln kann. Es wird deshalb empfohlen, ein Kontrollsystem zu nutzen, z.B. einen physikalischen Schalter
oder nur auf bestimmte Eingaben zu antworten. Die Beispiele liefern weitere Informationen dazu.


Wenn die Mouse- oder Keyboard-Bibliothek benutzt wird, sollte die Ausgabe zunächst mit Serial.print() überprüft werden. Auf diesem Weg kann man sich sicher sein, dass die richtigen Werte an den verbundenen
Computer gesendet werden.
Funktionen
Keyboard.begin()
Keyboard.end()
Keyboard.press()
Keyboard.print()
Keyboard.println()
Keyboard.release()
Keyboard.releaseAll()
Keyboard.write()
Siehe auch
BEISPIEL KeyboardAndMouseControl: Zeigt, wie die Mouse- und Keyboard-Bibliothek verwendet werden.
BEISPIEL KeyboardMessage: Sendet einen Text, wenn ein Button gedrückt wird.
BEISPIEL KeyboardLogout: Loggt den aktuellen Benutzer aus.
BEISPIEL KeyboardSerial: Liest ein Byte von einem seriellen Port und liefert einen Tastenanschlag zurück.


BEISPIEL KeyboardReprogram: Öffnet ein neues Fenster in der Arduino IDE und lädt ein simples Blinkprogramm auf das Board.


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
            >  Functions
            >  Usb
            > Mouse

Mouse
          [USB]

Beschreibung


> Mouse

Mouse
          [USB]

Beschreibung
Die mouse-Funktionen ermöglichen es, auf 32u4- oder SAMD-micro-basiertend Boards den Mauszeiger auf einem verbundenem Computer über dessen nativen USB-Port zu steuern.
Wenn man die Mauszeigerposition ändert, so ist die neue Position immer relativ zu der vorhergehenden Position.
Anmerkungen und Warnungen
Diese Core-Bibliotheken erlauben es 32u4- oder SAMD-basierten Boards (Leonardo, Esplora, Zero, Due und MKR Family), als native Maus und/oder Tastatur auf dem verbundenen Computer zu erscheinen.


*Achtung: Wenn die Maus oder Tastatur permanent läuft, wird es schwer, das Board noch zu programmieren. Funktionen wie Mouse.move() und Keyboard.print() bewegen den Cursor oder senden Tastenanschläge
an den verbundenen Computer. Diese Funktionen sollten nur aufgerufen werden, wenn das Programm diese behandeln kann. Es wird deshalb empfohlen, ein Kontrollsystem zu nutzen, z.B. einen physikalischen Schalter
oder nur auf bestimmte Eingaben zu antworten.
Wenn die Mouse- oder Keyboard-Bibliothek benutzt wird, sollte die Ausgabe zunächst mit Serial.print() überprüft werden. Auf diesem Weg kann man sich sicher sein, dass die richtigen Werte an den verbundenen
Computer gesendet werden. Die Beispiele liefern weitere Informationen dazu.
Funktionen
Mouse.begin()
Mouse.click()
Mouse.end()


Funktionen
Mouse.begin()
Mouse.click()
Mouse.end()
Mouse.move()
Mouse.press()
Mouse.release()
Mouse.isPressed()
Siehe auch
BEISPIEL KeyboardAndMouseControl: Zeigt, wie die Mouse- und Keyboard-Bibliothek verwendet werden.
BEISPIEL ButtonMouseControl: Steuert den Mauszeiger mit 5 Buttons.
BEISPIEL JoystickMouseControl: Steuert den Mauszeiger eines Computers mit einem Joystick, wenn ein Button gedrückt wird.


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
            >  Functions
            >  External interrupts
            > Detachinterrupt

detachInterrupt()
          [External Interrupts]

Beschreibung
Deaktiviert den übergebenen Interrupt.
Syntax
detachInterrupt()


Beschreibung
Deaktiviert den übergebenen Interrupt.
Syntax
detachInterrupt()
detachInterrupt(pin) (Nur Arduino Due)
detachInterrupt(digitalPinToInterrupt(pin)) (Empfohlen)
detachInterrupt(interrupt) (Nicht empfohlen)
detachInterrupt(pin) (Nicht empfohlen; Funktioniert nur auf Arduino SAMD-, Uno WiFi Rev2-, Due- und 101-Boards.)
Parameter
interrupt: Die Interruptnummer des Interrupts, der deaktiviert werden soll (Siehe attachInterrupt() für weitere Informationen).
pin: Die Arduino-Pinnummer des Interrupts, der deaktiviert werden soll.
Rückgabewert
Nichts.
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
            >  Functions
            >  External interrupts
            > Attachinterrupt

attachInterrupt()
          [External Interrupts]

Beschreibung
Digitalpins, die Interrupts unterstützen


Beschreibung
Digitalpins, die Interrupts unterstützen
Der erste Parameter von attachInterrupt() ist die Interruptnummer. Im Normalfall solltest du digitalPinToInterrupt(pin) benutzen, um
die tatsächlichen Digitalpins auf die Interruptnummer umzuwandeln. Wenn du z.B. auf Pin 3 verbinden willst, benutze digitalPinToInterrupt(3)
als ersten Parameter für attachInterrupt().
Board
Benutzbare Digitalpins für Interrupts
Uno, Nano, Mini, andere 328-basierte
2, 3
Uno WiFi Rev.2
Alle Digital-Pins
Uno WiFi Rev.2, Nano Every
Alle Digital-Pins
Mega, Mega2560, MegaADK
2, 3, 18, 19, 20, 21
Micro, Leonardo, andere 32u4-basierte


Micro, Leonardo, andere 32u4-basierte
0, 1, 2, 3, 7
Zero
Alle Digital-Pins außer Pin 4
MKR Family-Boards
0, 1, 4, 5, 6, 7, 8, 9, A1, A2
Nano 33 IoT
2, 3, 9, 10, 11, 13, 15, A5, A7
Nano 33 BLE, Nano 33 BLE Sense
Alle Pins
Due
Alle Digital-Pins
101
Alle Digital-Pins (Nur Pins 2, 5, 7, 8, 10, 11, 12, 13 funktionieren mit CHANGE)
Anmerkungen und Warnungen


Anmerkungen und Warnungen
Innerhalb der vom Interrupt ausgelösten Funktion wird delay() nicht funktionieren und millis() nicht hochzählen. Empfangene Serielle Daten
in der Funktion können verloren gehen. Variablen, die innerhalb der Funktion verarbeitet werden, sollten als volatile gekennzeichnet werden.
Siehe dazu auch den Abschnitt zu Interrupt Service Routinen weiter unten.
Benutzung von Interrupts
Interrupts sind nützlich, um bestimmte Tasks in Microkontrollerprogrammen automatisch ablaufen zu lassen und können helfen, Timingprobleme zu lösen.
Gute Beispiele dafür sind das Lesen eines Drehgebers sowie das Einlesen von Benutzereinaben.
Wenn du z.B. sicherstellen willst, dass das Programm alle Stromimpulse eines Drehgebers messen kann, wäre es sehr schwer ein Programm zu schreiben, das


noch andere Aufgaben zusätzlich erfüllt, weil das Programm sonst immer den Sensor pollen (d.h. permanent abfragen) müsste. Andere Sensoren haben eine
ähnliche Interfacedynamik: Das Auslesen eines Geräuschsensors oder eines Infrarotsensors funktioniert ähnlich. Interrupts können dabei helfen, dass
der Microkontroller andere weitere Aufgaben zusätzlich ausführen kann, trotzdem aber keine Eingaben verliert.
Über Interrupt Service Routinen
Interrupt Service Routinen sind spezielle Funktionen, die einige eindeutige Limitierungen haben als "normale" Funktionen: Interrupt Service Routinen können
keine Parameter besitzen und sollten nichts zurückgeben. Interrupt Service Routinen sollten generell so kurz und schnell wie möglich sein.


Wenn dein Sketch mehrere Interrupt Service Routinen benutzt, kann nur eine auf einmal laufen. Andere Interrupts werden aufgerufen, nachdem die erste Interrupt
Service Routine beendet ist. Die Reihenfolge hängt dabei von der Priorität der Routinen ab.
millis() verlässt sich zum Zählen auf Interrupts, wird also in einer Interrupt Service Routine niemels hochzählen. delay() benutzt ebenfalls Interrupts
und wird deshalb gar nicht in einer Interrupt Service Routine funktionieren. micros() wird anfangs gut funktionieren, aber nach circa 1 bis 2 ms sich
unvorhersehbar verhalten. delayMicroseconds() benutzt keine Zähler und wird deshalb normal funktionieren.
Normalerweise werden globale Variablen benutzt, um Daten zwischen Interrupt Service Routinen und dem Hauptprogramm zu tauschen. Dass die Variablen dabei


korrekt geändert werden, sollten sie als volatile deklariert werden.
Für weitere Informationen zu Interrupts, siehe auch Nick Gammon’s Anmerkungen.
Syntax
attachInterrupt(digitalPinToInterrupt(pin), ISR, mode)	(Empfohlen)
attachInterrupt(interrupt, ISR, mode)	(Nicht empfohlen)
attachInterrupt(pin, ISR, mode)	(Nicht empfohlen; Funktioniert nur auf Arduino SAMD-, Uno WiFi Rev2-, Due- und 101-Boards.)
Parameter
interrupt: Die Interruptnummer. Erlaubte Datentypen: int.+
pin: Die Arduino-Pinnummer.
ISR: Die Interrupt Service Routine, die aufgerufen werden soll. Die Funktion darf keine Parameter haben und nichts zurückgeben.
mode: Definiert, wann der Interrupt getriggert werden soll. 4 Konstanten sind dafür definiert:


LOW Interrupt wird getriggert, wenn der Pin LOW ist,
CHANGE Interrupt wird getriggert, wenn der Pin den Wert ändert
RISING Interrupt wird getriggert, wenn der Pin von LOW auf HIGH wechselt,
FALLING Interrupt wird getriggert, wenn der Pin von HIGH auf LOW wechselt.
Die Due-, Zero- und MKR1000-Boards erlauben zusätzlich:
HIGH Interrupt wird getriggert, wenn der Pin HIGH ist.
Rückgabewert
Nichts.
Beispielcode
Lässt eine LED blinken.
// Setze den Pin für die LED auf 13
const byte ledPin = 13;
// Setze den Interruptpin auf 2
const byte interruptPin = 2;
// Definiere eine globale volatile Variable für den Status der LED
volatile byte state = LOW;


volatile byte state = LOW;
void setup() {
  // Lege den Pin für die LED als Outputpin fest
  pinMode(ledPin, OUTPUT);
  // Lege den Interruptpin als Inputpin mit Pullupwiderstand fest
  pinMode(interruptPin, INPUT_PULLUP);
  // Lege die ISR 'blink' auf den Interruptpin mit Modus 'CHANGE':
  // "Bei wechselnder Flanke auf dem Interruptpin" --> "Führe die ISR aus"
  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}
void loop() {
  // Schreibe den Status der LED auf den LED-Pin zurück:
  // "Schalte die LED an oder aus"
  digitalWrite(ledPin, state);
}
void blink() {


digitalWrite(ledPin, state);
}
void blink() {
  // Invertiere den Status: "Lass die LED blinken von HIGH auf LOW/ an auf aus"
  state = !state;
}
Interruptnummern
Im Normalfall solltest du digitalPinToInterrupt(pin) benutzen anstatt den Interruptnummer direkt zu setzen. Die Interruptpins und deren Mapping
variiert von Board zu Board. Wenn der Sketch also auf einem anderen Board ausgeführt werden soll, kann es schnell zu Problemen kommen.
Alte Sketches haben oft direkte Interruptnummern angegeben. Oft wurden Pin 0 (Digitalpin 2) oder Pin 1 (Digitalpin 3) verwendet. Die Tabelle unten
zeigt, welche Interruptpins auf welchem Board verfügbar sind.


zeigt, welche Interruptpins auf welchem Board verfügbar sind.
In der Tabelle unten sind die Interruptpins definiert als die Nummer, die an attachInterrupt() übergeben wird. Aus historischen Gründen stimmt
diese Nummerierung nicht immer mit den Inputnummern auf dem ATmega-Chip überein (z.B. int.0 ist INT4 auf dem ATmega2560-Chip).
Board
int.0
int.1
int.2
int.3
int.4
int.5
Uno, Ethernet
2
3
Mega2560
2
3
21
20
19
18
32u4 based (e.g Leonardo, Micro)
3
2
0
1
7
Für Due, Zero, MKR1000 und 101 Boards gilt: Interruptnummer = Pinnummer.
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
            >  Functions
            >  Analog io
            > Analogreference

analogReference()
          [Analog I/O]

Beschreibung


analogReference()
          [Analog I/O]

Beschreibung
Konfiguriert die Referenzspannung, die für analoge Eingabe-Pins genutzt wird (z.B. Der maximal Wert der Eingangsspannung). Dabei sind die folgenden Optionen verfügbar:
Arduino AVR Boards (Uno, Mega, Leonardo, etc.)
DEFAULT: Default analoge Einstellung (5 V für 5 V-Arduino; 3,3 V für 3,3 V-Arduinos)
INTERNAL: Eingebaute Referenz; Festgelegt auf 1,1 V auf dem ATmega168 oder ATmega328P und 2,56 V auf dem ATmega32U4 und ATmega8 (Nicht verfügbar auf dem Arduino Mega)
INTERNAL1V1: Eingebaute Referenz; 1,1 V (Nur Arduino Mega)


INTERNAL2V56: Eingebaute Referenz; 2,56 V (Nur Arduino Mega)
EXTERNAL: Die Spannung, die auf dem AREF-Pin (nur 0 bis 5 V) angelegt ist, wird als Referenz verwendet.
Arduino SAMD Boards (Zero, etc.)
AR_DEFAULT: Default analoge Einstellung von 3,3 V
AR_INTERNAL: Eingebaute Referenz von 2,23 V
AR_INTERNAL1V0: Eingebaute Referenz von 1,0 V
AR_INTERNAL1V65: Eingebaute Referenz von 1,65 V
AR_INTERNAL2V23: Eingebaute Referenz von 2,23 V
AR_EXTERNAL: Die Spannung, die auf dem AREF-Pin angelegt ist, wird als Referenz verwendet.
Arduino megaAVR Boards (Uno WiFi Rev2)


Arduino megaAVR Boards (Uno WiFi Rev2)
DEFAULT: Eingebaute Referenz von 0,55 V
INTERNAL: Eingebaute Referenz von 0,55 V
VDD: Vdd des ATmega4809. 5V auf dem Uno WiFi Rev2
INTERNAL0V55: Eingebaute Referenz von 0,55 V
INTERNAL1V1: Eingebaute Referenz von 1,1 V
INTERNAL1V5: Eingebaute Referenz von 1,5 V
INTERNAL2V5: Eingebaute Referenz von 2,5 V
INTERNAL4V3: Eingebaute Referenz von 4,3 V
EXTERNAL: Die Spannung, die auf dem AREF-Pin (nur 0 bis 5 V) angelegt ist, wird als Referenz verwendet.
Arduino SAM Boards (Due)


Arduino SAM Boards (Due)
AR_DEFAULT: Default analoge Einstellung von 3,3 V. Dies ist die einzige unterstützte Option für den Due.
Arduino mbed-fähige Boards (Nur Nano 33 BLE): Verfügbar, wenn die Arduino mbed-fähige-Plattform verwendet wird oder, wenn die Arduino nRF528x Boards (Mbed OS)-Plattform (in Version 1.1.6 oder neuer) verwendet wird.
AR_VDD: Die Standardreferenz von 3,3 V.
AR_INTERNAL: Eingebaute Referenz von 0,6 V
AR_INTERNAL1V2: 1.2 V Referenz (interne 0.6 V Referenz mit Faktor 2)
AR_INTERNAL2V4: 2.4 V Referenz (interne 0.6 V Referenz mit Faktor 4)
Syntax


Syntax
analogReference(type)
Parameter
type: Welche Art von Einstellung benutzt werden soll (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, oder EXTERNAL).
Rückgabewert
Nichts.
Anmerkungen und Warnungen
Wenn die Referenzspannung geändert wird, können die ersten Messwerte von analogRead() fehlerhaft sein.
Benutze niemals Spannungen geringer als 0 V oder höher als 5 V für externe Referenzspannungen auf dem AREF-Pin! Wenn du eine externe Referenzspannung auf dem AREF-Pin nutzen willst, musst du zunächst die analoge Referenzspannung auf EXTERNAL setzen, bevor du analogRead() nutzen kannst.


Sonst kann es dazu führen, dass auf dem Board ein Kurzschluss entsteht zwischen interner und auf dem AREF-Pin angelegter Spannung. Dies kann eine Beschädigung des Mikrokontrollers oder Boards zur Folge haben.


Alternativ kannst du die externe Referenzspannung auf dem AREF-Pin über einen 5k-Widerstand verbinden. Das hat den Vorteil, dass du zwischen externer und interner Referenzspannung wechseln kannst. Beachte auch, dass sich dadurch die Nutzungsspannung ändert, weil der AREF-Pin einen internen 32K-Widerstand besitzt. Diese 2 Widerstände funktionieren als Spannungsteiler. Wenn also 2,5 V durch den Widerstand fließen, werden auf dem AREF-Pin 2.5 * 32 / (32 + 5) V = ~2.2 V anliegen.
Siehe auch
BEISPIEL Beschreibung der analogen Eingangspins


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
            >  Functions
            >  Analog io
            > Analogwrite

analogWrite()
          [Analog I/O]

Beschreibung


analogWrite()
          [Analog I/O]

Beschreibung
Schreibt einen Analogwert (PWM-Welle) auf einen Pin. Kann z.B. benutzt werden, um eine LED mit verschiedener Helligkeit leuchten zu lassen oder einen Motor mit
unterschiedlicher Geschwindigkeit laufen zu lassen. Nach Aufruf von analogWrite() generiert die Funktion eine stetige Rechteckwelle mit angegebenem Zyklus,
bis der nächste Aufruf von analogWrite() (oder digitalRead() oder digitalWrite()) auf dem gleichen Pin erfolgt.
Board
PWM-Pins
PWM-Frequenz
Uno, Nano, Mini
3, 5, 6, 9, 10, 11
490 Hz (Pins 5 und 6: 980 Hz)
Mega
2 - 13, 44 - 46


Mega
2 - 13, 44 - 46
490 Hz (Pins 4 und 13: 980 Hz)
Leonardo, Micro, Yún
3, 5, 6, 9, 10, 11, 13
490 Hz (Pins 3 und 11: 980 Hz)
Uno WiFi Rev.2, Nano Every
3, 5, 6, 9, 10
976 Hz
MKR boards *
0 - 8, 10, A3 (18), A4 (19)
732 Hz
MKR1000 WiFi *
0 - 8, 10, 11, A3 (18), A4 (19)
732 Hz
Zero *
3 - 13, A0 (14), A1 (15)
732 Hz
Nano 33 IoT *


732 Hz
Nano 33 IoT *
2, 3, 5, 6, 9 - 12, A2, A3, A5
732 Hz
Nano 33 BLE/BLE Sense
1 - 13, A0 - A7
500 Hz
Due **
2-13
1000 Hz
101
3, 5, 6, 9
Pins 3 und 9: 490 Hz, Pins 5 und 6: 980 Hz
* Zusätzlich zu den oben erwähnten PWM-Funktionen für die Pins verfügen die MKR- und Zero-Boards über einen echten Analogausgang, wenn analogWrite() auf dem DAC0 (A0)-Pin benutzt wird.


** Zusätzlich zu den oben erwähnten PWM-Funktionen für die Pins verfügt das Due-Board über einen echten Analogausgang, wenn analogWrite() auf den DAC0 und DAC1-Pins benutzt wird.
Du musst einen Pin nicht explizit als Ausgabepin über pinMode() festlegen,
bevor du analogWrite() nutzt. Die analogWrite()-Funktion hat nichts mit analogen Pins oder der analogRead-Funktion zu tun.
Syntax
analogWrite(pin, value)
Parameter
pin: Der Arduino-Pin auf den geschrieben werden soll. Erlaubte Datentypen: int.
value: Die Zykluszeit. Werte zwischen 0 (immer aus) und 255 (immer an). Erlaubte Datentypen: int.
Rückgabewert
Nichts.
Beispielcode


Rückgabewert
Nichts.
Beispielcode
Setzt die Ausgabe auf dem LED-Pin proportional zu dem Wert, der von einem Potentiometer gelesen wird.
int ledPin = 9; // LED auf Digitalpin 9 verbunden
int analogPin = 3; // Potentiometer auf Pin 3 verbunden
int val = 0; // Variable, um den gelesenen Wert zu speichern
void setup() {
  pinMode(ledPin, OUTPUT); // Setzt den Pin als output.
}
void loop() {
  val = analogRead(analogPin); // Liest den Wert vom Pin ein
  analogWrite(ledPin, val / 4); // analogRead: Werte von 0 bis 1023, analogWrite: Werte von 0 bis 255
}
Anmerkungen und Warnungen


}
Anmerkungen und Warnungen
Die PWM-Ausgaben auf Pins 5 und 6 werden höhere Zyklen als erwartet haben. Dies passiert, weil die Funktionen millis() und delay() den gleichen internen Timer nutzen,
um diese PWM-Ausgaben zu generieren. In kleinen Zyklen (z.B. 0 bis 10) ist der Effekt am stärksten und kann dazu führen, dass der Wert 0 die Spannung auf Pin 5 und 6 nicht komplett wegnimmt,
d.h. dass z.B. bei Wert 0 die LED trotzdem leuchtet.
Siehe auch
SPRACHE analogWriteResolution()
DEFINITION PWM
BEISPIEL Blinken


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
            >  Functions
            >  Analog io
            > Analogread

analogRead()
          [Analog I/O]

Beschreibung


analogRead()
          [Analog I/O]

Beschreibung
Liest den Wert vom angegebenen analogen Pin ein. Die Arduino-Boards enthalten einen 10-Bit-Analog-zu-Digital-Konverter.
D.h. das Board mappt Eingangsspannungen zwischen 0 und 5 V auf Integer-Werte zwischen 0 und 1023.
Die erreichte Auflösung ist damit z.B. auf einem Arduino UNO 5 V / 1024 Teile oder 0,0049 V (4,9 mV) per Teil.
Siehe dazu auch die Tabelle unterhalb für die benutzbaren Pins, Betriebsspannung und die maximale Auflösung für einige Arduino-Boards.


Die Eingangsbreite can mit analogReference() geändert werden, die Auflösung mit analogReadResolution() (Nur für Arduino Zero, Due und MKR).
Auf den ATmega-basierten Boards (UNO, Nano, Mini, Mega), benötigt das Board circa 100 Mikrosekunden (0,0001 s), um einen analogen Inputpin zu lesen. Damit ist die maximale Lesegeschwindigkeit 10000 Lesevorgänge pro Sekunde.
Board
Betriebsspannung
Nutzbare Pins
Maximale Auflösung
Uno
5 Volt
A0 to A5
10 Bit
Mini, Nano
5 Volt
A0 to A7
10 Bit
Mega, Mega2560, MegaADK
5 Volt
A0 to A14
10 Bit
Micro
5 Volt
A0 to A11*
10 Bit


10 Bit
Micro
5 Volt
A0 to A11*
10 Bit
Leonardo
5 Volt
A0 to A11*
10 Bit
Zero
3.3 Volt
A0 to A5
12 Bit**
Due
3.3 Volt
A0 to A11
12 Bit**
MKR-Familie
3.3 Volt
A0 to A6
12 Bit**
*A0 bis A5 sind auf dem Board benannt, A6 bis A11 sind auf den Pins 4, 6, 8, 9, 10, und 12 verfügbar
**Die standardmäßige Auflösung von analogRead() ist bei diesen Boards 10 Bit aus Kompabilitätsgründen. Mit analogReadResolution() kann die Auflösung auf 12 Bit geändert werden.
Syntax
analogRead(pin)
Parameter


Syntax
analogRead(pin)
Parameter
pin: Der Pinname, von der gelesen werden soll (A0 bis A5 auf den meisten Boards, A0 bis A6 auf dem MKR, A0 bis A7 auf dem Mini und Nano, A0 bis A15 auf dem Mega)
Rückgabewert
Den analog gelesenen Wert auf dem Pin (int). Allerdings ist der Wert limitiert durch die Auflösung des Digital-Konverters (0-1023 für 10 Bit und 0-4095 für 12 Bit). Datentyp: int.
Beispielcode
Der Code liest die Spannung auf einem Analogpin und zeigt diese an.
int analogPin = A3; // Pin, der gelesen werden soll: Pin A3
int val = 0; // Variable, die den gelesenen Wert speichert
void setup() {


void setup() {
  Serial.begin(9600); // Setup der seriellen Verbindung
}
void loop() {
  val = analogRead(analogPin); // Pin einlesen
  Serial.println(val); // Wert ausgeben
}
Anmerkungen und Warnungen
Wenn der analoge Pin nicht verbunden ist, wird der zurückgegebene Wert schwanken basierend auf mehreren Faktoren (z.B. Die Werte der anderen analogen Pins, Wie nahe die Hand am Board ist, etc.).
Siehe auch
SPRACHE analogReadResolution()
BEISPIEL Beschreibung der analogen Eingangspins


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
            >  Functions
            >  Advanced io
            > Tone

tone()
          [Advanced I/O]

Beschreibung


tone()
          [Advanced I/O]

Beschreibung
Generiert einen Ton mit der angegebenen Frequenz (und 50% duty cycle) auf einem Pin. Eine Dauer des Tons kann festgelegt werden; Sonst wird der Ton abgespielt, bis ein noTone() aufgerufen wird.
Der Pin kann an einen Piezo oder an einen Lautsprecher angeschlossen werden, um Töne abzuspielen.
Nur ein Ton kann gleichzeitig abgespielt werden. Wenn bereits ein Ton auf einem anderen Pin abgespielt wird, hat tone() auf einem 2. Pin keinen Effekt. Wenn der Ton auf dem gleichen Pin gespielt wird, setzt
der Aufruf der Funktion die Frequenz des Tons.


der Aufruf der Funktion die Frequenz des Tons.
Die Nutzung der tone() Funktion interferiert mit PWM outputs auf Pin 3 und 11 (Auf Boards außer dem Arduino Mega).
Es ist nicht möglich, Töne mit einer Frequenz niedriger als 31Hz zu erstellen. Für technische Details, siehe Brett Hagman’s post.
Syntax
tone(pin, frequency)
tone(pin, frequency, duration)
Parameter
pin: Der Arduino-Pin, auf dem der Ton generiert werden soll.
frequency: Die Frequenz des Tons in Hertz. Erlaubte Datentypen: unsigned int.
duration: Die Dauer des Tons in Millisekunden (optional).  Erlaubte Datentypen: unsigned long.
Rückgabewert
Nichts.
Anmerkungen und Warnungen


Rückgabewert
Nichts.
Anmerkungen und Warnungen
Wenn du verschiedene Töne auf mehreren Pins spielen willst, musst du zunächst mit noTone() auf einem Pin den Ton stoppen und anschließend mit tone() auf dem nächsten Pin einen neuen Ton generieren.
Siehe auch
SPRACHE analogWrite()
BEISPIEL Töne
BEISPIEL Tonleiter
BEISPIEL Einfaches Keyboard
BEISPIEL Mehrere Töne
BEISPIEL PWM


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
            >  Functions
            >  Advanced io
            > Pulsein

pulseIn()
          [Advanced I/O]

Beschreibung


pulseIn()
          [Advanced I/O]

Beschreibung
Liest einen Wert von einem vorgegebenen Digitalpin ein, entweder HIGH oder LOW. Wenn value z.B. HIGH ist,
wartet pulseIn() darauf,dass der Pin auf den Wert HIGH wechselt, startet einen Timer und wartet anschließend darauf,
dass der Pin wieder auf LOW wechselt. Daraufhin stoppt pulseIn() den Timer. Gibt die Länge des Impulses in Mikrosekunden zurück.
Stoppt und gibt 0 zurück, wenn ein bestimmter Timeout erreicht wird.
Das Timing der Funktion wurde empirisch getestet und wird vermutlich bei einem längeren Impuls falsch messen. Die Funktion funktioniert mit Impulsen der Länge von 10 Mikrosekunden bis 3 Minuten.
Syntax
pulseIn(pin, value)


Syntax
pulseIn(pin, value)
pulseIn(pin, value, timeout)
Parameter
pin: Die Arduino-Pinnummer, an der der Impuls gelesen werden soll. Erlaubte Datentypen: int.
value: Welche Art von Impuls gelesen werden soll: Entweder HIGH oder LOW. Erlaubte Datentypen: int.
timeout (optional): Die Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde; Default-Wert ist eine Sekunde. Erlaubte Datentypen: unsigned long.
Rückgabewert
Die Länge des Impulses (in Mikrosekunden) oder 0, wenn kein Impuls vor dem Timeout gemessen wird. Datentyp: unsigned long.
Beispielcode
Das Beispiel gibt den Zeitraum eines Impulses auf Pin 7 aus.
int pin = 7;


int pin = 7;
unsigned long duration;
void setup() {
  Serial.begin(9600);
  pinMode(pin, INPUT);
}
void loop() {
  duration = pulseIn(pin, HIGH);
  Serial.println(duration);
}
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
            >  Functions
            >  Advanced io
            > Shiftin

shiftIn()
          [Advanced I/O]

Beschreibung


shiftIn()
          [Advanced I/O]

Beschreibung
Shiftet ein Byte von Daten, ein Bit pro Zeiteinheit. Beginnt entweder mit dem most significant bit (linkestes Bit) oder dem least significant bit (rechtestes Bit). Für jedes Bit wird der clock pin HIGH geschalten.
Anschließend wird das nächste Bit gelesen und der clock pin auf LOW gesetzt.
Wenn du mit einem Gerät arbeitest, das bei steigender Flanke die clock auslöst, musst du darauf achten, dass der clock pin LOW ist, bevor das erste Mal shiftIn() aufgerufen wird. Das ist z.B. möglich mit einem
Aufruf von digitalWrite(clockPin, LOW).


Aufruf von digitalWrite(clockPin, LOW).
Bemerkung: Das ist eine Softwareimplementierung; Arduino bietet auch eine SPI-Bibliothek an, die eine Hardwareimplementierung benutzt. Diese ist zwar schneller, funktioniert
aber nur mit spezifischen Pins.
Syntax
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Parameter
dataPin: Der Pin, auf dem jedes Bit eingegeben wird. Erlaubte Datentypen: int.
clockPin: Der Pin, auf dem das Signal gesetzt wird, um den dataPin zu lesen
bitOrder: Welche Ordnung verwendet werden soll, um zu shiften. Entweder ist dies MSBFIRST oder LSBFIRST.
(Most Significant Bit First oder Least Significant Bit First)
Rückgabewert
Den gelesenen Wert. Datentyp: byte.
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
            >  Functions
            >  Advanced io
            > Pulseinlong

pulseInLong()
          [Advanced I/O]

Beschreibung


pulseInLong()
          [Advanced I/O]

Beschreibung
Liest einen Wert von einem vorgegebenen Digitalpin ein, entweder HIGH oder LOW. Wenn der Wert z.B. HIGH ist, wartet pulseInLong() darauf, dass der Pin auf den Wert HIGH wechselt,
startet einen Timer und wartet anschließend darauf, dass der Pin wieder auf LOW wechselt. Daraufhin stoppt pulseInLong() den Timer. Gibt die Länge des Impulses in Mikrosekunden zurück.
Stoppt und gibt 0 zurück, wenn ein bestimmter Timeout erreicht wird.
Das Timing der Funktion wurde empirisch getestet und wird vermutlich bei einem längeren Impuls falsch messen.
Die Funktion funtioniert mit einer Stromstößen der Länge von 10 Mikrosekunden bis 3 Minuten.


Bitte beachte auch, dass, wenn ein Pin, der bereits HIGH ist, wenn die Funktion aufgerufen wird, zunächst auf LOW und dann wieder auf HIGH wechselt, bevor die Funktion startet.
Diese Routine kann nur benutzt werden, wenn Interrupts aktiviert werden. Die beste Auflösung wird erreicht, wenn große Intervalle verwendet werden.
Syntax
pulseInLong(pin, value)
pulseInLong(pin, value, timeout)
Parameter
pin: Die Arduino-Pinnummer, an der der Impuls gelesen werden soll. Erlaubte Datentypen: int.
value: Welche Art von Impuls gelesen werden soll: Entweder HIGH oder LOW. Erlaubte Datentypen: int.


timeout (optional): Die Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde; Default-Wert ist eine Sekunde. Erlaubte Datentypen: unsigned long.
Rückgabewert
Die Länge des Impulses (in Mikrosekunden) oder 0, wenn kein Impuls vor dem Timeout gemessen wird. Datentyp: unsigned long.
Beispielcode
Das Beispiel gibt den Zeitraum eines Impulses auf Pin 7 aus.
int pin = 7;
unsigned long duration;
void setup() {
  Serial.begin(9600);
  pinMode(pin, INPUT);
}
void loop() {
  duration = pulseInLong(pin, HIGH);
  Serial.println(duration);
}
Anmerkungen und Warnungen


Serial.println(duration);
}
Anmerkungen und Warnungen
Diese Funktion verlässt sich auf micros() und kann somit in noInterrupts() Kontexten nicht verwendet werden.
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
            >  Functions
            >  Advanced io
            > Shiftout

shiftOut()
          [Advanced I/O]

Beschreibung


shiftOut()
          [Advanced I/O]

Beschreibung
Shiftet ein Byte von Daten hinaus, ein Bit pro Zeiteinheit. Beginnt entweder mit dem most significant bit (linkestes Bit) oder dem least significant bit (rechtestes Bit). Für jedes Bit wird der clock pin HIGH geschalten.
Anschließend wird das nächste Bit gelesen und der clock pin auf LOW gesetzt.
Wenn du mit einem Gerät arbeitest, das bei steigender Flanke die clock auslöst, musst du darauf achten, dass der clock pin LOW ist, bevor das erste Mal shiftIn() aufgerufen wird. Das ist z.B. möglich mit einem
Aufruf von digitalWrite(clockPin, LOW).


Aufruf von digitalWrite(clockPin, LOW).
Bemerkung: Das ist eine Softwareimplementierung; Arduino bietet auch eine SPI-Bibliothek an, die eine Hardwareimplementierung benutzt. Diese ist zwar schneller, funktioniert
aber nur mit spezifischen Pins.
Syntax
shiftOut(dataPin, clockPin, bitOrder, value)
Parameter
dataPin: Der Pin, auf dem jedes Bit ausgegeben wird. Erlaubte Datentypen: int.
clockPin: Der Pin, auf dem das Signal gesetzt wird, um den dataPin zu lesen. Erlaubte Datentypen: int.
bitOrder: Welche Ordnung verwendet werden soll, um zu shiften. Entweder ist dies MSBFIRST oder LSBFIRST.
(Most Significant Bit First oder Least Significant Bit First)


(Most Significant Bit First oder Least Significant Bit First)
value: Die Daten, die hinausgeshiftet werden sollen. Erlaubte Datentypen: byte.
Rückgabewert
Nichts.
Beispielcode
Für eingebaute Schaltkreise beachte das Tutorial, wie man ein 74HC595 Shift-Register verwendet.
//**************************************************************//
//  Name    : shiftOutCode, Hello World, Auf Deutsch übersetzt  //
//  Author  : Carlyn Maw,Tom Igoe                               //
//  Date    : 25 Oct, 2006                                      //
//  Version : 1.0                                               //
//  Notes   : Code, um mit einem 74HC595 Shift Register         //
//          : von 0 to 255 zu zählen                            //
//****************************************************************
//Pin verbunden mit ST_CP des 74HC595


//****************************************************************
//Pin verbunden mit ST_CP des 74HC595
int latchPin = 8;
//Pin verbunden mit SH_CP des 74HC595
int clockPin = 12;
////Pin verbunden mit DS des 74HC595
int dataPin = 11;
void setup() {
  //Pins auf output setzen, weil diese im loop() verwendet werden
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}
void loop() {
  //Zähler-Routine
  for (int j = 0; j < 256; j++) {
	//Register pin grounden und low halten, solange übertragen wird
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, j);


shiftOut(dataPin, clockPin, LSBFIRST, j);
	//Register pin auf high setzen, um dem Chip zu signalisieren, dass
	//er nicht mehr länger Informationen lesen muss
    digitalWrite(latchPin, HIGH);
    delay(1000);
  }
}
Anmerkungen und Warnungen
Der dataPin und der clockPin müssen vorher als Outputs konfiguriert sein. Dies wird mit dem Aufruf von pinMode() erreicht.
shiftOut shiftet aktuell maximal 1 Byte (8 bits) hinaus. Wenn Werte größer 255 hinausgeshiftet werden sollen, benötigt das Register 2 Schritte.
// Beispiel für MSBFIRST:
int data = 500;
// High byte hinausshiften
shiftOut(dataPin, clock, MSBFIRST, (data >> 8));


shiftOut(dataPin, clock, MSBFIRST, (data >> 8));
// Low byte hinausshiften
shiftOut(dataPin, clock, MSBFIRST, data);
// Beispiel für LSBFIRST:
data = 500;
// Low byte hinausshiften
shiftOut(dataPin, clock, LSBFIRST, data);
// Low byte hinausshiften
shiftOut(dataPin, clock, LSBFIRST, (data >> 8));
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
            >  Functions
            >  Advanced io
            > Notone

noTone()
          [Advanced I/O]

Beschreibung


noTone()
          [Advanced I/O]

Beschreibung
Stoppt die Tonerzeugung, die von tone() erzeugt wurde. Macht nichts, wenn kein Ton erzeugt wurde.
Syntax
noTone(pin)
Parameter
pin: Der Arduino-Pin, auf dem die Tonerzeugung gestoppt werden soll.
Rückgabewert
Nichts.
Anmerkungen und Warnungen
Wenn du verschiedene Töne auf mehreren Pins spielen willst, musst du zunächst mit noTone() auf einem Pin den Ton stoppen und anschließend mit ../tone[tone()] auf dem nächsten Pin einen neuen Ton generieren.
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
            >  Functions
            >  Random numbers
            > Randomseed

randomSeed()
          [Random Numbers]

Beschreibung


randomSeed()
          [Random Numbers]

Beschreibung
randomSeed() initialisiert den Pseudozufallszahlengenerator, wodurch er an einem beliebigen Punkt in seiner Zufallsfolge startet.
Diese Sequenz ist, obwohl sie sehr lang und zufällig ist, immer dieselbe.
Wenn es für eine von random() erzeugte Folge von Werten wichtig ist, dass diese bei nachfolgenden Ausführungen eines Skecthes unterschiedlich ist,
verwende randomSeed(), um den Zufallszahlengenerator mit einer ziemlich zufälligen Eingabe zu initialisieren, z. B. analogRead() auf einem nicht verbundenen Pin.
Umgekehrt kann es gelegentlich nützlich sein, Pseudozufallssequenzen zu verwenden, die sich genau wiederholen.


Dies kann durch Aufrufen von randomSeed() mit einer festen Zahl erreicht werden, bevor die Zufallssequenz gestartet wird.
Syntax
randomSeed(seed)
Parameter
seed - eine Zahl übergeben, um die Pseudozufallssequenz zu initialisieren. Erlaubte Datentypen: long.
Rückgabewert
Nichts.
Beispielcode
Der Code generiert eine Pseudo-Zufallszahl und sendet die erzeugte Nummer an die serielle Schnittstelle.
long randNumber;
void setup() {
  Serial.begin(9600);
  randomSeed(analogRead(0));
}
void loop() {
  randNumber = random(300);
  Serial.println(randNumber);
  delay(50);
}
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
            >  Functions
            >  Random numbers
            > Random

random()
          [Random Numbers]

Beschreibung
Die Zufallsfunktion generiert Pseudozufallszahlen.
Syntax


Die Zufallsfunktion generiert Pseudozufallszahlen.
Syntax
random(max)
random(min, max)
Parameter
min - Untere Grenze des Zufallswerts, inklusiv (optional).
max - Obere Grenze des Zufallswerts, exklusiv.
Rückgabewert
Eine Zufallszahl zwischen min und max-1. Datentyp: long.
Beispielcode
Der Code generiert Zufallszahlen und zeigt sie an.
long randNumber;
void setup() {
  Serial.begin(9600);
  // Wenn der analoge Eingangspin 0 nicht verbunden ist, wird zufälliges analoges
  // Rauschen mit randomSeed() benutzt, um verschiedene Seed-Zahlen bei jedem
  // Lauf des Sketches zu generieren.


// Lauf des Sketches zu generieren.
  // randomSeed() ruft dann die random()-Funktion auf.
  randomSeed(analogRead(0));
}
void loop() {
  // Eine Zufallszahl zwischen 0 und 299 ausgeben
  randNumber = random(300);
  Serial.println(randNumber);
  // Eine Zufallszahl zwischen 10 und 19 ausgeben
  randNumber = random(10, 20);
  Serial.println(randNumber);
  delay(50);
}
Anmerkungen und Warnungen
Wenn es für eine von random() erzeugte Folge von Werten wichtig ist, dass diese bei nachfolgenden Ausführungen eines Sketches unterschiedlich ist,


verwende randomSeed(), um den Zufallszahlengenerator mit einer ziemlich zufälligen Eingabe zu initialisieren, z. B. analogRead() auf einem nicht verbundenen Pin.
Umgekehrt kann es gelegentlich nützlich sein, Pseudozufallssequenzen zu verwenden, die sich genau wiederholen.
Dies kann durch Aufrufen von randomSeed() mit einer festen Zahl erreicht werden, bevor die Zufallssequenz gestartet wird.
Der Parameter max sollte entsprechend dem Datentyp der Variablen ausgewählt werden, in der der Wert gespeichert ist.
In jedem Fall ist das absolute Maximum an die Länge des generierten Werts (32 Bit-2.147.483.647) gebunden.


Wenn du max auf einen höheren Wert setzt, wird beim Kompilieren kein Fehler generiert. Während der Ausführung des Sketches werden jedoch die Zahlen nicht generiert wie erwartet.
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
            >  Functions
            >  Characters
            > Ishexadecimaldigit

isHexadecimalDigit()
          [Characters]

Beschreibung


isHexadecimalDigit()
          [Characters]

Beschreibung
Analysiert, ob ein Zeichen hexadezimal ist (A-F, 0-9). Gibt true zurück, wenn das Zeichen hexadezimal ist.
Syntax
isHexadecilamDigit(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen hexadezimal ist.
Beispielcode
if (isHexadecimalDigit(thisChar)) { // Testet, ob das Zeichen hexadezimal ist
	Serial.println("Das Zeichen ist hexadezimal");
}
else {
	Serial.println("Das Zeichen ist nicht hexadezimal");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)


SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Islowercase

isLowerCase()
          [Characters]

Beschreibung


isLowerCase()
          [Characters]

Beschreibung
Analysiert, ob das Zeichen lower case (Kleinbuchstaben) ist. Gibt true zurück, wenn das Zeichen lower case ist.
Syntax
isLowerCase(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Ob das Zeichen lower case ist.
Beispielcode
if (isLowerCase(thisChar)) { // Testet, ob das Zeichen lower case ist
	Serial.println("Das Zeichen ist lower case");
}
else {
	Serial.println("Das Zeichen ist nicht lower case");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Ispunct

isPunct()
          [Characters]

Beschreibung


isPunct()
          [Characters]

Beschreibung
Analysiert, ob ein Zeichen eine Punktuation ist (Komma, Semikolon, Ausrufezeichen, etc.). Gibt true zurück, wenn das Zeichen eine Punktuation ist.
Syntax
isPunct(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: wenn das Zeichen eine Punktuation ist.
Beispielcode
if (isPunct(thisChar)) { // Testet, ob das Zeichen eine Punktuation ist.
	Serial.println("Das Zeichen ist eine Punktuation.");
}
else {
	Serial.println("Das Zeichen ist keine Punktuation.");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)


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
            >  Functions
            >  Characters
            > Isuppercase

isUpperCase()
          [Characters]

Beschreibung


isUpperCase()
          [Characters]

Beschreibung
Analysiert, ob das Zeichen upper case (Großbuchstaben) ist. Gibt true zurück, wenn das Zeichen upper case ist.
Syntax
isUpperCase(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen upper case ist.
Beispielcode
if (isUpperCase(thisChar)) { // Testet, ob das Zeichen upper case ist.
	Serial.println("Das Zeichen ist upper case");
}
else {
	Serial.println("Das Zeichen ist nicht upper case");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Isspace

isSpace()
          [Characters]

Beschreibung


isSpace()
          [Characters]

Beschreibung
Analysiert, ob ein Zeichen ein Leerzeichen, formfeed ('\f'), newline ('\n'), carriage return ('\r'), horizontal tab ('\t') oder vertical tab ('\v')) ist. Gibt true zurück, wenn das Zeichen ein Leerzeichen ist.
Syntax
isSpace(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: wenn das Zeichen ein Leerzeichen, formfeed ('\f'), newline ('\n'), carriage return ('\r'), horizontal tab ('\t') oder vertical tab ('\v')) ist.
Beispielcode
if (isSpace(thisChar)) { // Testet, ob das Zeichen eines der Leerzeichen ist.
	Serial.println("Das Zeichen ist keines der Leerzeichen");
}
else {


Serial.println("Das Zeichen ist keines der Leerzeichen");
}
else {
	Serial.println("Das Zeichen ist eines der Leerzeichen");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Isalpha

isAlpha()
          [Characters]

Beschreibung


isAlpha()
          [Characters]

Beschreibung
Analysiert, ob ein Zeichen ein Buchstabe ist. Gibt true zurück, wenn das Zeichen ein Buchstabe (Also keine Zahl oder ein Sonderzeichen) ist.
Syntax
isAlpha(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen ein Buchstabe ist.
Beispielcode
if (isAlpha(thisChar)) { // Testet, ob der char ein Buchstabe ist
	Serial.println("Das Zeichen ist ein Buchstabe");
}
else {
	Serial.println("Das Zeichen ist kein Buchstabe");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Isprintable

isPrintable()
          [Characters]

Beschreibung


isPrintable()
          [Characters]

Beschreibung
Analysiert, ob das Zeichen druckbar ist (Also jedes Zeichen, das eine Ausgabe erzeugt, auch das Leerzeichen). Gibt true zurück, wenn das Zeichen druckbar ist.
Syntax
isPrintable(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen druckbar ist.
Beispielcode
if (isPrintable(thisChar)) { // Testet, ob das Zeichen druckbar ist.
	Serial.println("Das Zeichen ist druckbar.");
}
else {
	Serial.println("Das Zeichen ist nicht druckbar.");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)


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
            >  Functions
            >  Characters
            > Iscontrol

isControl()
          [Characters]

Beschreibung


isControl()
          [Characters]

Beschreibung
Analysiert, ob das Zeichen ein Steuerzeichen ist. Gibt true zurück, wenn es ein Steuerzeichen ist.
Syntax
isControl(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen ein Steuerzeichen ist.
Beispielcode
if (isControl(thisChar)) { // Testet, ob das Zeichen ein Steuerzeichen ist
	Serial.println("Das Zeichen ist ein Steuerzeichen");
}
else {
	Serial.println("Das Zeichen ist kein Steuerzeichen");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Isgraph

isGraph()
          [Characters]

Beschreibung


isGraph()
          [Characters]

Beschreibung
Analysiert, ob das Zeichen druckbar ist und einen Inhalt hat (Space ist z.B. druckbar, hat aber keinen Inhalt). Gibt true zurück, wenn das Zeichen druckbar ist.
Syntax
isGraph(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen druckbar ist.
Beispielcode
if (isGraph(thisChar)) { // Testet, ob das Zeichen druckbar ist und Inhalt hat.
	Serial.println("Das Zeichen ist druckbar.");
}
else {
	Serial.println("Das Zeichen ist nicht druckbar.");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)


SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Iswhitespace

isWhitespace()
          [Characters]

Beschreibung


isWhitespace()
          [Characters]

Beschreibung
Analysiert das Zeichen, ob es ein Leerzeichen oder ein Tab ('\t') ist. Gibt true zurück, wenn das Zeichen ein Leerzeichen oder ein Tab ('\t') ist.
Syntax
isWhitespace(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen ein Leerzeichen oder ein Tab ('\t') ist.
Beispielcode
if (isWhitespace(thisChar)) { // Testet, ob das Zeichen ein Leerzeichen oder ein Tab (`'\t'`) ist.
	Serial.println("Das Zeichen ist ein Leerzeichen oder ein Tab");
}
else {
	Serial.println("Das Zeichen ist kein Leerzeichen oder Tab");
}
Siehe auch
SPRACHE char


}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Isascii

isAscii()
          [Characters]

Beschreibung


isAscii()
          [Characters]

Beschreibung
Analysiert, ob das Zeichen ein Ascii-Zeichen ist. Gibt true zurück, wenn das Zeichen ein Ascii-Zeichen ist.
Syntax
isAscii(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen ein Ascii-Zeichen ist.
Beispielcode
if (isAscii(thisChar)) { // Testet, ob das Zeichen ein Ascii-Zeichen ist.
	Serial.println("Das Zeichen ist ein Ascii-Zeichen.");
}
else {
	Serial.println("Das Zeichen ist kein Ascii-Zeichen.");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Characters
            > Isalphanumeric

isAlphaNumeric()
          [Characters]

Beschreibung


isAlphaNumeric()
          [Characters]

Beschreibung
Analysiert, ob ein Zeichen alphanumerisch ist. (Buchstabe oder Zahl). Gibt true zurück, wenn das Zeichen eine Zahl oder ein Buchstabe ist.
Syntax
isAlphaNumeric(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen alphanumerisch ist.
Beispielcode
if (isAlphaNumeric(thisChar)) { // Testet, ob das Zeichen alphanumerisch ist.
	Serial.println("Das Zeichen ist alphanumerisch");
}
else {
	Serial.println("Das Zeichen ist nicht alphanumerisch");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)


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
            >  Functions
            >  Characters
            > Isdigit

isDigit()
          [Characters]

Beschreibung


isDigit()
          [Characters]

Beschreibung
Analysiert, ob ein Zeichen eine Zahl ist. Gibt true zurück, wenn das Zeichen eine Zahl ist.
Syntax
isDigit(thisChar)
Parameter
thisChar: Variable. Erlaubte Datentypen: char.
Rückgabewert
true: Wenn das Zeichen eine Zahl ist.
Beispielcode
if (isDigit(thisChar)) { // Testet, ob das Zeichen eine Zahl ist.
	Serial.println("Das Zeichen ist eine Zahl");
}
else {
	Serial.println("Das Zeichen ist keine Zahl");
}
Siehe auch
SPRACHE char
SPRACHE if (conditional operators)
SPRACHE while (conditional operators)
SPRACHE read()


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
            >  Functions
            >  Zero due mkr family
            > Analogwriteresolution

analogWriteResolution()
          [Zero, Due & MKR Family]

Beschreibung


[Zero, Due & MKR Family]

Beschreibung
analogWriteResolution() ist eine Erweiterung der Analog-API für Arduino Due.
analogWriteResolution() setzt die Auflösung der analogWrite() Funktion. Der Standardwert ist 8 Bit (Werte zwischen 0-255), um die Abwärtskompatibilität mit AVR-basierten Boards zu gewährleisten.
Der Due verfügt über die folgenden Hardwarefunktionen:
12 Pins, die standardmäßig auf 8-Bit-PWM eingestellt sind, wie auf den AVR-basierten Boards. Diese können auf 12-Bit-Auflösung geändert werden.
2 Pins mit 12-Bit-DAC (Digital-Analog-Wandler)


2 Pins mit 12-Bit-DAC (Digital-Analog-Wandler)
Wenn die Schreibauflösung auf 12 gesetzt wird, kann analogWrite() mit Werten zwischen 0 und 4095 verwendet werden, um die volle DAC-Auflösung auszunutzen oder das PWM-Signal ohne Überrollen festzulegen.
Der Zero verfügt über die folgenden Hardwarefunktionen:
10 Pins, die standardmäßig auf 8-Bit-PWM eingestellt sind, wie auf den AVR-basierten Boards. Diese können auf 12-Bit-Auflösung geändert werden.
1 Pin mit 10-Bit-DAC (Digital-Analog-Wandler)


1 Pin mit 10-Bit-DAC (Digital-Analog-Wandler)
Wenn die Schreibauflösung auf 10 gesetzt wird, kann analogWrite() mit Werten zwischen 0 und 1023 verwendet werden, um die volle DAC-Auflösung auszunutzen.
Die MKR-Familie verfügt über die folgenden Hardwarefunktionen:
4 Pins, die standardmäßig auf 8-Bit-PWM eingestellt sind, wie auf den AVR-basierten Boards. Diese können auf 12-Bit-Auflösung geändert werden.
1 Pin mit 10-Bit-DAC (Digital-Analog-Wandler)
Wenn die Schreibauflösung auf 12 Bit gesetzt wird, kann Sie analogWrite() mit Werten zwischen 0 und 4095 für PWM-Signale verwendet werden.


Wenn 10 Bit am DAC-Pin gesetzt werden, kann die volle DAC-Auflösung von 1024 Werten benutzt werden.
Syntax
analogWriteResolution(bits)
Parameter
bits: bestimmt die Auflösung (in Bits) der Werte, die in der Funktion analogWrite() verwendet werden.
		Der Wert kann zwischen 1 und 32 liegen. Wenn eine höhere oder niedrigere Auflösung als die Hardwarefunktionen Ihres Boards gewählt wird,
		wird der in analogWrite() verwendete Wert entweder abgeschnitten, wenn er zu hoch ist, oder mit Nullen aufgefüllt, wenn er zu niedrig ist.
		Weitere Informationen finden sich im Hinweis unten.
Rückgabewert
Nichts.
Beispielcode


Rückgabewert
Nichts.
Beispielcode
Der Code zeigt, wie ADC mit unterschiedlichen Auflösungen verwendet wird.
void setup() {
  // Öffne serielle Kommunikation
  Serial.begin(9600);
  // Pins als Ausgabepins setzen
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}
void loop() {
  // Lesen des Eingangspins auf A0 und Zuordnung zu einem
  // PWM-Pin mit einer LED
  int sensorVal = analogRead(A0);
  Serial.print("Analog Read) : ");
  Serial.print(sensorVal);
  // Die standardmäßige PWM-Auflösung
  analogWriteResolution(8);


analogWriteResolution(8);
  analogWrite(11, map(sensorVal, 0, 1023, 0, 255));
  Serial.print(" , 8-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0, 255));
  // Ändern der PWM-Auflösung auf 12 Bit.
  // Die volle 12-Bit-Auflösung wird nur auf dem Due unterstützt
  analogWriteResolution(12);
  analogWrite(12, map(sensorVal, 0, 1023, 0, 4095));
  Serial.print(" , 12-bit PWM value : ");
  Serial.print(map(sensorVal, 0, 1023, 0, 4095));
  // Ändern der PWM-Auflösung auf 4 Bit.
  analogWriteResolution(4);


analogWriteResolution(4);
  analogWrite(13, map(sensorVal, 0, 1023, 0, 15));
  Serial.print(", 4-bit PWM value : ");
  Serial.println(map(sensorVal, 0, 1023, 0, 15));
  delay(5);
}
Anmerkungen und Warnungen
Wenn der Wert von analogWriteResolution() auf einen höheren Wert als die Fähigkeiten des Boards gesetzt werden,
werden die zusätzlichen Bits vom Arduino verworfen. Zum Beispiel: Wenn beim Due analogWriteResolution (16) auf einem 12-Bit-DAC-Pin verwendet wird,
werden nur die ersten 12 Bits der an analogWrite() übergebenen Werte verwendet und die letzten 4 Bits werden verworfen.


Wenn der Wert von analogWriteResolution() auf einen niedrigeren Wert als die Fähigkeiten des Boards gesetzt werden,
werden die fehlenden Bits mit Nullen aufgefüllt, um die erforderliche Hardware-Größe zu füllen.
Zum Beispiel: Wenn der Due mit analogWriteResolution(8) auf einem 12-Bit-DAC-Pin verwendet wird,
fügt der Arduino dem 8-Bit-Wert, der in analogWrite() verwendet wird, 4 Null-Bits hinzu, um die erforderlichen 12 Bit zu erhalten.
Siehe auch
SPRACHE analogWrite()
SPRACHE analogRead()
SPRACHE map()
BEISPIEL Beschreibung der analogen Inputpins


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
            >  Functions
            >  Zero due mkr family
            > Analogreadresolution

analogReadResolution()
          [Zero, Due & MKR Family]

Beschreibung


[Zero, Due & MKR Family]

Beschreibung
analogReadResolution() ist eine Erweiterung der Analog-API für die Zero-, Due- und MKR-Familie sowie die Arduino  Nano 33 (BLE und IoT) und Portenta.
Legt die Größe (in Bits) des von analogRead() zurückgegebenen Werts fest. Der Standardwert ist 10 Bit (gibt Werte zwischen 0-1023 zurück), um die Abwärtskompatibilität mit AVR-basierten Boards zu gewährleisten.
Die Boards Zero, Due, MKR und Nano 33 (BLE und IoT) verfügen über 12-Bit-ADC-Funktionen, auf die durch Ändern der Auflösung auf 12 zugegriffen werden kann. Dadurch werden Werte von analogRead() zwischen 0 und 4095 zurückgegeben.


Der Portenta H7 verfügt über einen 16-Bit-ADC, der Werte zwischen 0 und 65535 zulässt.
Syntax
analogReadResolution(bits)
Parameter
bits: bestimmt die Auflösung (in Bits) des von der Funktion analogRead() zurückgegebenen Wert. Man kann dies zwischen 1 und 32 einstellen. Man kann auch Auflösungen höher als die unterstützten 12 oder 16 Bit einstellen, aber Werte, die von analogRead() zurückgegeben werden, unterliegen einer Rundung. Weitere Informationen finden sich im Hinweis unten.
Rückgabewert
Nichts.
Beispielcode
Der Code zeigt, wie ADC mit unterschiedlichen Auflösungen verwendet wird.
void setup() {
  // Öffne serielle Kommunikation
  Serial.begin(9600);
}


Serial.begin(9600);
}
void loop() {
  // Lesen des Eingangspins auf A0 mit der Standardauflösung (10 Bit)
  // und senden auf die serielle Schnittstelle
  analogReadResolution(10);
  Serial.print("ADC 10-bit (default) : ");
  Serial.print(analogRead(A0));
  // Ändern der Auflösung auf 12 Bit und lesen von A0
  analogReadResolution(12);
  Serial.print(", 12-bit : ");
  Serial.print(analogRead(A0));
  // Ändern der Auflösung auf 16 Bit und lesen von A0
  analogReadResolution(16);
  Serial.print(", 16-bit : ");
  Serial.print(analogRead(A0));
  // Ändern der Auflösung auf 8 Bit und lesen von A0


// Ändern der Auflösung auf 8 Bit und lesen von A0
  analogReadResolution(8);
  Serial.print(", 8-bit : ");
  Serial.println(analogRead(A0));
  // Eine kleine Verzögerung, um den seriellen Monitor nicht zu beeinträchtigen
  delay(100);
}
Anmerkungen und Warnungen
Wenn du den Wert von analogReadResolution() auf einen höheren Wert als die Fähigkeiten Ihres Boards setzt, meldet der Arduino nur seine höchste Auflösung und füllt die zusätzlichen Bits mit Nullen auf.


Zum Beispiel: Wenn der Due mit analogReadResolution(16) verwendet wird, erhält man eine angenäherte 16-Bit-Zahl. Die ersten 12 Bits enthalten den echten ADC-Wert und die letzten 4 Bits sind mit Nullen gefüllt.
Wenn du den Wert von analogReadResolution() auf einen Wert setzt, der unter den Fähigkeiten Ihres Boards liegt, werden die aus dem ADC gelesenen least significant bits verworfen.
Durch die Verwendung einer 16-Bit-Auflösung (oder einer anderen höheren als den tatsächlichen Hardwarefunktionen) kann man Sketches schreiben, die automatisch mit einem ADC mit höherer Auflösung umgehen,
wenn diese auf zukünftigen Boards verfügbar sind, ohne dass eine Codezeile geändert werden muss.
Siehe auch


Siehe auch
BEISPIEL Beschreibung der analogen Inputpins
SPRACHE analogRead()


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
            >  Functions
            >  Time
            > Millis

millis()
          [Time]

Beschreibung


millis()
          [Time]

Beschreibung
Gibt die Anzahl von Millisekunden zurück, seit das Arduino-Board das aktuelle Programm gestartet hat. Diese Zahl läuft nach etwa 50 Tagen über (geht auf Null zurück).
Syntax
myTime = millis()
Parameter
Keine.
Rückgabewert
Anzahl der Millisekunden seit dem Programmstart. Datentyp: unsigned long.
Beispielcode
Der Code liest die Millisekunden seit Beginn des Sketches des Arduino-Boards und gibt diese auf den seriellen Port aus.
unsigned long myTime;
void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  myTime = millis();
  Serial.println(myTime);// Gibt die Zeit seit dem Programmstart aus


Serial.println(myTime);// Gibt die Zeit seit dem Programmstart aus
  delay(1000);         // Eine Sekunde warten, um keine riesigen Datenmengen zu senden
}
Anmerkungen und Warnungen
Bitte beachte, dass der Rückgabewert für millis() ein unsigned long-Wert ist.
Es können logische Fehler auftreten, wenn ein Programmierer versucht, mit kleineren Datentypen (z. B. int) zu rechnen.
Sogar mit Vorzeichen versehene long-Werte können auf Fehler stoßen, da ihr Maximalwert die Hälfte des vorzeichenlosen Gegenstücks ist.
Siehe auch
BEISPIEL Blinken ohne Verzögerung


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
            >  Functions
            >  Time
            > Delay

delay()
          [Time]

Beschreibung


> Delay

delay()
          [Time]

Beschreibung
Unterbricht das Programm für die als Parameter angegebene Zeit (in Millisekunden). (Es gibt 1000 Millisekunden in einer Sekunde.)
Syntax
delay(ms)
Parameter
ms: die Anzahl der Millisekunden, die angehalten werden sollen. Erlaubte Datentypen: unsigned long.
Rückgabewert
Nichts.
Beispielcode
Der Code hält das Programm für eine Sekunde an, bevor der Ausgangs-Pin umgeschaltet wird.
int ledPin = 13; // LED auf Digitalpin 13
void setup() {
  pinMode(ledPin, OUTPUT); // Setzt den digitalen Pin als Ausgang
}
void loop() {
  digitalWrite(ledPin, HIGH); // LED an


}
void loop() {
  digitalWrite(ledPin, HIGH); // LED an
  delay(1000);                // Eine Sekunde warten
  digitalWrite(ledPin, LOW);  // LED aus
  delay(1000);                // Eine Sekunde warten
}
Anmerkungen und Warnungen
Während es einfach ist, eine blinkende LED mit der Funktion delay() zu erstellen, und viele Sketchn kurze Verzögerungen für Aufgaben wie das Entprellen des Switches verwenden,
hat die Verwendung von delay() in einem Sketch erhebliche Nachteile.
Während der Verzögerungsfunktion kann kein anderes Lesen von Sensoren, mathematischen Berechnungen oder Pin-Manipulationen durchgeführt werden, sodass die meisten anderen Aktivitäten zum Erliegen kommen.


Für alternative Ansätze zum Steuern des Timings siehe den Blinken ohne Verzögerung-Sketch, welcher über Schleifen die Funktion millis() abfrägt, bis genügend Zeit vergangen ist.
Erfahrene Programmierer vermeiden normalerweise die Verwendung von delay() für das Timing von Ereignissen, die länger als 10 Millisekunden sind, es sei denn, der Arduino-Sketch ist sehr einfach.
Bestimmte Dinge laufen jedoch weiter, während die delay()-Funktion den Atmega-Chip steuert, da die delay()-Funktion Interrupts nicht deaktiviert.
Die serielle Kommunikation, die am RX-Pin erscheint, wird aufgezeichnet, die Werte für PWM (analogWrite) und Pin-Status werden beibehalten.
Auch Interrupts funktionieren wie sie sollen.


Auch Interrupts funktionieren wie sie sollen.
Siehe auch
BEISPIEL Blinken ohne Verzögerung


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
            >  Functions
            >  Time
            > Delaymicroseconds

delayMicroseconds()
          [Time]

Beschreibung


delayMicroseconds()
          [Time]

Beschreibung
Hält das Programm für die als Parameter angegebene Zeit (in Mikrosekunden) an.
Es gibt tausend Mikrosekunden in einer Millisekunde und eine Million Mikrosekunden in einer Sekunde.
Derzeit ist der größte Wert, der eine genaue Verzögerung erzeugt, 16383.
Dies könnte sich in zukünftigen Arduino-Releases ändern.
Bei Verzögerungen von mehr als einigen tausend Mikrosekunden sollte stattdessen delay() verwendet werden.
Syntax
delayMicroseconds(us)
Parameter
us: die Anzahl der Mikrosekunden, die angehalten werden sollen. Erlaubte Datentypen: unsigned int.
Rückgabewert
Nichts.
Beispielcode


Rückgabewert
Nichts.
Beispielcode
Der Code konfiguriert Pin 8 als Ausgangspin. Er sendet eine Impulsfolge von ungefähr 100 Mikrosekunden.
Die Annäherung beruht auf der Ausführung der anderen Anweisungen im Code.
int outPin = 8; // Digitalpin 8
void setup() {
  pinMode(outPin, OUTPUT); // Digitalpin als Output setzen
}
void loop() {
  digitalWrite(outPin, HIGH); // Pin auf HIGH setzen
  delayMicroseconds(50);      // 50 Mikrosekunden warten
  digitalWrite(outPin, LOW);  // Pin auf LOW setzen
  delayMicroseconds(50);      // 50 Mikrosekunden warten
}
Anmerkungen und Warnungen


}
Anmerkungen und Warnungen
Diese Funktion arbeitet im Bereich von 3 Mikrosekunden und mehr sehr genau.
Wir können nicht garantieren, dass delayMicroseconds() genau für kürzere Verzögerungszeiten funktionieren.
delayMicroseconds() deaktiviert ab Arduino 0018 keine Interrupts mehr.
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
            >  Functions
            >  Time
            > Micros

micros()
          [Time]

Beschreibung


micros()
          [Time]

Beschreibung
Gibt die Anzahl der Mikrosekunden zurück, seit das Arduino-Board das aktuelle Programm gestartet hat.
Diese Zahl läuft nach ca. 70 Minuten über (Nullstellen).
Auf 16-MHz-Arduino-Boards (z. B. Duemilanove und Nano) hat diese Funktion eine Auflösung von vier Mikrosekunden (d. H. Der zurückgegebene Wert ist immer ein Vielfaches von vier).
Auf 8-MHz-Arduino-Boards (z. B. dem LilyPad) hat diese Funktion eine Auflösung von acht Mikrosekunden.
Syntax
time = micros()
Parameter
Keine.
Rückgabewert


time = micros()
Parameter
Keine.
Rückgabewert
Gibt die Anzahl der Mikrosekunden zurück, seit das Arduino-Board das aktuelle Programm gestartet hat. Datentyp: unsigned long.
Beispielcode
Der Code gibt die Anzahl der Mikrosekunden seit dem Beginn des Arduino-Boards zurück.
unsigned long time;
void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  time = micros();
  Serial.println(time); // gibt die Zeit seit dem Programmstart aus
  delay(1000);          // Warte eine Sekunde, um keine riesigen Datenmengen zu senden
}
Anmerkungen und Warnungen


}
Anmerkungen und Warnungen
Es gibt 1.000 Mikrosekunden in einer Millisekunde und 1.000.000 Mikrosekunden in einer Sekunde.
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
            >  Functions
            >  Interrupts
            > Nointerrupts

noInterrupts()
          [Interrupts]

Beschreibung


noInterrupts()
          [Interrupts]

Beschreibung
Deaktiviert Interrupts (Diese können mit interrupts() wieder aktiviert werden). Interrupts erlauben bestimmten wichtigen Tasks, im Hintergrund zu laufen
und sind somit per default aktiviert. Wenn Interrupts deaktiviert werden, werden einige Funktionen nicht funktionieren und eingehende Kommunikation wird
möglicherweise ignoriert. Interrupts beeinflussen die Geschwindigkeit und das Timing im Code minimal. Für besonders zeitkritische Codeabschnitte sollten sie
deshalb deaktiviert werden.
Syntax
noInterrupts()
Parameter
Keine.
Rückgabewert
Nichts.
Beispielcode
Der Code zeigt, wie man Interrupts aktiviert und deaktiviert.
void setup() {}
void loop() {
  noInterrupts();


void setup() {}
void loop() {
  noInterrupts();
  // Zeitkritischer Code hier
  interrupts();
  // Restlicher Code hier
}
Siehe auch
SPRACHE attachInterrupts()
SPRACHE detachInterrupts()


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
            >  Functions
            >  Interrupts
            > Interrupts

interrupts()
          [Interrupts]

Beschreibung


interrupts()
          [Interrupts]

Beschreibung
Aktiviert Interrupts (nachdem diese mit noInterrupts() deaktiviert wurden). Interrupts erlauben bestimmten wichtigen Tasks, im Hintergrund zu laufen
und sind somit per default aktiviert. Wenn Interrupts deaktiviert werden, werden einige Funktionen nicht funktionieren und eingehende Kommunikation wird
möglicherweise ignoriert. Interrupts beeinflussen die Geschwindigkeit und das Timing im Code minimal. Für besonders zeitkritische Codeabschnitte sollten sie
deshalb deaktiviert werden.
Syntax
interrupts()
Parameter
Keine.
Rückgabewert
Nichts.
Beispielcode
Der Code zeigt, wie man Interrupts aktiviert und deaktiviert.
void setup() {}
void loop() {
  noInterrupts();


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
            >  Functions
            >  Math
            > Sq

sq()
          [Math]

Beschreibung


> Sq

sq()
          [Math]

Beschreibung
Berechnet das Quadrat einer Zahl: Die Zahl, die mit sich selbst multipliziert wird.
Syntax
sq(x)
Parameter
x: Die Zahl. Erlaubte Datentypen: Beliebiger Datentyp.
Rückgabewert
Den Quadratwert der Zahl. Datentyp: double.
Anmerkungen und Warnungen
Es sollten keine anderen Funktionen innerhalb der Klammern verwendet werden. Dies kann zu falschen Ergebnissen führen.
Dieser Code führt zu falschen Ergebnissen:
int inputSquared = sq(Serial.parseInt()); // Vermeide dies
Use this instead:
int input = Serial.parseInt(); // Halte andere Operationen außerhalb der sq-Funktion
int inputSquared = sq(input);
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
            >  Functions
            >  Math
            > Min

min()
          [Math]

Beschreibung
Berechnet das Minimum von zwei Zahlen.
Syntax
min(x, y)
Parameter


Syntax
min(x, y)
Parameter
x: Die erste Zahl. Erlaubte Datentypen: Beliebiger Datentyp.
y: Die zweite Zahl. Erlaubte Datentypen: Beliebiger Datentyp.
Rückgabewert
Die kleinere der beiden Zahlen.
Besipielcode
Der Code stellt sicher, dass der Wert niemals über 100 hinausgeht.
sensVal = min(sensVal, 100); // Ordnet sensVal dem kleineren Wert von sensVal oder 100 zu.
                             // Sorgt dafür, dass sensVal nie über 100 kommt.
Anmerkungen und Warnungen


Anmerkungen und Warnungen
Vielleicht kontra-intuitiv wird max() häufig verwendet, um das untere Ende des Bereichs einer Variablen zu beschränken, während min() verwendet wird, um das obere Ende des Bereichs zu beschränken.
Es sollten keine anderen Funktionen innerhalb der Klammern verwendet werden. Dies kann zu falschen Ergebnissen führen.
min(a++, 100); // Vermeide dies - führt zu falschen Ergebnissen
min(a, 100); // Benutze dies stattdessen -
a++;         // Andere Mathematik außerhalb der Funktion halten
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
            >  Functions
            >  Math
            > Pow

pow()
          [Math]

Beschreibung


> Pow

pow()
          [Math]

Beschreibung
Berechnet den Wert einer Zahl, die auf eine Potenz erhöht wird. Mit pow() kann eine Zahl auf eine gebrochene Potenz erhöht werden.
Dies ist nützlich, um eine exponentielle Abbildung von Werten oder Kurven zu erstellen.
Syntax
pow(base, exponent)
Parameter
base: Die Zahl. Erlaubte Datentypen: float.
exponent: Die Potenz, auf die die Zahl angehoben wird. Erlaubte Datentypen: float.
Rückgabewert
Das Ergebnis der Potenzierung. Erlaubte Datentypen: double.
Beispielcode
Berechnet den Wert von x mit Potenz von y:
z = pow(x, y);


z = pow(x, y);
Siehe auch den (fscale) Sketch für ein komplexeres Beispiel der pow()-Funktion.
Siehe auch
DEFINITION float
DEFENITION double


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
            >  Functions
            >  Math
            > Max

max()
          [Math]

Beschreibung
Berechnet das Maximum von zwei Zahlen.
Syntax
max(x, y)
Parameter


Syntax
max(x, y)
Parameter
x: Die erste Zahl. Erlaubte Datentypen: Beliebiger Datentyp.
y: Die zweite Zahl. Erlaubte Datentypen: Beliebiger Datentyp.
Rückgabewert
Der größere der beiden Parameterwerte.
Beispielcode
Der Code stellt sicher, dass sensVal mindestens 20 beträgt.
sensVal = max(senVal, 20); // Ordnet sensVal dem größeren Wert von sensVal oder 20 zu
                           // (Stellt sicher, dass sensVal mindestens 20 ist)
Anmerkungen und Warnungen


Anmerkungen und Warnungen
Vielleicht kontra-intuitiv wird max() häufig verwendet, um das untere Ende des Bereichs einer Variablen zu beschränken, während min() verwendet wird, um das obere Ende des Bereichs zu beschränken.
Es sollten keine anderen Funktionen innerhalb der Klammern verwendet werden. Dies kann zu falschen Ergebnissen führen.
max(a--, 0); // Vermeide dies - führt zu falschen Ergebnissen
max(a, 0); // Benutze dies stattdessen -
a--;       // Andere Mathematik außerhalb der Funktion halten
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
            >  Functions
            >  Math
            > Abs

abs()
          [Math]

Beschreibung
Berechnet den absoluten Wert einer Zahl.
Syntax
abs(x)
Parameter


Berechnet den absoluten Wert einer Zahl.
Syntax
abs(x)
Parameter
x: Die Zahl.
Rückgabewert
x: wenn x größer oder gleich 0 ist.
-x: wenn x kleiner als 0 ist.
Anmerkungen und Warnungen
Es sollten keine anderen Funktionen innerhalb der Klammern verwendet werden. Dies kann zu falschen Ergebnissen führen.
abs(a++); // Vermeiden - führt zu falschen Ergebnissen
abs(a); // Benutze dies stattdessen -
a++;    // Andere Mathematik außerhalb der Funktion benutzen
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
            >  Functions
            >  Math
            > Constrain

constrain()
          [Math]

Beschreibung
Beschränkt eine Zahl auf einen Bereich.
Syntax


Beschreibung
Beschränkt eine Zahl auf einen Bereich.
Syntax
constrain(x, a, b)
Parameter
x: Die zu beschränkende Zahl. Erlaubte Datentypen: Beliebiger Datentyp.
a: Das untere Ende des Bereichs. Erlaubte Datentypen: Beliebiger Datentyp.
b: Das obere Ende des Bereichs. Erlaubte Datentypen: Beliebiger Datentyp.
Rückgabewert
x: Wenn x zwischen a und b liegt.
a: Wenn x kleiner als a ist.
b: Wenn x größer als b ist.
Beispielcode
Der Code begrenzt den Bereich der Sensorwerte auf 10 bis 150.


Der Code begrenzt den Bereich der Sensorwerte auf 10 bis 150.
sensVal = constrain(sensVal, 10, 150);    // Begrenzt den Bereich der Sensorwerte auf 10 bis 150.
Anmerkungen und Warnungen
Es sollten keine anderen Funktionen innerhalb der Klammern verwendet werden. Dies kann zu falschen Ergebnissen führen.
Dieser Code führt zu falschen Ergebnissen:
int constrainedInput = constrain(Serial.parseInt(), minimumValue, maximumValue); // Vermeide dies
Benutze stattdessen diesen Code:
int input = Serial.parseInt(); // Halte andere Operationen außerhalb der Einschränkungsfunktion
int constrainedInput = constrain(input, minimumValue, maximumValue);
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
            >  Functions
            >  Math
            > Map

map()
          [Math]

Beschreibung


> Map

map()
          [Math]

Beschreibung
Bildet eine Zahl von einem Bereich in einen anderen ab. Das heißt, ein Wert von fromLow würde auf toLow, einen Wert von fromHigh bis toHigh, Werte zwischen dazwischen auf Werte dazwischen usw. zugeordnet.
Beschränkt die Werte nicht innerhalb des Bereichs, da Werte außerhalb des Bereichs manchmal beabsichtigt und nützlich sind.
Die constrain()-Funktion kann entweder vor oder nach dieser Funktion verwendet werden, wenn eine Begrenzung der Bereiche gewünscht werden.


Beachte, dass die "unteren Grenzen" eines Bereichs größer oder kleiner als die "oberen Grenzen" sein können, sodass die Funktion map() beispielsweise zum Umkehren eines Arrays verwendet werden kann.
y = map(x, 1, 50, 50, 1);
Die Funktion kann auch mit negativen Zahlen gut umgehen, so dass dieses Beispiel:
y = map(x, 1, 50, 50, -100);
auch valide ist und funktioniert.
Die map() - Funktion verwendet Ganzzahl-Mathematik, so dass keine Brüche generiert werden, wenn die Mathematik möglicherweise darauf hinweist, dass dies der Fall ist.
Bruchreste werden abgeschnitten und nicht gerundet oder gemittelt.
Syntax
map(value, fromLow, fromHigh, toLow, toHigh)


Syntax
map(value, fromLow, fromHigh, toLow, toHigh)
Parameter
value: Die Nummer, die zugeordnet werden soll.
fromLow: Die untere Grenze des aktuellen Wertebereichs.
fromHigh: Die obere Grenze des aktuellen Wertebereichs.
toLow: Die untere Grenze des Zielbereichs des Werts.
toHigh: Die obere Grenze des Zielbereichs des Werts.
Rückgabewert
Den zugeordneten Wert.
Beispielcode
/* Zuordnen eines analogen Werts auf 8 Bits (0 bis 255). */
void setup() {}
void loop() {
  int val = analogRead(0);
  val = map(val, 0, 1023, 0, 255);
  analogWrite(9, val);
}
Anhang