Willkommen auf meiner Homepage!


Ich beschäftige mich seit Anfang 2014 mit der Programmierung von Arduino Uno/Nano/Mega und Attiny45/85 und möchte meine Arduino/Attiny-Tätigkeiten hier vorstellen. Einerseits um vielleicht mit dem einen oder anderen Arduino-Programmierer in Verbindung zu kommen und Erfahrungen auszutauschen. Andererseits aber auch, um für mich selbst meine Tätigkeiten zu dokumentieren und dadurch von mir erarbeitete Lösungen bzw. Anleitungen immer griffbereit für neue Anwendungen zu haben.

Alle hier vorgestellten Tätigkeiten habe ich für meine private Verwendung gebaut und programmiert, falls es dafür erforderlich war oder ich Lust hatte, habe ich Libraries dazu geschrieben. Da ich mich nur in meiner Freizeit mit Arduino beschäftige, erhebe ich für meine geschriebenen Programme und Libraries keinen Anspruch auf optimale Programmierung, Vollständigkeit oder Fehlerfreiheit. Mein Ziel ist es aber, dass ich mich durch die kontinuierliche Auseinandersetzung mit der Thematik ständig verbessere.

Gerne nehme ich konstruktive Kritik oder Anregung über das Kontaktformular oder über das Forum entgegen, freue mich aber auch, wenn jemand von meinen vorgestellten Schaltungen bzw. Programmen und Libraries etwas für sich verwenden kann und mir auch ein Feedback darüber gibt.

Retian

===================================================

Die verpönte delay-Funktion

Wenn auch verpönt, so verwende ich, vor allem auch bei meinen Programmbeispielen zu meinen Libraries die delay-Funktion - ganz bewusst und mit Bedacht - und begründe das mit nachfolgendem Artikel, den ich bereits vor einigen Jahren im www.arduinoforum.de geschrieben habe:

11.12.2015, Einsatz von delays

Nachdem in diversen Foren der Einsatz von "delays" immer wieder verteufelt wird, möchte ich dieses Thema auch einmal aufgreifen und meine etwas differenzierte Meinung dazu äußern. Aus meiner Sicht kann der Einsatz von delays schon berechtigt und auch sinnvoll sein, wenn z.B.:

  • Es aus Hardwaregründen erforderlich ist, z.B. auf Zustandsänderungen oder auf Einschwingvorgänge kurz zu warten. Diese delays spielen sich häufig im Bereich von einigen hundert Mikrosekunden bis wenigen Millisekunden ab und haben daher meist nur wenig Einfluss auf einen ungebremsten Programmablauf.
  • Es Programme gibt, wo einfach zwischen zwei Ereignissen nichts zu tun ist und damit meine ich auch wirklich nichts. Warum sollte dieses Warten nicht mit einem delay realisiert werden. Beispiel: Messwertaufnahme und Übermittlung des Messwertes an ein anderes System in einem Zyklus von 5 Minuten. Was soll der Controller in der Zwischenzeit machen, außer Warten?
  • Die oft gehörte Aussage, dass während eines delays der Controller nichts mehr tun kann, ist so nicht ganz richtig. Er kann nämlich sehr wohl auf Interrupts reagieren. Man kann das System ganz bewusst in den delay-Zustand versetzt, um zum Beispiel in dieser Zeit Zählimpulse per Interrupt zu erfassen (z.B. für eine Drehzahlmessung). Würde der Controller während der Impulszählung mit anderen Dingen sehr beschäftigt sein, könnten so Zählimpulse verloren gehen und dadurch das Ergebnis verfälschen.

Aus meiner Sicht ist also der bewusste Einsatz von delays sehr wohl berechtigt und man sollte daher die Verwendung nicht grundsätzlich so negativ darstellen. Es ist aber sicher richtig, dass man - vor allem Neueinsteigern - auf die Risiken hinweist, die der unüberlegte Einsatz mit sich bringen kann.

====================================================

Fragen, Anregungen, Kommentare

Pin Change Interrupt

Michael | 13.05.2021

endlich eine komplette, ausführliche und verständliche Beschreibung des Themas

Super Seite!

Frank | 09.05.2021

Hallo, echt gute Seite mit Hilfreichen Tutorials die mir bei meinen Projekten schon oft weitergeholfen haben. Besonders die Timer- und PWM Programmierung ist sehr hilfreich, wenn man nicht die Arduino Library benutzen möchte. VG Frank

DS3231

Siggi | 15.04.2021

Hallo!
Wollte auch mal "Danke" sagen; hat mir sehr geholfen auf einem Nano eine kleine Zeit/Temp. Anzeige (0.96 Display) für mein Fiat X1/9 zu verwirklichen!

