ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
Komponenten und Zubehör
| Bauteil | Menge |
|---|---|
| Arduino UNO | 1 |
| Microchip ATtiny85 | 1 |
| Elektrolytkondensator 10 µF / 25 V (Entkopplung) | 1 |
| Jumper-Kabel M/M | 1 |
Über dieses Projekt
Ich arbeite an einem Projekt, das Sensordaten an verschiedenen Standorten auslesen muss. Da nur wenige PWM-Pins benötigt werden, wären mehrere Arduino Unos teuer und überdimensioniert. Der ATtiny85 ist eine günstige und leistungsstarke Alternative, wenn man nicht viele Pins braucht.
Da der ATtiny85 nur ein Mikrocontroller ist, benötigen wir einen Arduino Uno als Programmer. Dieses Tutorial erklärt den kompletten Prozess.
Pin-Konfiguration des ATtiny85: Datenblatt (PDF)

Schritt 1: Arduino Uno als ISP (In-System Programmer) konfigurieren
- Arduino Uno mit dem PC verbinden.
- Arduino IDE öffnen → Datei → Beispiele → ArduinoISP öffnen und hochladen.
Schritt 2: ATtiny85-Support in der Arduino IDE hinzufügen
- Datei → Voreinstellungen öffnen.
- Bei „Zusätzliche Boardverwalter-URLs“ folgende URL eintragen:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json - OK klicken.
- Werkzeuge → Board → Boardverwalter öffnen.
- Nach „attiny by Davis A. Mellis“ suchen, anklicken und Installieren.
- Nach Installation: Unter Werkzeuge → Board erscheint nun ein neuer Eintrag „ATtiny“.




Schritt 3: ATtiny85 mit Arduino Uno verbinden
Verbindung über Breadboard:
| Arduino Uno | ATtiny85 |
|---|---|
| 5V | Vcc (Pin 8) |
| GND | GND (Pin 4) |
| Pin 13 | Pin 2 (PB3 / SCK) |
| Pin 12 | Pin 1 (PB2 / MISO) |
| Pin 11 | Pin 0 (PB1 / MOSI) |
| Pin 10 | Reset (Pin 5) |


Wichtig: Ein 10 µF Kondensator zwischen RESET und GND am Arduino Uno verhindert den Auto-Reset beim Hochladen auf den ATtiny85. Bei Elkos: Anode (Plus) an GND, Kathode (Minus) an RESET.
Schritt 4: Programm auf ATtiny85 hochladen
- In der Arduino IDE: Werkzeuge → Board → ATtiny wählen.
- Werkzeuge → Prozessor → ATtiny85 wählen.
- Werkzeuge → Takt → 8 MHz (intern) wählen.
- Werkzeuge → Programmer → Arduino as ISP wählen.



Standardmäßig läuft der ATtiny85 mit 1 MHz. Für 8 MHz: Werkzeuge → Bootloader brennen auswählen.


Nun das Blink-Beispiel öffnen (Datei → Beispiele → 01.Basics → Blink) und die Pin-Nummer von 13 auf 0 ändern (Pin 0 = PB0 = physikalischer Pin 5). Hochladen.


Schritt 5: ATtiny85 Blink testen
Alle Verbindungen zum Arduino trennen. ATtiny85 mit einer Stromquelle versorgen – hier eine Knopfzelle.

Die LED blinkt! Jetzt kannst du viele Projekte mit niedrigem Kosten, geringem Stromverbrauch und minimalem Platzbedarf realisieren. Nur deine Vorstellungskraft (und die Anzahl der PWM-Pins) setzen Grenzen.
Schritt 6: Als Shield ausbauen (optional)
Ich habe die Schaltung zu einem Arduino-Uno-kompatiblen Shield ausgebaut.





Hinweis: Als Softwareentwickler ist dies mein erstes Elektronik-Projekt. Vorschläge zur Verbesserung sind willkommen!
Code
Blink-Programm (angepasst für ATtiny85 Pin 0)
/* Blink
LED an Pin 0 für 1 Sekunde an, dann 1 Sekunde aus.
Dieses Beispiel ist Public Domain.
*/
void setup() {
pinMode(0, OUTPUT); // Pin 0 (PB0) als Ausgang
}
void loop() {
digitalWrite(0, HIGH); // LED an
delay(1000);
digitalWrite(0, LOW); // LED aus
delay(1000);
}
Schaltpläne


Herstellungsprozess
- Python Extension Programming mit C: Schnelle, native Module erstellen
- Arduino Echtzeituhr für islamische Gebetszeiten bauen
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Einfacher Taschenrechner mit Arduino UNO – Einsteigerprojekt
- Bilder auf 1,17-Zoll-TFT-LCD mit Arduino UNO anzeigen
- Tragbares Persistence-of-Vision-Display mit Arduino UNO und ATtiny85 bauen
- 8×8 LED-Matrix mit Arduino Uno meistern: Schritt-für-Schritt-Anleitung
- 4x4x4 LED-Würfel mit Arduino Uno & 1Sheeld bauen – Interaktives LED-Projekt
- 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test