Nr. 35 – UV-Sensor UVM30

 

Der UV-Sensor UVM30A ist in der Lage die Intensität eines gegebenen ultravioletten Lichts zu erfassen und in einen analogen Wert zu wandeln.
Dieser analoge Wert kann anschließend mit Hilfe des sogenannten UV-Indexes ausgewertet werden.

Das Ziel dieser Anleitung besteht nun darin, den erfassten Wert in diesem UV-Index einzuordnen und den Nutzer so über eventuell erforderliche Schutzmaßnahmen zu unterrichten.

 
UV-Index Analogwert
 0  <10
 1  46
 2  65
 3  83
 4  103
 5  124
 6  142
 7  162
 8  180
 9  200
 10  221
 >11  240

 

Der UV-Sensor UVM30A verfügt über drei Pins.

     –  Pin für die Spannungsversorgung, anzuschließen an den 5V Pin des Mikrocontrollers
OUT – Pin für die Signalübertragung, anzuschließen an den A0 Pin des Mikrocontrollers
–         – GND Pin, anzuschließen an den GND Pin des Mikrocontrollers

 

Fritzing Skizze

 

void setup() 
{
  Serial.begin(9600); // Baudrate des seriellen Monitors
}

void loop() 
{
  int SensorWert;
  SensorWert = analogRead(0); // Sensorwert wird an der Schnittstelle A0 ausgelesen...   
  Serial.println(SensorWer);  // ...und anschließend zur Kontrolle im seriellen Monitor ausgegeben.

  if (SensorWert < 10 )      // Wenn der Sensorwert kleiner als 10 ist...
  {
    Serial.print("Index : 0");   // ... soll diese Meldung...
    Serial.println("Kein Schutz erforderlich.");  // ... im seriellen Monitor erscheinen.
  }
  
  if (SensorWert < 46 & SensorWert > 10 )  // Wenn der Sensorwert kleiner als 46 und größer als 10 ist...
  {
    Serial.print("Index : 1");    // ...soll diese Meldung...
    Serial.println("Kein Schutz erforderlich.");  // ... im seriellen Monitor erscheinen.
  }
  
  if (SensorWert < 65 & SensorWert > 46 )
  {
    Serial.print("Index : 2");
    Serial.println("Kein Schutz erforderlich.");
  }
  
  if (SensorWert < 83 & SensorWert > 65 )
  {
    Serial.print("Index : 3");
    Serial.println("Schutz erforderlich : z.B. Hut, Sonnencreme");
  }
  
  if (SensorWertalue < 103 & SensorWert > 83 )
  {
    Serial.print("Index : 4");
    Serial.println("Schutz erforderlich : z.B. Hut, Sonnencreme");
  }
  
  if (SensorWert < 124 & SensorWert > 103 )
  {
    Serial.print("Index : 5");
    Serial.println("Schutz erforderlich : z.B. Hut, Sonnencreme");
  }
  if (SensorWert < 142 & SensorWert > 124 )
  {
    Serial.print("Index : 6");
    Serial.println("Schutz erforderlich : z.B. Hut, Sonnencreme. Schatten aufsuchen.");
  }
  
  if (SensorWert < 162 & SensorWert > 142 )
  {
    Serial.print("Index : 7");
    Serial.println("Schutz erforderlich : z.B. Hut, Sonnencreme. Schatten aufsuchen.");
  }
  
  if (SensorWert < 180 & SensorWert > 162 )
  {
    Serial.print("Index : 8");
    Serial.println("Aufenthalt im Freien möglichst vermeiden. Schutz erforderlich.");
  }
  
  if (SensorWert < 200 & SensorWert > 180 )
  {
    Serial.print("Index : 9");
    Serial.println("Aufenthalt im Freien möglichst vermeiden. Schutz erforderlich.");
  }
  
  if (SensorWert < 221 & SensorWert > 200 ) 
  {
    Serial.print("Index : 10");
    Serial.println("Aufenthalt im Freien möglichst vermeiden. Schutz erforderlich.");
  }

  if (SensorWertlue > 221 )
  {
    Serial.print("Index : 11");
    Serial.println("Aufenthalt im Freien vermeiden. Schutz DRINGEND erforderlich.");
  }



  
  delay(1000);    /// Delay von einer Sekunde  
}