int ledPin = 8;
void setup()
{
randomSeed(analogRead(0));
}
void loop()
{
int schweisslaenge = random(50); //fuer die laenge der Schweissvorgaenge (nicht in ms!)
int schweisswarte = random(3000); //fuer die laenge der Wartezeiten, in ms
schweissen(schweisslaenge, schweisswarte);
}//end-loop
void schweissen(int laenge,int warte)
{
//mit laenge: anzahl "ein- und ausschalten" des Schweisslichts, warte: delay zwischen Schweissvorgaengen
for(int i=0; i<laenge;i++){
int randOn = random(300); //zwischen "an- und ausschalten" des Schweisslichts sollen max. 300ms liegen
int randOff = random(150); //zwischen "aus- und anschalten" des Schweisslicht würde ich eine kürzere Zeit nehmen, also 150
digitalWrite(ledPin,HIGH); //turns the LED on
delay(randOn);
digitalWrite(ledPin,LOW); //turns the LED off
delay(randOff);
}//next
delay(warte);
}//end-schweissen
Mit einer Standard-LED war das Ergebnis sichtbar - LED mit 100 Ohm in Reihe
Aber das Licht war zu dunkel.
Nun habe ich mir eine 0603 2.5V/3.2 20mA rausgesucht und mit dem 0 Ohm Widerstand verlötet. An einen 9 Voltblock ist die Helligkeit ok.
An einen UNO kann ich auch 9 Volt einspeisen. Aber wie ich nun verdrahten muss - da hört mein Latein auf.
Deine LED hat den Angriff des 9V-Block nur überlebt, weil Dieser eine recht bescheidene Art an Batterie ist.
JEDE LED braucht eine Strombegrenzung - die einfachste Form ist der Vorwiderstand.
An Diesem muß ALLES an Spannung abfallen, was die LED nicht bracht (haben darf).
Bei Deinen 2.5V blieben 2,5V zu 5V über.
Bei 20mA wären Das Taschenrechner raus kram 125Ω Widerstand (2,5V:0,02A).
Je weniger A Du aus dem Arduino raus ziehst, desto Besser!
Wie versorgst Du Deinen Arduino zur Zeit?
Die 125Ω sind das MINIMUM, damit Du den Strom auf 20mA begrenzt - mit kleinerem Widerstand wird die LED mehr Strom bekommen und dabei Schaden nehmen.
Hier wären entweder zwei 100Ω in Reihe, oder zwei 100Ω parallel zu Einem 100Ω in Reihe anzustreben.
Der Arduino-Pin kann Peaks bis zu 40mA liefern, das Maximum von 20mA sollte nicht überschritten werden.
Auch ist der Gesamt-Strom des Arduino von Interesse - wenn Du mehr als nur diese eine LED leuchten lassen willst, sollten wir Das hier etwas anders angehen.
Wenn Du nur EINEN 100Ω Widerstand verbaust, zieht die LED mehr als die 20mA.
Ist Deine LED.
Den Vorwiderstand sollte man schon berechnen können, wenn man mit LEDs spielen will.
Das ',oder' in meinem obigen Post ist ein 'gesprochenes Oder'.
Der Mensch sagt ODER, wenn er XOR meint.
Wie komme ich zur Schule?
Du kannst den Bus nehmen, oder ich fahre Dich hin.
... logisch zwar immer noch richtig, aber Bus UND selber fahren wird wohl nicht gehen.
das mit dem Vorwiderstand ist ja "Nebensache" - besorge mir noch den passenden.
Ganz sicher nicht, wie kommst du da drauf.
Wenn deine Frage danach gestellt wurde und die richtige Antwort wird angezweifelt, ist das keine Nebensache.
Aber wie schalte ich das nun über den Arduino.
Die Frage nach dem Ziel meiner Anwendung ist ganz einfach. Die LED soll flackern wie ein Schweisser auf einer Modellbahnanlage.
Das wurde hier auch schon beschrieben. Du solltest mal alles lesen.
postmaster-ino:
Der Mensch sagt ODER, wenn er XOR meint.
Wie komme ich zur Schule?
Du kannst den Bus nehmen, oder ich fahre Dich hin.
... logisch zwar immer noch richtig, aber Bus UND selber fahren wird wohl nicht gehen.
Dein Zug
Okay, mein Zug:
Ganz genau, zwei völlig verschiedene Dinge. Das Bus nehmen schließt dich zu fahren dann aus, und umgekehrt, eben ODER.
So ist auch dein Satz mit den Widerständen, 1x in Reihe ODER aber parallel. Das Eine schließt dann das andere aus.
Ich als auch ein Mensch, meint definitiv nicht XOR, wenn ich ODER sage.
In diesem Fall hier trifft die Defintion von XOR auch nicht zu, da es nur zwei Eingangszustände gibt, eine eindeutige Eingangslage zweier Eingangszustände vorhanden ist.
Bei einem XOR sind es aber eine ungerade Anzahl von Eingängen, die am Ausgang dann "1" ergeben, wenn mindestens ein Eingang eine "1" hat. Ungerade ist nicht ein Eingang, logisch, also erst ab drei Eingängen.
Bei zwei Eingängen gibt es kein XOR, nur ein OR. Etwas besser?
MfG
Wenn Du nicht verstehen WILLST - so teuer sind die LEDs nun auch wieder nicht - von mir aus kannst Du auch Deine 0-Ohm-Widerstände verwenden, da Das ja am 9V-Block so gut funktioniert hat.
Aber bitte nicht heulen, wenn Dann was kaputt geht.
Null-Ohm UND LED = kaputt - kein XOR
postmaster-ino:
Wenn Du nicht verstehen WILLST - so teuer sind die LEDs nun auch wieder nicht - von mir aus kannst Du auch Deine 0-Ohm-Widerstände verwenden, da Das ja am 9V-Block so gut funktioniert hat.
Aber bitte nicht heulen, wenn Dann was kaputt geht.
Null-Ohm UND LED = kaputt - kein XOR
Wenn man keine Argumente hat, kommt sowas, verstehe.
Vielleicht wäre es zur Aufklärung des Sachverhalts für die nicht ganz mit den ohmschen Formeln vertrauten Forenteilnehmern wichtig zu sagen, dass:
Zwei 100 Ohm Widerstände in Reihe 200 Ohm (100+100) ergeben
Oder
Zwei 100 Ohm Widerstände parallel (ergeben 50 Ohm) und dazu 100 Ohm in Reihe ergeben 150 Ohm (100+50).
In beiden Fällen wird der Strom für die Led bei 5V im korrekten Bereich bleiben. Bei 0 oder 100 Ohm fliesst zuviel Strom, was über kurz oder lang zum Ableben der Led oder des entsprechenden Pins des Arduino oder des ganzen Arduino führen kann.
Die ODER Diskussion finde ich in diesem Fall nicht wirklich zielführend, damit der TE versteht, um was es wirklich geht.