Mikrocontroller – die besten Beiträge

Verkürzt es die Lebensdauer vom Mikrocontroller, wenn ich die mA reduziere (Beschreibung unten)?

Ich möchte ein paar Dekorationen mit farbwechselnden RGB-LEDs ausstatten.

(Ja, Sorry, jetzt ist der RGB-Virus bei mir auch angekommen. 😔)

Normalerweise dekoriere ich seit vielen Jahren einfach mit normalen 3 oder 5mm LEDs in verschiedenen Farben. Zur Verbesserung der Lebensdauer schließe ich die LEDs immer weit unter ihrer Maximalleistung an. (fetter Widerstand)

Nun habe ich mir diese LEDs hier gekauft:

https://www.amazon.de/dp/B08DCZ6VB1/?coliid=I1DN8U5YMP8RFG&colid=128BZFVTSDYOA&psc=0&ref_=lv_ov_lig_dp_it

Da sind je eine LED in Rot, Grün, Blau und ein Mikrocontroller (glaube ich) in dem 5mm Gehäuse verbaut. Die wechseln ihre Farben durch und es sieht super aus.

Die angegebenen 30mA sind, wie bei allen LEDs, das ultimative Maximum. Ich habe sie erstmal mit 10mA getestet. Alles funktioniert perfekt, aber sie sind mir für meinen Zweck zu hell.

Ich hab auch bereits mit 5mA einen Testanschluss durchgeführt, da passt die Helligkeit und sie wechseln immernoch fehlerfrei durch.

Nun kommt (endlich) meine Frage.

Verkürzt die Verwendung mit weniger mA die Lebensdauer des Mikrocontrollers? (Bei Schaltnetzteilen kenne ich das. Nimmst du zu wenig, dann gehen die drauf.)

Sorry, für den langen Text. Ich wollte bereits alle möglichen Rückfragen klären.

Computer, Technik, Elektronik, Mikrocontroller, LED, RGB, Technologie

Arduino LED "gleichmäßiger" pulsieren lassen?

Bei dem einfachen Sketch für eine pulsierende LED ist es immer so, dass die helligkeit am Anfang sehr schnell ansteigt, dann immer langsamer, sodass es aussieht als würde sich die helligkeit fast gar nicht verändern? Hat jemand eine idee wie man das lösen könnte?

Meine idee wäre gewesen, die zählervariable in der Schleife, die die helligkeit angibt und immer mit 1 addiert wird, jedes mal zu quadrieren, oder eben hoch *irgendeine andere zahl*, sodass die helligkeit nach oben hin immer schneller ansteigt, aber es so aussieht als würde sie gleichmäßig ansteigen.

Das funktioniert aber irgendwie nicht. Wenn ich die variable in int speichere und z.b. hoch 2 rechne, geht es, das ist aber zu schnell. Mit dezimalzahlen gibt es immer eine fehlermeldung.

Wenn ich die Variable in int speichere:

Test:27:26: error: invalid operands of types 'int' and 'double' to binary 'operator^'
   helligkeit = helligkeit^1.5;
                ~~~~~~~~~~^~~~
exit status 1
invalid operands of types 'int' and 'double' to binary 'operator^'

Das könnte wegen den 1,5 sein. Aber wenn ich die Variable in double speichere:

Test:27:26: error: invalid operands of types 'double' and 'double' to binary 'operator^'
   helligkeit = helligkeit^1.5;
                ~~~~~~~~~~^~~~
exit status 1
invalid operands of types 'double' and 'double' to binary 'operator^'

Es ändert sich nichts. Wo liegt hier der Fehler?

FROHE WEIHNACHTEN!!!
Computer, Technik, Elektronik, programmieren, Elektrotechnik, Mikrocontroller, Arduino, LED, Technologie

Meistgelesene Beiträge zum Thema Mikrocontroller