analogRead()/analogWrite()

Lese­zeit: 3 Minu­ten

ana­logRead()

ana­logRead() liest den Wert eines ana­lo­gen Pins. Im Unter­schied zu digi­tal­Read(), das nur die Zustän­de an (HIGH) oder aus (LOW) kennt, misst ana­logRead() die am ana­lo­gen Pin anlie­gen­de Span­nung. Sie liegt zwi­schen 0 und 1023.

Bei­spiel:

// Sensor am analogen Pin A0
int SENSOR = A0; 
int LED = 6;

// speichert den gelesenen Wert
int SensorWert; 

void setup() 
{
  // Seriellen Monitor starten
  Serial.begin(9600);       
}

void loop()  
{ 
  SensorWert = analogRead(SENSOR);

  // zeigt den gelesenen Wert im Seriellen Monitor an
  Serial.println(SensorWert);
}

Im ➨Seri­el­len Plot­ter kön­nen die Wer­te sicht­bar gemacht wer­den:

Aus­le­sen eines Poten­tio­me­ters

ana­log­Wri­te()

ana­log­Wri­te() wird dazu ver­wen­det eine LED mit Hil­fe der ➨Puls­wei­ten­mo­du­la­ti­on (PWM) an einem digi­ta­len Pin mit unter­schied­li­cher Hel­lig­keit zum Leuch­ten zu brin­gen. Nur die digi­ta­len Ports, die mit einer Til­de (~) gekenn­zeich­net sind, unter­stüt­zen die PWM.

0 → Strom aus
255 → maxi­ma­le Strom­stär­ke

Bei­spiel:

int LED = 6;  

void setup()  
{ 
  // bei analogWrite ist kein setup notwendig  
} 

// erhöht die Leuchtstärke von 0 auf 255 in 5-er Schritten  
void loop() 
{ 
  for (int i = 0; i < 255; i += 5)  
  {   
    analogWrite(LED, i);  
    delay(200);   
  }  
}

Varia­ble digi­tal­Wri­te() Ope­ra­to­ren LED

Letzte Aktualisierung: 26. Sep 2020 @ 10:45