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

  • DigiSpark ATtiny85,
    • Micro USB Datenkabel,
  • analoger Temperatursensor LM35DZ,
  • 0,42″ OLED Display,
  • 10x Breadboardkabel, Stecker – Stecker
  • 2x Breadboardkabel, Stecker – Buchse
  • 400 Pin Breadboard, (besser ein 720 Pin),
  • Power Modul für ein Breadboard,
  • 9V Blockbatterie und inkl. Halter mit Jack – Adapter

Technische Daten des analogen Temperatursensors LM35DZ

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

Aufbau der Schaltung

Die elektrischen Bauteile werden wiefolgt an den DigiSpark ATtiny85 angeschlossen:

Bauteil DigiSpark ATtiny85
0,42″ OLED Display  
GND GND
VCC 3,3V
SCL P2
SDA P0
LM35DZ  
VCC 5V
analog OUT P4
GND GND

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
Dieses Video ansehen auf YouTube.

Programmierung

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

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