Nr. 35 – UV-Sensor UVM30

Inhaltsverzeichnis

Den UV-Sensor UVM30A mit einem Arduino Mikrocontroller verwenden

Funktionweise

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 mithilfe 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.

Pinbelegung

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

Schaltplan

Schaltplan für das Modul UVM-30A

Beispielsketch

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(SensorWert);  // ...und anschließend zur Kontrolle im seriellen Monitor ausgegeben.

  if (SensorWert <= 10 )      // Wenn der Sensorwert kleiner/gleich 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/gleich 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 (SensorWert <= 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 (SensorWert > 221 )
  {
    Serial.print("Index: 11");
    Serial.println(" Aufenthalt im Freien vermeiden. Schutz DRINGEND erforderlich.");
  }
  
  delay(1000);    /// delay von einer Sekunde  
}

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 3.500 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE