attiny mit arduino ide - fablab nürnberg wiki · pdf filecreative open lab 16.10.14...

19
ATtiny mit ARDUINO IDE Programmierung des ATtiny 85 mit der ARDUINO IDE Creative Open Lab - Rainer Keil

Upload: leque

Post on 06-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

ATtiny mit ARDUINO IDE Programmierung des ATtiny 85 mit der ARDUINO IDE

Creative Open Lab - Rainer Keil

Page 2: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 2 /19

Fragen über Fragen ...

● Worum geht es hier ?

● Warum das Ganze ?

● Was brauche ich ?

● Wo installiere das ?

● Welchen Programmer nehme ich ?

● Wann blinkt endlich die LED ?

● Wo finde ich weitere Infos ?

● Was wurde denn schon gebaut ?

Page 3: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 3 /19

Warum ATtiny ?

● Klein - im 8 Pin DIL … als SMD noch kleiner

● Günstig – je nach Quelle schon für weniger als 1€ zu bekommen

● Braucht (fast) keine externe Beschaltung

● Genug Leistung für viele einfache Anwendungen

● Als Entwicklungsumgebung reicht ein Arduino

● Ein paar Leitungsdaten am Beispiel ATtiny85– 8 kByte Flash für die Programme – 512 Byte RAM für die Daten– 512 Byte EEPROM– Takt bis 20 Mhz ( bis 8 MHz mit internem Taktgenerator)– 5 (für uns nutzbare) programmierbare Ports (Digtal E/A, Analog In, PWM, Interrupt ..)– Betriebsspannung 2,7 – 5,5V

Page 4: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 4 /19

Voraussetzungen Was brauche ich ?

● Teil 1 - Hardware

– Den Chip selber: Atmel ATtiny45, ATtiny85, ATtiny44 oder ATtiny84

– Programmer zum Programmieren: ISP Programmer

● Ein Original von Atmel, z. B. AT AVR ISP2

● Oder einen anderen ISP-Programmerz.B. USBasp, USBtinyISP …

● Oder einen Arduino … dazu später mehr

– Breadboard etc.

Page 5: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 5 /19

Voraussetzungen Was brauche ich ?

Software

– Die bekannte und beliebte Arduino Entwicklungsumgebung (IDE) Download von http://arduino.cc/en/Main/Software

für Windows, Mac OS X und Linux

– Erweiterung der IDE für ATtinyvon http://highlowtech.org/

Programming an ATtiny w/ Arduino 1.0This tutorial shows you how to program an ATtiny45, ATtiny85, ATtiny44 or ATtiny84 microcontroller using the Arduino software. http://highlowtech.org/?p=1695 https://github.com/damellis/attiny/archive/master.zip

https://github.com/damellis/attiny/

Page 6: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 6 /19

Installation der ATtiny Erweiterung (1)

● Download der Erweiterung http://highlowtech.org/?p=1695 https://github.com/damellis/attiny/archive/master.zip

Das ist eine .zip-Datei, die als Ordner entpackt heißt: attiny-master (oder ähnlich)in diesem Ordner findest Du den Unterordner: attiny

● Finde den Ordner mit Deinen Sketches

– Das ist vom Betriebssystem abhängig

● On Windows and Macintosh machines, the default name of the folder is "Arduino" and is located in your Documents folder.

● On Linux machines, the folder is named "Sketchbook" and it is typically located in /home/<username>

● Erstelle im Sketchbook den Ordner: hardware

● Kopiere den heruntergeladenen Ordner attiny in den Ordner hardware !

Page 7: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 7 /19

Installation der ATtiny Erweiterung (2)

● Nach einem Neustart der Arduino-IDE sind unter Tools => Board jede Menge neue ATtinys enthalten

Page 8: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 8 /19

Arduino als ISP Programmiergerät

