Arduino
Eigenbau | Arduino | AVR-ISP | FUN LED Cube |
Viele der zuletzt entwickelten Schaltungen basieren auf dem Open-Source Projekt Arduino.
Arduino IDE
Mit Hilfe der Arduino IDE können die INO Sketch Dateien in die Arduino Atmega Prozessoren geladen werden. Außerdem enthält die Arduino IDE einen Serial Monitor.
Download:
Bibliotheken
Nützlich beim Programmieren mit den Arduino Boards sind libraries, welche es erleichtern Hardware anzusprechen. Im Downloadbereich dieser Webseite findet ihr libaries, welche ich selber für meine Projekte verwende. Vorteil dieser Bibliotheken ist es, sie funktionieren alle fehlerfrei ab der Arduino IDE Version 1.0
Hardware
Information | Tiny | Arduino UNO | Arduino Fio v3 | Sanguino | Arduino MEGA | WiFi ESP | ||
---|---|---|---|---|---|---|---|---|
Prozessor | ATtiny 45/85 | ATMega328p | ATMega32U4 | ATMega644p | ATmega1284p | ATMega2560 | ESP8266 | ESP32 |
Package | 8-pin PDIP | 28-pin PDIP 32-lead TQFP 28-pad QFN/MLF 32-pad QFN/MLF |
44-lead TQFP Package 44-lead QFN Package |
40-pin PDIP 44-lead TQFP 44-pad QFN/MLF |
40-pin PDIP 44-lead TQFP 44-pad QFN/MLF |
100-lead TQFP 100-ball CBGA |
PCB 2×4 DIL (ESP-01) 2×8 gezahnt (ESP-12) |
zwei Reihen je 15 Pins |
Spannung | 5V | 5V | 5V | 5V | 5V | 5V | 3,3V | 3,3V |
Speed | 1-16MHz | 16MHz | 16MHz | 16MHz | 16MHz | 16MHz | 80/160MHz | 240MHz |
Flash | 4k/8k | 32k | 32k | 64k | 128k | 256k | 512k/1M | 4-32M |
RAM | 512b | 2k | 2,5k | 4k | 16k | 8k | 80k | 512k |
EEPROM | 512b | 1k | 1k | 2k | 4k | 4k | Flash only | Flash only |
UART | - | 1 | 1 + USB | 2 | 2 | 4 | 2 | 3 |
Timer | 2x 8-bit | 2x 8-bit 1x 16-bit |
1x 8-bit 2x 16-bit 1x 10-bit |
2x 8-bit 1x 16-bit |
2x 8-bit 2x 16-bit |
2x 8-bit 4x 16-bit |
6x os_timer (Software) 1x hw_timer (Hardware) |
capacitive touch, ADCs, DACs, UART, SPI, I2C |
I/O Pins | 5 (6) | 20 | 26 | 32 | 32 | 54 | 16 (6/14) | 16 PWM |
Interrupts(ext.) | 1 | 2 | 3 | 3 | 3 | 8 | all I/O | all I/O |
Analog Inputs | 3 (4) | 6 (10-bit) | 12 (10-bit) | 8 (10-bit) | 8 (10-bit) | 16 (10-bit) | 1 (10-bit) | 18 (12-bit) |
Sanguino Files für Arduino IDE
-> Download
- Anpassung der Arduino IDE für die Nutzung des ATmega644p oder ATmega1284p
- Integration Sanguino via Board Manager by Kristian Sloth Lauszus: https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
ESP8266
- Integration ESP8266 via zusätzliche Boardverwalter-URLs: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Beispiel für die Nutzung des Timer im ESP8266 mit der Arduino IDE - Download
ATtiny für Arduino IDE
- Programmierung von ATtiny44/45/84/85 mit der Arduino IDE. Hierfür ist ein Arduino UNO notwendig! Dieser wird vorher mit dem Beispiel Sketch unter: Werkzeuge->Programmer->Arduino as ISP programmiert.
- a) Integration Attiny by David A. Mellis via zusätzlicher Boardverwalter-URLs: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
- b) Integration ATTinyCore via zusätzlicher Boardverwalter-URLs: http://drazzy.com/package_drazzy.com_index.json
- Einmaliges Setzen der Fuses im ATtiny:
- Auswahl des Board: Werkzeuge->Platine->ATtiny
- Einstellen des Prozessortyp: Werkzeuge->Prozessor->ATinyXX
- Auswahl der Taktfrequenz: Werkzeuge->Clock->8 MHz (internal)
- Auswahl des Programmiergerät: Werkzeuge->Programmer->Arduino as ISP
- Schreiben der FUSE: Werkzeuge->Bootloader brennen
- Hochladen des Sketch mittels ISP über den Arduino UNO
Hochspannungsprogrammierung (High-Voltage-Programming)
Um alle 6 I/O Pins eines ATTiny45/85 zu nutzen muss der Chip mittels Hochspannungsprogrammierung beschrieben werden. Dies ist notwendig da für eine ISP Programmierung der RESET des Dekoders notwendig ist um die Programmierung zu starten.
Mittels eines kleinen Board kann auch der Arduino UNO dafür genutzt werden den ATTiny mit +12V Hochspannung um zu programmieren. Dazu ist zusätzlich auch ein externes Netzteil notwendig.
Der Programmer kann mittels Serial oder per Taster bedient werden. Standardmäßig kann er zwischen den FUSE für 16MHz PLL (F1;D5;FF) und 16MHz PLL; disable RST (F1;55;FF) je mit Brown-out Level bei 2,7V wechseln.
Download
- Sketch (28.05.20) - Arduino Tiny High-Voltage-Programmer
Hinweis: Im Sketch ist die Benennung von High-FUSE und Low-FUSE vertauscht!