## I/O Functies

## Digitale I/O

Methode en parameters | Beschrijving | Retourneren
--- | --- | ---
    int digitalRead(int pin)
| Leest de status van een digitale pin. |
    int
    void digitalWrite(int pin, int state)
| Schrijft een status naar een digitale pin. | Niets
    void pinMode(int pin, int mode)
* | Definieer de modus van een pin. | Niets

* Beschikbare modi zijn:

- `INPUT`(0)

- `OUTPUT`(1)

- `INPUT_PULLUP`(2)

- `INPUT_PULLDOWN`(3)

- `OUTPUT_OPENDRAIN`(4)

### Analoge I/O

Methode en parameters | Beschrijving | Retourneren
--- | --- | ---
    int analogRead(int pin)
| Leest de waarde van een analoge pin in een resolutie van 10 bits (0-1023). * |
    int
    void analogReadResolution(int resolution)
| Stelt de ADC-leesresolutie in bits in. | Niets
    void analogReference(int reference)
| Wijzigt de spanningsreferentie voor een bord.** | Niets
    void analogWrite(int pin, int value)
| Schrijft een waarde naar een PWM-ondersteunde pin in een resolutie van 8 bits (0-255).** | Niets
    void analogWriteResolution(int resolution)
| Stelt de schrijfresolutie voor een bord in. | Niets

- * Het waardebereik verandert op basis van de resolutie. 0-1023 is een resolutie van 10 bits, 0-4096 is een resolutie van 12 bits, enzovoort.
- **Elk bord/elke architectuur heeft een aantal verschillende referentiespanningen beschikbaar.
- ***Het waardebereik verandert op basis van de resolutie. 0-255 is de standaardwaarde (8-bits).

### Geavanceerde I/O

Methode en parameters | Beschrijving | Retourneren
--- | --- | ---
    void tone(int pin, int frequency, long duration)
| Genereert een vierkante golf op de opgegeven pin, met een duty cycle van 50%. | Niets
    void noTone(int pin)
| Stopt de generatie van een vierkante golf op de opgegeven pin. | Niets
    long pulseIn(int pin, int state, long timeout)
| Leest een puls (HOOG of LAAG) op een pin en retourneert de lengte van de puls (in microseconden) |
    long
    long pulseInLong(int pin, int state, long timeout)
| Geeft de lengte van de puls terug (in microseconden) |
    long
    int shiftIn(int pin, int clockPin, int bitOrder)
* | Verplaatst een byte met gegevens één bit per keer en retourneert de waarde van de gelezen bit. |
    byte
    void shiftOut(int pin, int clockPin, int bitOrder, byte value)
** | Verschuift een byte aan gegevens één bit per keer. | Niets

- * DebitOrderparameter is ofwelMSBFIRST(1) ofLSBFIRST(0) (meest / minst significante bits).

- **De pin die gebruikt wordt voor`shiftOut()`moet worden geconfigureerd als een`OUTPUT`, met behulp van`pinMode()`