ATtiny mit ARDUINO IDE Programmierung des ATtiny 85 mit der ARDUINO IDE
Creative Open Lab - Rainer Keil
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 ?
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
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.
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/
–
http://arduino.cc/en/Main/Softwarehttp://highlowtech.org/http://highlowtech.org/?p=1695https://github.com/damellis/attiny/archive/master.ziphttps://github.com/damellis/attiny/
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/
● Erstelle im Sketchbook den Ordner: hardware
● Kopiere den heruntergeladenen Ordner attiny in den Ordner hardware !
http://highlowtech.org/?p=1695https://github.com/damellis/attiny/archive/master.zip
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
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
http://arduino.cc/en/Tutorial/ArduinoISP
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
Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 10 /19
Verdrahtung Arduino ISP → Attiny 85
10µF
10µF
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
Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 12 /19
„Tiny-Blink“
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.● ...
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)
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
Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 16 /19
Beispiel 1Abluftsteuerung für den FabLab Laser
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
Creative Open Lab16.10.14 ATtiny mit Arduino IDE Seite 18 /19
Beispiel 2RC Servo Reverse und Blinker
ATtiny mit ARDUINO IDE
Folie 1Folie 2Folie 3Folie 4Folie 5Folie 6Folie 7Folie 8Folie 9Folie 10Folie 11Folie 12Folie 13Folie 14Folie 15Folie 16Folie 17Folie 18Folie 19
Top Related