Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

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)

ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

Schritt 1: Arduino Uno als ISP (In-System Programmer) konfigurieren

  1. Arduino Uno mit dem PC verbinden.
  2. Arduino IDE öffnen → Datei → Beispiele → ArduinoISP öffnen und hochladen.

Schritt 2: ATtiny85-Support in der Arduino IDE hinzufügen

  1. Datei → Voreinstellungen öffnen.
  2. 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
  3. OK klicken.
  4. Werkzeuge → Board → Boardverwalter öffnen.
  5. Nach „attiny by Davis A. Mellis“ suchen, anklicken und Installieren.
  6. Nach Installation: Unter Werkzeuge → Board erscheint nun ein neuer Eintrag „ATtiny“.
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

Schritt 3: ATtiny85 mit Arduino Uno verbinden

Verbindung über Breadboard:

Arduino Uno ATtiny85
5VVcc (Pin 8)
GNDGND (Pin 4)
Pin 13Pin 2 (PB3 / SCK)
Pin 12Pin 1 (PB2 / MISO)
Pin 11Pin 0 (PB1 / MOSI)
Pin 10Reset (Pin 5)
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

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

  1. In der Arduino IDE: Werkzeuge → Board → ATtiny wählen.
  2. Werkzeuge → Prozessor → ATtiny85 wählen.
  3. Werkzeuge → Takt → 8 MHz (intern) wählen.
  4. Werkzeuge → Programmer → Arduino as ISP wählen.
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

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

ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

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.

ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

Schritt 5: ATtiny85 Blink testen

Alle Verbindungen zum Arduino trennen. ATtiny85 mit einer Stromquelle versorgen – hier eine Knopfzelle.

ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

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.

ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

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

ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung
ATtiny85 effizient mit Arduino Uno programmieren: Günstige Multi-Sensor-Lösung

Herstellungsprozess

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