Arduino - Temperatuur weergeven van LM35 Sensor op OLED

In deze tutorial gaan we leren hoe we de temperatuur uitlezen van een LM35 sensor en deze weergeven op een OLED.

Arduino LM35 Temperatuursensor OLED W

Hardware benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×SSD1306 I2C OLED-Display 128x64
1×SSD1306 I2C OLED-Display 128x32
1×LM35 Temperatuursensor
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over OLED en LM35 Temperatuursensor

Als u nog niet bekend bent met OLED en LM35 Temperatuursensor (pinout, werking, programmeren ...), leer er meer over in de volgende tutorials:

Aansluitschema

Arduino LM35 Temperatuursensor OLED Aansluitschema

This image is created using Fritzing. Click to enlarge image

Arduino Code - LM35 Temperatuursensor - OLED

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-display-temperature-from-lm35-sensor-on-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define ADC_VREF_mV 5000.0 // in millivolt #define ADC_RESOLUTION 1024.0 #define PIN_LM35 A0 // pin connected to LM35 temperature sensor Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C String tempString; void setup() { Serial.begin(9600); // initialize OLED display with address 0x3C for 128x64 if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); // wait for initializing oled.clearDisplay(); // clear display oled.setTextSize(2); // text size oled.setTextColor(WHITE); // text color oled.setCursor(0, 10); // position to display tempString.reserve(10); // to avoid fragmenting memory when using String } void loop() { // get the ADC value from the LM35 temperature sensor int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in Celsius float tempC = milliVolt / 10; tempString = String(tempC, 2); // two decimal places tempString += char(247) + String("C"); Serial.println(tempString); // print the temperature in Celsius to Serial Monitor oledDisplayCenter(tempString); // display temperature on OLED } void oledDisplayCenter(String text) { int16_t x1; int16_t y1; uint16_t width; uint16_t height; oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height); // display on horizontal and vertical center oled.clearDisplay(); // clear display oled.setCursor((SCREEN_WIDTH - width) / 2, (SCREEN_HEIGHT - height) / 2); oled.println(text); // text to display oled.display(); }

Snelle Stappen

  • Open de Arduino IDE op uw pc.
  • Navigeer naar het Libraries icoon in de linkerbalk van de Arduino IDE.
  • Zoek op “SSD1306” en vind de SSD1306 bibliotheek van Adafruit.
  • Klik op de Install knop om de bibliotheek te installeren.
Arduino OLED bibliotheek
  • U krijgt mogelijk de vraag om extra bibliotheekafhankelijkheden te installeren.
  • Klik op de Install All knop om alle benodigde afhankelijkheden te installeren.
Arduino Adafruit GFX sensor bibliotheek
  • Kopieer de bovenstaande code en open deze met Arduino IDE.
  • Klik op de Upload knop in Arduino IDE om de code naar de Arduino te uploaden.
  • Plaats de sensor in warm en koud water, of houd de sensor in uw hand.
  • Bekijk het resultaat op het OLED display en in de Serial Monitor.

※ Notiz:

De bovenstaande code centreert automatisch de tekst horizontaal en verticaal op het OLED-display.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!