● Mit dem Sketch „ArduinoISP“ wird ein Arduino zum Programmiergerät(siehe auch http://arduino.cc/en/Tutorial/ArduinoISP)

– Arduino anschliessen und in der IDE auswählen (Board und Schnittstelle)

– „ArduinoISP“ öffen (unter Beispiele)

– „ArduinoISP“ hochladen ( „Upload“)

– Bei einem „UNO“ muss jetztein Kondensator 10µF zwischenRESET und GND eingebaut werden

– Als Programmiergerät auswählen: Tools > Programmer > ArduinoISP

– Damit stehen am Arduino die ISP Signale zur Verfügung

slave reset Pin 10 MOSI Pin 11MISO Pin 12SCK Pin 13

SCKMISOMOSIReset

5 VGND

10 µF

Page 9: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 9 /19

Alternaive Programmiergeräte

● ISP-Shield für Arduinovom Mose, erhältlich bei eHaJo

● ISP Programmer von verschiedenen Herstellern

Page 10: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 10 /19

Verdrahtung Arduino ISP → Attiny 85

10µF

10µF

Page 11: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 11 /19

… jetzt geht es los Hello World = „Blink“

● ATiny als Board Auswählen

– Sinnvoll sind die Varianten mit interner TakterzeugungTools>Board>ATtiny85 (internal 8 MHz clock)

● Fuses des ATtiny setzen

– Tools>Bootloader installieren

● Beispielsketch „Blink“ laden

– Datei>Beispiele>Basics>Blink

● Ausgang auf Pin 3 setzen (war 13)

● Übersetzen und Programmieren

– Datei>Upload (mit Programmer)

FERTIG

Page 12: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 12 /19

„Tiny-Blink“

Page 13: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 13 /19

Was geht ??

Ein ATiny ist kein ATmega und daher wird nur ein Teil der Arduino Kommandos unterstützt

● pinMode()● digitalWrite()● digitalRead()● analogRead()● analogWrite()● shiftOut()● pulseIn()● millis()● micros()● delay()● delayMicroseconds()● SoftwareSerial (bei 8Mhz)

In den Weiten des Internet finden sich noch viele Anregungen und Bibliotheken

● TinyWireM & TinyWireS: Wire (I2C / TWI) library for the ATtiny85 (using USI)● Servo8Bit: Servo library for the ATtiny45/85.● ...

Page 14: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 14 /19

PINOUT des ATtiny 85 und die ARDUINO Übersetzung

WICHTIGPin1 ist nicht sinnvoll für uns nutzbar, da sonst eine erneute Programmierung nicht mehr möglich ist !(= RESET, mit 5V verbinden)

Page 15: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 15 /19

Beispiel 1Abluftsteuerung für den FabLab Laser

● An einem Analogeingang wird die Stellung eines Potentiometers eingelesen. Dieser Wert wird dann als Sollwert für die Drehzahlvorgabe verwendet.

● Der Lüfter wird dann durch ein vom Hersteller definierten PWM Signal angesteuert.

● Mit einen Schalter kann der Lüfter abgeschaltet werden.

● PWM mit 3,9 kHz (31250/8) statt ca. 500 Hz

Page 16: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 16 /19

Beispiel 1Abluftsteuerung für den FabLab Laser

Page 17: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 17 /19

Beispiel 2RC Servo Reverse und Blinker

● Das an PPM_INPUT anliegende Signal wir an die beiden Servos so ausgegeben, dass sie gegenläufig ausschlagen.

● Die beiden LEDs werden je nach Lenkausschlag als Blinker geschaltet

● Liegt kein Eingangssignal an (=Fehler) blinken beide LEDS schnell

Page 18: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 18 /19

Beispiel 2RC Servo Reverse und Blinker

Page 19: ATtiny mit ARDUINO IDE - FabLab Nürnberg Wiki · PDF fileCreative Open Lab 16.10.14 ATtiny mit Arduino IDE Seite 4 /19 Voraussetzungen Was brauche ich ? Teil 1 - Hardware – Den

ATtiny mit ARDUINO IDE