DigiSpark ATtiny85 mit OLED Display und analogen Temperatursensor LM35DZ

In diesem Beitrag möchte ich dir zeigen, wie du einen analogen Temperatursensor LM35DZ am DigiSpark ATtiny85 programmieren und betreiben kannst.

Temperatursensor LM35DZ am DigiSpark ATtiny85
Temperatursensor LM35DZ am DigiSpark ATtiny85

In meinem Beitrag ATtiny85 mit 0,42″ OLED Display habe ich dir bereits gezeigt wie du ein 0,42″ OLED Display am ATtiny85 programmieren und betreiben kannst. 

benötigte Bauteile

* Die 9V Blockbatterie erhältst du in jedem Supermarkt, wobei ich diese von Aldi Nord bevorzuge, hier hat man ein sehr gutes Preisleistungsverhältnis (siehe Arduino Lektion 83: Stromversorgung).

Technische Daten des analogen Temperatursensors LM35DZ

  • Temperaturmessbereich : 0°C bis 100°C
  • Genauigkeit ±0,4°C
  • Versorgungspannung 4V bis 30V

Aufbau der Schaltung – analoger Temperatursensor LM35DZ & OLED Display am ATtiny85

Die elektrischen Bauteile werden wiefolgt an den DigiSpark ATtiny85 angeschlossen:

BauteilDigiSpark ATtiny85
0,42″ OLED Display 
GNDGND
VCC3,3V
SCLP2
SDAP0
LM35DZ 
VCC5V
analog OUTP4
GNDGND

Installieren des DigiSpark ATtiny85 in der Arduino IDE

Bevor du den analogen Temperatursensor LM35DZ am DigiSpark ATtiny85 programmieren kannst musst du den Treiber für diesen Microcontroller installieren. Wie du dieses machst habe ich im YouTube Video ausführlich erläutert.

Mini Arduino - Einrichten der Arduino IDE

Programmieren des Sensors LM35DZ & OLED Display am ATtiny85

Nachdem der Treiber für den DigiSpark ATtiny85 installiert ist und die Schaltung aufgebaut wurde. Können wir den analogen Temperatursensor LM35DZ programmieren. Diesen Sensor habe ich bereits in diversen Beiträgen verwendet und auch in einem meiner ersten Beiträge Arduino Lektion 5: Temperatur messen vorgestellt. Du benötigst zum auslesen keine zusätzliche Bibliothek.

//Bibliothek zum betreiben des OLED Displays
//am ATtiny85
#include <Tiny4kOLED.h>

#define lm35dz A2

void setup() { 
  oled.begin();
  oled.clear();
  oled.on();
  oled.switchRenderFrame();
}

void loop() {
  oled.clear();
  oled.setFont(FONT8X16);
  oled.setCursor(32, 1);
  oled.print(F("          "));

  int analogValue = analogRead(lm35dz);
  int temp = (125*analogValue)>>8;
  oled.setCursor(32, 2);  
  oled.print(temp);
  oled.setCursor(50, 2);
  oled.print(F("C    "));
  oled.switchFrame();
    
  delay(1000);
}

Dieser kleine Sketch belegt schon 79% des Speichers im ATtiny85 daher muss man mit den verwendeten Variablen gut überlegen. 

Der Sketch verwendet 4760 Bytes (79%) des Programmspeicherplatzes. Das Maximum sind 6012 Bytes.
Globale Variablen verwenden 115 Bytes des dynamischen Speichers.
Temperatursensor LM35DZ am DigiSpark ATtiny85
Temperatursensor LM35DZ am DigiSpark ATtiny85

Kommentar hinterlassen

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