In diesem Beitrag möchte ich dir zeigen, wie du einen analogen Temperatursensor LM35DZ am DigiSpark ATtiny85 programmieren und betreiben kannst.
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*,
- 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*
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
** 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
- Versorgungsspannung 4V bis 30V
Aufbau der Schaltung – analoger Temperatursensor LM35DZ & OLED Display am ATtiny85
Die elektrischen Bauteile werden wie folgt 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 Mikrocontroller installieren. Wie du dieses machst, habe ich im YouTube Video ausführlich erläutert.
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.