Kategorie: Software-Bibliotheken

Beschreibungen und Diskussion von Software-Bibliotheken

Wie man mysteriöse, stille Fehler im Arduino Sketch vermeidet: Schiebe PROGMEM ans andere Ende

Hast du schon mal einen Arduino Mega 2560 (oder ein ähnliches Board) benutzt und irgendwann im Entwicklungsprozess festgestellt, dass die LED auf mysteriöse Weise aufhört zu blinken, dass der Text verstümmelt gedruckt wird oder dass komische Artefakte auf den Bildern erscheinen? Und das alles ohne ersichtlichen Grund oder eine Fehler- oder Warnmeldung? Wenn du wissen willst, was dahinter steckt und wie du dieses Problem lösen kannst, lies weiter.

Weiter lesen

Ein projektbezogener Ersatz für die Wire-Bibliothek

Die Wire-Bibliothek verbindet deinen Arduino mit Sensoren und Aktoren, die über das I2C-Protokoll kommunizieren. Leider hat diese Bibliothek viele Unzulänglichkeiten, und oft möchtest du sie durch eine andere I2C-Bibliothek ersetzen. Die Wire-Bibliothek projektbezogen (also nur für einen Sketch) zu ersetzen, erweist sich als komplizierter, als man erwarten würde. In diesem Blogbeitrag beschreibe ich eine einfache Methode, um das zu erreichen.

Weiter lesen

Kalibrierung der AVR MCU

Wenn man eine eigene MCU-Platine baut, verwendet man oft keinen Quarz oder Resonator. Stattdessen wird der interne RC-Oszillator verwendet, der ziemlich ungenau sein kann. Wenn man die interne Referenzspannung zur Messung der Versorgungsspannung verwenden will, stellt sich heraus, dass die Referenzspannung sehr stark von ihrem Nennwert abweichen kann. Sowohl der RC-Oszillator als auch die interne Referenzspannung können jedoch kalibriert werden. In diesem Blogbeitrag beschreibe ich eine einfache Methode, um beides mit einem UNO-Board und einem Multimeter unter Verwendung der avrCalibrate-Bibliothek zu kalibrieren.

Weiter lesen

Eine einzige Verbindung

Eine neue Arduino-Bibliothek hat das Licht der Welt erblickt: SingleWireSerial. Sie unterstützt einadrige asynchrone serielle Halbduplex-Kommunikation. Durch die Verwendung der Eingangserfassungsfunktion der AVR-MCUs ist sie extrem genau und unterstützt Bitraten von bis zu 250 kbps. Und konträr zum Titel kann man sie auch für Zweidraht-Verbindungen verwenden.

Weiter lesen

Sind Eingaben verfügbar?

Die SoftwareSerial-Klasse verfügt genauso wie die Serial-Klasse über die available()-Methode, die die Anzahl der Zeichen zurückgibt, die bereits empfangen, aber noch nicht gelesen wurden. Es gibt jedoch einen interessanten Unterschied. Ein Aufruf von SoftwareSerial.available() ist deutlich langsamer als ein Aufruf von Serial.available(). Wir werden nach dem tieferen Grund für dieses seltsame Verhalten suchen und ich werde drei Möglichkeiten aufzeigen, um das Problem zu beheben.

EDIT: In der Arduino Version 1.8.17 wurde das Problem beseitigt.

Weiter lesen

Copyright © 2026 Arduino-Bastelecke

Thema von Anders NorenHoch ↑