🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Arduino Lektion 51: analoger Temperatursensor LM393

Veröffentlicht am 22. Mai 20182. Mai 2023 von Stefan Draeger

Der analoge Temperatursensor LM393, dient nicht nur zum Temperaturmessen, sondern kann auch durch den verbauten Drehpotentiometer auf einen Wert zwischen 20 °C und 80 °C eingestellt werden. Beim Erreichen der Temperatur wird ein HIGH Signal auf den digitalen Ausgang gelegt.

Temperatursensor LM393
Temperatursensor LM393
  • Technische Daten des LM393
  • Anschluss
  • Schaltung
    • Einstellen des Schwellwertes
  • Quellcode
  • Video

Technische Daten des LM393

  • Betriebsspannung – 3.3V bis 5V
  • Ausgangsstrom – 15mA
  • Abmaße – 35 mm x 15 mm
  • Temperaturmessbereich  – +20 °C bis +80 °C

Anschluss

Der Sensor verfügt über 4 Pins welche wie folgt mit dem Arduino UNO verbunden werden.

LM393Arduino UNO
 A0analoger Pin A0
+5V
GGND
D0digitaler Pin 7

Schaltung

Temperatursensor LM393 am MakerUno
Temperatursensor LM393 am MakerUno

Einstellen des Schwellwertes

Der Schwellwert des Temperatursensors wird über einen Drehpotentiometer eingestellt.

Dreht man diesen im Uhrzeigersinn so wird der Schwellwert erhöht und dreht man diesen gegen den Uhrzeigersinn so wird dieser Wert verkleinert.

Da dieser Sensor „nur“ einen Momentanen Temperaturwert ausgeben kann, muss hier etwas experimentiert werden wenn man einen ganz bestimmten Schwellwert haben möchte. Hier schwächelt der Sensor leider etwas.

Drehpotentiomenter am LM393 Temperatursensor
Drehpotentiomenter am LM393 Temperatursensor

Wenn der Schwellwert erreicht ist, dann wird der digitale Ausgang des Sensors auf HIGH gesetzt sowie wird eine onboard LED eingeschaltet und es kann ein weiterer Aktor geschaltet werden.

Temperatursensor LM393 Schwellwert erreicht.
Temperatursensor LM393 Schwellwert erreicht.

Quellcode

const int digitalPin = 7; //D0 vom LM393
const int analogPin = A0; //A0 vom LM393
const int ledPin = 13;  // internet LED an Pin 13

//Der MakerUNO verfügt über einen verbauten Piezobuzzer
//dieser wird über den Pin 8 angesprochen.
const int buzzerPin = 8; 

void setup(){
   Serial.begin(9600); //Beginn der seriellen Kommunikation mit 9600 baud
   pinMode(ledPin, OUTPUT); 
   pinMode(buzzerPin, OUTPUT);
   pinMode(digitalPin, INPUT);
}

void loop(){
   //lesen des analogen Wertes
   int analogValue = analogRead(analogPin);
   //lesen des zustandes, Schwellwert erreicht / nicht erreicht
   boolean state = digitalRead(digitalPin);
   
   //Ausgabe ob der Schwellwert erreicht wurde.
   Serial.print("digitaler Ausgang ist ");
   Serial.println(state==HIGH?"AN": "AUS"); 
   
   //Ausgabe der Temperatur.
   Serial.print("Temperatur:");
   Serial.println(getTempC(analogValue));

   //Wenn der Schwellwert des Temperatursensors erreicht
   //wurde, dann soll die interne LED am PIN 13 aufleuchten.
   digitalWrite(ledPin,state);     

   //Wenn der Schwellwert erreicht wurde so soll ein Ton erzeugt werden.
   //Hier könnte man auch ein Relais anschließen oder sonstige andere Aktoren
   //welche auf den Umstand hinweisen sollen.
   if(state==HIGH){
      tone(buzzerPin, 1000, 500);
   }
   
   delay(1000); //kleine Pause von 1 Sekunde.
}

double getTempC(int analogValue){
  int mappedAnalogValue = map(analogValue, 0, 1023, 1023, 0);
  double tempC = log(((10240000 / mappedAnalogValue) - 10000));
  tempC = 1 / (0.001129148 + (0.000234125 * tempC) + (0.0000000876741 * tempC * tempC * tempC));
  tempC = tempC - 273.15;
  return tempC;
}

Video

Temperatursensor LM393 am MakerUNO
Dieses Video auf YouTube ansehen.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
x
x