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. Ein ana­log-digi­tal-Umwand­ler wan­delt die Betriebs­span­nung des Ardui­nos (5 Volt oder 3,3 Volt) in Zah­len­wer­te zwi­schen 0 und 1023 um. 

Bei­spiel:

// Potentiometer am analogen Pin A0
int SENSOR = A0; 

// speichert den gelesenen Wert
int SensorWert; 

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

  // auf serielle Verbindung warten
  while (!Serial);     
}

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

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

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

Aus­le­sen eines Potentiometers

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 Stromstärke

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);   
  }  
}

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

Letzte Aktualisierung: 10. Okt 2024 @ 9:37