Gruß Siggi

Luftdrucksensor BMP280

Thomas | 13.03.2021

Vielen Dank für deine Library.
Jetzt Funktioniert mein Luftdrucksensor.

Danke!!

Retian | 08.03.2021

Ich freue mich über jede Rückmeldung und ganz besonders natürlich über Positive. Vielen Dank an Ritchie, Günther und Rainer.
Viel Erfolg bei euren Projekten.
VG Retian

Danke für Deine Libs

Rainer | 07.03.2021

Hallo,
wollte DIr ein Lob für Deine Libs ausprechen.
Feine Sache !!!
Ich nutze FRAM I2C und INA219

Weiter so!!!

MyPCF8574

Günther | 27.02.2021

Hallo Retian
Danke für die Lib zum I2C Baustein PCF8574. Das war genau das was ich gesucht habe und es funktioniert super!! Einzelne Ausgänge separat schalten, ohne die anderen zu beeinflußen.!
Grüße aus dem Schwarzwald
Günther

Deine MyTCA und MyMCP4725 libs...

Ritchie | 15.02.2021

Hi Retian,
ein ganz großes Lob für Deine Treiber! Die Sachen funktionieren alle "out of the box" und sind wirklich gut getestet und programmiert. Hier an der Uni machen wir gerade eine Platine für ein Master-Projekt in der Physik und die Sachen haben sich bewährt... Topp!

Besten Gruß aus dem Münsterland

ritchie

Mini-SPS

Spidi55 | 09.11.2020

Hallo Retian
Ich habe das Projekt Mini SPS studiert. Ich bin sehr gespannt auf die Fortsetzung.
Das wird ein sehr schönes Projekt. Nach so was habe ich schon länger gesucht.
Hast Du die Library noch nicht ins Netz gestellt, oder habe ich sie nicht gefunden?
Ich wünsche alles Gute und Danke Spidi

Antw.:Mini-SPS

Retian | 10.11.2020

Hallo Spidi,
eigentlich sollte ja das Projekt (noch) nicht sichtbar sein und ich habe auch noch keine Library veröffentlicht. Nach anfänglichen Erfolgen will man immer mehr und irgendwann bin dich dann auf Grenzen mit den Zykluszeiten gestoßen, als ich nämlich begann Remanenz-Merker in ein FRAM zu schreiben. Daran arbeite ich noch, aber ich hoffe, dass ich bald eine Beta-Version zum Testen ins Netz stellen kann. VG Retian

1 | 2 >>

Neuer Beitrag

Alte Beiträge sind hier zu finden!

=====================================================

Demnächst neu:

  • Für Bogenschützen (wie mich): Messgerät zur Ermittlung des statischen Spinewertes von Pfeilen nach AMO- (ATA) und ASTM-Standard (Easton)

Letzte Änderungen:

28.01.2021 Vorläufige Entfernung von Projekt und Library zur "Gesicherten Funkbefehl-Übertragung" wegen Sicherheitsmangel

31.08.2020 Beispiel 2 zum INA219: Zähler für elektr. Arbeit und Ladung mit automatischer Umschaltung des Messbereichs -> Stromsensor INA219

09.08.2020 Einfacher Debugger zur Erleichterung bei der Fehlersuche -> Arduino-Debugger

21.05.2020 Neue Version 1.2 der Weichensteuerung für Attiny45/85 und Version 1.1 für Attiny84 -> Weichensteuerung

19.05.2020 Meine Weichensteuerung gibt es jetzt auch für Attiny84 -> Weichensteuerung Attiny84

06.05.2020 Neue Library für den Analog-Digital-Converter MCP3421 -> ADC MCP3421

22.04.2020 Neue Library für den Analog-Digital-Converter ADS1115 -> ADC ADS1115

01.04.2020 Erweiterung des Kapitels "C-Funktionen und C-Funktionalitäten" um die "Bereichsbasierte for-Schleife" (Range-based-for-loop) -> C-Funktionen

25.01.2020 Library zur Ansteuerung eines Stromsensors INA219 für Arduino und Attiny -> Stromsensor INA219

10./19.09.2019 Darstellung der Ausgabestände meiner Libraries und Hilfsprogramme auf der Startseite. Letzte Änderungen sind dort durch einen Link auf ihre Seite ersichtlich und werden nicht mehr hier in der Chronologie gesondert angeführt.

18.08.2019 Ergänzung und neue Funktion zu meiner Library MySerialRead -> Serieller Monitor

Alle Änderungen sind in der Chronologie zu finden!