Archiv der Kategorie: AVR

Arduino-Sensorknoten

Auf der Basis eines ESP8266-Mikrocontrollers von Espressif hatte ich gezeigt, dass man einen WiFi-tauglichen IoT-Knoten zu sehr geringen Kosten (es waren 15 US$) aufbauen kann [Building an IoT Node for less than 15 $: NodeMCU & ESP8266].

Dass WiFi auf Grund der geringen Reichweite und des doch recht hohen Stromverbrauchs für einen batteriebetriebenen IoT-Knoten allerdings nur unter bestimmten Bedingungen geeignet ist, war auch durch eigene Untersuchungen gezeigt worden [IoT Button (5th)].

Der hier betrachtete Sensorknoten soll deshalb neben der Anbindung verschiedener Sensoren auch unterschiedliche Kommunikationsmöglichkeiten (WiFi, LoRaWAN, BLE, GSM) aufweisen. Damit wird es möglich werden, einen konkreten IoT-Sensor baukastenartig zusammenstellen.

Sensorknoten

Der Beitrag „Arduino-Sensorknoten“ wird im Sammelwerk „Messen, Steuern, Regeln mit IBM-kompatiblen PCs“ des Weka-Verlags veröffentlicht.

ISBN 978-3824549009

Die Programmbeispiele werden auf Github abgelegt und stehen zum Donload zur Verfügung.

Der erste Teil des Beitrags ist in der Ausgabe 170 im Februar 2019 erschienen.

Werbeanzeigen

AVR Timer Interrupts Calculator

Arduino_Logo.svg
Timers for

  • ATmega328P used in Arduino Uno & Arduino Pro Mini
  • ATmega2560 used in Arduino Mega 2560 and
  • ATtiny85

are calculated in CTC mode. Select requested frequency, MCU and timer. Click Calculate. Copy result into the clipboard. Paste code into Arduino IDE. Ready. Click here for this easy to use tool.

It’s a good addition to my book Arduino Interrupts – Speed up your Arduino to be responsive.

Ledunia Benchmarks

Mit dem Beitrag Arduino32: Die jungen Wilden in der Zeitschrift DESIGN&ELEKTRONIK (Online-Version Teil 1Online Version Teil 2) hatte ich 32-Bit Arduinos vorgestellt und an Hand einfacher Benchmarks miteinander verglichen.

Der verbreitete #ESP8266 ist ebenfalls in die Arduino Umgebung integriert und die Verfügbarkeit von #Ledunia als High-End-ESP8266-Modul haben mich veranlasst, diese Tests mit Ledunia zu wiederholen.

Die Programme selbst sind unter GitHub abgelegt, können von da heruntergeladen und in der Arduino IDE ausgeführt werden. Hier sind die Benchmark-Ergebnisse im Vergleich zu verschiedenen klassischen Arduinos:

Board Arduino Uno Arduino M0 Arduino Due Ledunia
CPU ATmega328 ATSAMD21G18
(Cortex-M0+)
AT91SAM3X8E
(Cortex-M3)
ESP8266EX
Clock 16 MHz 48 MHz 84 MHz 80 MHz
Runtime 18267 ms 5180 ms 3451 ms 2189 ms
IO-  Periode 11,60 us 3.24 us 4,32 us 5 us
I/O-Frequenz 86,21 kHz 308,6 kHz 203,3 kHz 200 kHz

Die Leistungsmerkmale der ESP8266-basierten Arduinos können sich sehen lassen und bilden damit eine sehr gute Ergänzung der Arduino-Familie.

FlashForth

Auf Grund der beschränkten Ressourcen eines Arduinos sind dem Einsatz von Script Sprachen enge Grenzen gesetzt. Betrachtet man beispielsweise einen Arduino als prozessnahes Frontend eines Linux Devices (Raspberry Pi, Banana Pi, Beagle Bone), dann wäre es wünschenswert, auch dort einen Script Interpreter zur Verfügung zu haben. Beim Linux Device hat man eine leistungsfähige Shell, Python, Lua u.a. zur Verfügung.

Beim einfachen 8-Bit-Mikrocontroller (AVR, PIC) kann Forth eine Alternative darstellen.

Für den Arduino Uno R3 bietet der Entwickler Mikael Nordman vorprogrammierte ATmega328 Chips zum Preis von € 10 (incl. Porto) an (Anfrage). Für die Dokumentation gibt es eine aktualisierte Version.

Meine Erfahrungen bei der Inbetriebnahme von FlashForth auf dem Arduino habe ich hier zusammengestellt.