Jetzt ist meine frage was macht der Befehl pinMode(pin,HIGH); ? Hier ist keine Spannung zur Masse messbar nicht negative und auch nicht positive aber das Relay schaltet.
pin: the Arduino pin number to set the mode of. mode: INPUT, OUTPUT, or INPUT_PULLUP. See the Digital Pins page for a more complete description of the functionality.
Ich hatte mich da im program eigendlich vertippt, aber der befehl pinMode(pin, HIGH); schaltet das Relay an. digitalWrite(pin, HIGH); macht das Relay wieder aus.
Macht den Pin als Input. dadurch geht das Relay aus. Der Zustand, während der Pin aber als Output definiert ist, also ob HIGH oder LOW, bleibt aber im Register geschrieben. Sobald man den Pin wieder als Output definiert, liefert er wieder das, was im Register als Output steht. Dadurch schaltet das folgende
Grundsetzliches:
C bzw C++ hat keine Befehle sondern Funktionen.
Dabei sind Funktionen von C/C++, solche von Bibliotheken von C/C++, Funktionen die arduinospezifisch sind und Funktionen die Du in einem Sketch oder einer Bibliothek definierst gleich.
Es existieren noch Kontrollstrukturen wie if ecc.
Schlüsselworte wie OUTPUT, INPUT, INPUT_PULLDOWN ecc sind irgendwo in Arduino mittels #define als Zahlen definiert.