Forum: Analoge Elektronik und Schaltungstechnik Wies der zufall will.


von Markus (Gast)


Lesenswert?

Hi @all...

Hätte hier mal ne frage:
Ich bin auf der Suche nach einer möglichst einfachen lösung, einen 
Impuls innerhalb von ca. einer Stunde nach anlegen der 
Versorgungsspannung (Dc 12V) auszugeben. Wann genau der Impuls kommt 
soll jedoch zufällig geschehen. Eben innerhalb dieser Stunde. Von mir 
aus auch mal 2 Impulse. Der Impuls soll lediglich für ne sekunde ein 
Relais anziehen. Mein Problem stellt also lediglich der "Zufall" dar. 
Unter "möglichst einfach" verstehe ich eine lösung am besten ohne 
mikroprozessor, nur mit wenigen standartbauteilen.

Wäre so was möglich?

Gruß und Dank im vorraus...

von HildeK (Gast)


Lesenswert?

Markus schrieb:
> Unter "möglichst einfach" verstehe ich eine lösung am besten ohne
> mikroprozessor,

Möglichst einfach ist aber nur die Lösung mit µC. Sorry.

von Falk B. (falk)


Lesenswert?

Ne Schaltuhr mit Wackelkontakt . . . ;-)

von Markus (Gast)


Lesenswert?

Irgendwie hab ich das befürchtet. Das Problem dabei ist, dass ich weder 
equippment besitze das dingens zu programmieren, noch auch nur die 
leiseste erfahrung damit habe. Ich find noch nichtmal das "mü" auf 
meiner handy-tastatur ?

Mir wäre der prozessor auch recht, wenns was fertiges zu kaufen gäbe...

von Der Zahn der Zeit (Gast)


Lesenswert?

Schöne Frage!

HildeK schrieb:
> Möglichst einfach ist aber nur die Lösung mit µC. Sorry.
Selbst das halte ich nicht für so einfach. Wie bekomme ich da den Zufall 
'rein?

Denkansatz, noch keine Komplettlösung: Analog Rauschen generieren. Das 
beim Start eine Weile zählen, z. B. mit einem 8-bit-Zähler, und den sehr 
häufig überlaufen lassen. Der Endstand sollte dann ziemlich zufällig 
sein. Dann den Zähler mit 256/3600 Hz takten bis er 0 erreicht hat. 
Etwas verbessert, falls sich doch ein Endstand in einem bestimmmten 
Bereich bevorzugt einstellt: Statt Zähler mit einem Schieberegister und 
einem XOR ein LFSR bauen, z. B. auch 8 Bit. Das gibt eine weitere, 
pseudozufällige Verteilung.

Ob Zähler, Zeitgeber und Komparator in einem µC oder diskret realisiert 
werden sollen, hängt u. A. davon ab, ob man sich erst in µCs und deren 
Entwicklungsumgebungen einarbeiten müsste oder ob das bereits zum 
routinemäßigen Handwerkszeug gehört. Wenn ja, wird die Hardware 
natürlich kompakter, wenn nein, wird die Entwicklung ungleich 
aufwändiger und der Lerneffekt größer.

DZDZ

von HildeK (Gast)


Lesenswert?

Der Zahn der Zeit schrieb:
> HildeK schrieb:
>> Möglichst einfach ist aber nur die Lösung mit µC. Sorry.
> Selbst das halte ich nicht für so einfach. Wie bekomme ich da den Zufall
> 'rein?

mit rand();

von Max D. (max_d)


Lesenswert?

Arduino nano Klon aus der Bucht  (erstbester Link: 
http://www.ebay.de/itm/252099053034 )

IDE ist gratis, ein USB Kabel wird sich auch finden.

Arduino ist zwar nicht der Weißheit letzter Schluss was Effizienz oder 
Genauigkeit angeht, aber um nach dem Starten eine zufällige Zeit zu 
warten wird es reichen.

von Michael B. (laberkopp)


Lesenswert?

Markus schrieb:
> Wann genau der Impuls kommt
> soll jedoch zufällig geschehen. Eben innerhalb dieser Stunde

Da man "zufällig" in der ersten halben Stunde nicht weiss, ob in der 
zweiten halben Stude ein Impuls ausgelöst wird, kann man in der ersten 
halben Stunde keinen Impuls erzeugen.

Und so weiter.

Wäre die Stunde rum, kann man natürlich sagen, wann man einen Impuls 
eingeplant hätte, z.B. auf Umgebungsdaten wie Temperatur, Licht oder 
Radioaktivität zurückgeführt.

Also wird man nicht ganz zufällig arbeiten können.

Hat man 2 (oder 3 oder 4) Impulserzeuger, die so gebaut sind, daß sich 
ihre Impulse während einer Stunde garantiert ein mal überlappen und 
ansonsten nicht (Primzahlen), bleibt nur ein Problem: Fangen sie alle 
wenn die Versorgungsspannung eingeschaltet wird gleich an, kommt immer 
zum selben Zeitpunkt der Impuls. Man müsste also eher vom alten Stand 
weiter machen. Das kann sich dumme Elektronik aber nicht merken.

Also bleibt nur: 2 oder 3 Scheiben drehen sich und in einer Kombination 
geht ein Kontakt durch alle hindurch. Nach 1 Stunde wird abgestellt.

Der Aufbau ist gerantiert nicht einfacher als ein uC, lern also ihn zu 
programmieren.

: Bearbeitet durch User
von Der Zahn der Zeit (Gast)


Lesenswert?

HildeK schrieb:
> mit rand();

Meines Wissens nach ist das auch nur pseudozufällig. Ich vermute, das 
der Zufallswert aus einem momentan erreichten Hardware-Zählerstand 
generiert wird, der nach Anlauf des µCs immer identisch sein müsste. Nur 
wenn rand() zu einem zufälligen Zeitpunkt aufgerufen wird, klappt das. 
Also z. B. auf Tastendruck. Nur: Wenn man das zulässt, wird es auch mit 
diskreter Logik sehr einfach: Schnell zählen, bis oder solange die 
Taste gedrückt ist (= würfeln), dann langsam bis zum Endstand weiter.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Man muß sich dann 'nur' merken, wo man weiter rechnen will, wenn der 
Batterie-Saft wieder kommt - sonst würde wieder bei Null angefangen, was 
den schönsten Zufall wieder zu Nichte macht.

Das 'Initiieren' könnte man ja dann - per Taster - beim ersten 
Programmstart erledigen.

MfG

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Der Zahn der Zeit schrieb:
> Ich vermute, das der Zufallswert aus einem momentan erreichten
> Hardware-Zählerstand generiert wird
Einfacher: der Zufallswert wird mit seed() initialisiert. Und wenn dort 
immer der selbe Wert angegeben wird, kommt zufällig immer der selbe Wert 
heraus..
Man braucht also einen externen Zufallswert z.B. aus einer Rauschquelle 
per ADC eingelesen.

Michael B. schrieb:
> Da man "zufällig" in der ersten halben Stunde nicht weiss, ob in der
> zweiten halben Stude ein Impuls ausgelöst wird, kann man in der ersten
> halben Stunde keinen Impuls erzeugen.
Halb so wild. Wenn innerhalb der Stunde ein zufälliger Puls ausgegeben 
wurde, merkt man sich das per Flag oder per Flipflop.

: Bearbeitet durch Moderator
von Max D. (max_d)


Lesenswert?

Das letzte bit eines offenen adc eingangs bei einem uC zuckt wild in der 
Gegend rum. Mit einem flip-flop dahinter kriegt man die 50/50 Gewichtung 
für 1/0 und fertig is der Zufall. Für größere Werte Bereiche einfach in 
ein schieberegister rein.

von Teo D. (teoderix)


Lesenswert?

Der µC müsste immer einen Zähler am laufen haben und das Einschalten als 
externen(echten) Zufall nutzen (seed(zälerstand)).

von Teo D. (teoderix)


Lesenswert?

Max D. schrieb:
> Das letzte bit eines offenen adc eingangs bei einem uC zuckt wild in der
> Gegend rum.

Würde sicher hierfür ausreichen aber ein echter Zufall, ist das noch 
lange nicht.

von Joe F. (easylife)


Lesenswert?

Naja, ich hätte da schon so eine Idee...
x-MHz Oszillator -> 8-bit Counter_1.
8-bit Latch.
0.07 Hz Oszillator -> 8-bit Counter_2
Wenn Counter_2 ==  Latch -> Puls ausgeben.
Wenn Counter_2 == 0 (1 Stunde ist rum) -> Counter_1 in Latch übernehmen.
Zum Vergleichen von Counter und Latch: 74xx688
Zufälligkeit ist dann auf ca. 14 Sekunden-Schritte eingeschränkt, es 
gibt aber genau nur 1 Puls pro Stunde.

: Bearbeitet durch User
von Wutz (Gast)


Lesenswert?

der STM32F4 hat einen RNG on board. einfach ein stm32F407Discovery für 
ein paar Euros kaufen, paar Zeilen für die Initialisierung. An einen 
Portpin einen Transi mit Relais und Freilaufdiode und fertig ist das 
Ding.

Für jemanden der allerdings keine Vorkenntnisse mitbringt könnte es 
etwas friemelig werden.

von Wutz (Gast)


Lesenswert?

Achso: Für alle die nicht wissen was RNG ist. Das ist ein 
Zufallsgenerator der echten Zufall generiert. Also basierend auf 
unvorhersehbarem Rauschen (Analogschaltung im µC).

von Teo D. (teoderix)


Lesenswert?

Joe F. schrieb:
> Naja, ich hätte da schon so eine Idee...

Teo D. schrieb:
> immer einen Zähler am laufen haben und das Einschalten als
> externen(echten) Zufall

?!

von Joe F. (easylife)


Lesenswert?

Teo D. schrieb:
> ?!

??

von Markus (Gast)


Lesenswert?

Hi.

Vielen dank für die vielen antworten. Aber für mich ist das meiste nur 
spanisch. Ich brauche auch keinen "echten" zufall. Irgend n pseudo 
reicht vollkommen. Meine gedanken hierzu waren eher in richtung: (nicht 
lachen) nen einfachen timer, aus 555 o.ä. Der Timer auf ne halbe stunde, 
über änderbaren widerstand +/- halbe stunde änderbar. Den veränderlichen 
widerstand generiere ich über... Was weiß ich... Ne kombination aus 
ptc/ntc, noch ne photodiode dahinter, was auch immer...

Ist das alles total hirnverbrannt, oder ließe sich hieraus was basteln?

von Teo D. (teoderix)


Lesenswert?

OK aber nur wenn du vertratest, warum du da jemanden ärgern willst :)

von Georg M. (g_m)


Lesenswert?

Markus schrieb:
> für mich ist das meiste nur spanisch.

Nimm doch Arduino, ist Italienisch.

Anleitung in Englisch:

https://www.youtube.com/watch?v=Y-Mp6BJoY_k

von Markus (Gast)


Lesenswert?

Ärgern eigentlich niemanden. Aber eine erklärung hätte ich von anfang an 
schreiben sollen, dann wäre auch klar gewesen dass ich nix präzises 
brauche. Also hier die Erklärung:

Ich habe im Bad nen Sternenhimmel, aus lwl. Auch ein shooting Star, also 
ne sternschnuppe is integriert. Diese funktioniert über ein einfaches 
lauflicht, das (als one shot) per taster gestartet wird, die 
"sternschnuppe huscht" per lwl kabel einmal über die decke und gut is. 
Aber eben diesen taster will ich per zufall steuern, thats all...

von Teo D. (teoderix)


Lesenswert?

555er, Zähler wo ein paar Stufen herausgeführt sind, mir fällt aber grad 
nur der 4017 ein :/
2-3 zufällige Ausgänge zum Taster betätigen.
Is zwar alles andre als Zufall, sollte aber den gewünschten Effekt 
erzielen?

von Der Zahn der Zeit (Gast)


Lesenswert?

Teo D. schrieb:
> Teo D. schrieb:
>> immer einen Zähler am laufen haben und das Einschalten als
>> externen(echten) Zufall
>
> ?!
Also ich hab's verstanden und für eine µC-Lösung ist die Idee gut. Man 
braucht nur einen µC mit nichtflüchtigem Datenspeicher. Das scheint mir 
am leichtesten erreichbar zu sein und vernünftige Zufallswerte nach 
jedem Einschalten zu erzeugen.

Markus schrieb:
> Ne kombination aus
> ptc/ntc, noch ne photodiode dahinter, was auch immer...
>
> Ist das alles total hirnverbrannt, oder ließe sich hieraus was basteln?
Schon, aber das sind schon sehr geringe Anforderungen an die 
Zufälligkeit. Geradezu enttäuschend... Dazu auch noch vorhersehbar. Kann 
man verbessern, aber dann sind wir schnell wieder bei Zählern und 
Vergleichern.

von Teo D. (teoderix)


Lesenswert?

Der Zahn der Zeit schrieb:
> Das scheint mir
> am leichtesten erreichbar zu sein

Und Stromsparender :)

von Markus (Gast)


Lesenswert?

Schon, aber das sind schon sehr geringe Anforderungen an die 
Zufälligkeit. Geradezu enttäuschend...

Klar, aber für das was es soll ausreichend.

Teo D. schrieb:
Teo D. schrieb:
immer einen Zähler am laufen haben und das Einschalten als
externen(echten) Zufall
?!
Also ich hab's verstanden und für eine µC-Lösung ist die Idee gut. Man 
braucht nur einen µC mit nichtflüchtigem Datenspeicher. Das scheint mir 
am leichtesten erreichbar zu sein und vernünftige Zufallswerte nach 
jedem Einschalten zu erzeugen...

Schon, aber wenn programmieren bezüglich mangelndem wissen ausscheidet, 
bleibt die frage nach alternativen...

von Markus (Gast)


Lesenswert?

...hätte allerdings auch nicht gedacht, daß es so schwierig ist, einen 
Zufall zu produzieren, wo doch das ganze leben daraus zu bestehen 
scheint ?

von Teo D. (teoderix)


Lesenswert?

Markus schrieb:
> Schon, aber wenn programmieren bezüglich mangelndem wissen ausscheidet,
> bleibt die frage nach alternativen...

Teo D. schrieb:
> 555er,.....

?

von Markus (Gast)


Lesenswert?

Teo D. schrieb:
> 555er, Zähler wo ein paar Stufen herausgeführt sind, mir fällt aber grad
> nur der 4017 ein :/
> 2-3 zufällige Ausgänge zum Taster betätigen.
> Is zwar alles andre als Zufall, sollte aber den gewünschten Effekt
> erzielen?

Du meinst das? Ja, muss ich überlesen haben.
Hört sich einfach an, muss mir aber noch bissi gedanken über die 
schaltung machen, oder googel anwerfen...

Denn so wirklich den durchblick wie das gehen soll ist mir noch nicht 
klar...

von Joe F. (easylife)


Lesenswert?

Markus schrieb:
> Schon, aber wenn programmieren bezüglich mangelndem wissen ausscheidet,
> bleibt die frage nach alternativen...

Die Alternative ist ein CMOS Grab.

So schwierig ist programmieren lernen nun auch wieder nicht, und gerade 
wenn die Aufgabe relativ überschaubar ist (so wie diese hier), ist das 
schnelle Erfolgserlebnis garantiert.

Noch eine Idee dem Zufall etwas nachzuhelfen:

Der Pseudorandomgenerator liest sich seinen Seed nach dem Einschalten 
aus dem Flash-Memory.
Jedesmal, wenn eine neue Zufallszahl erzeugt wurde, wird diese als neuer 
Startwert ins Flash geschrieben.
So ist beim nächsten Gerätestart der letzte Zufallswert der neue Seed, 
und die Sequenz ist nicht die gleiche wie nach dem letzten Einschalten.
Das sollte eigentlich reichen.

von Markus (Gast)


Lesenswert?

Teo D. schrieb:
> 555er...

Ok, der 555 gibt die frequenz auf den 4017, der zählt hoch, und sobald 
ausgang z.b. 5 kommt zieht mein relais, ausgang 6 oder was auch immer 
resetet den timer. Frequenz des 555 stell ich mit was auch immer ein... 
Cool, für meinen zweck ausreichend, finde ich...

Danke an alle experten, werde ich probieren.

Gruss, markus

von Michael B. (laberkopp)


Lesenswert?

Markus schrieb:
> Aber eine erklärung hätte ich von anfang an schreiben sollen

Ach ? Die Faulheit der Fragenden.

Aber: Mit uC kannst du deine ganze Sternschnuppen-Lauflichtschaltung 
rauswerfen, das macht der uC nebenbei, in ebenfalls zufälligem Tempo.

von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

7-Bit Pseudozufallszahlengenerator in CMOS.
Garantiert nur 1 Puls pro h, die ersten sind leider nicht sehr zufällig 
(liegt daran, dass der Initalwert 0 im Schieberegister nicht wirklich 
ideal ist).
Die "Zufälligkeit" wird aber mit der Zeit besser.
Nach 128h wiederholt sich das Muster.

"74HCT" habe ich nur aus Faulheit für die Simulation genommen.
Für einen realen Aufbau auf keinen Fall HCT nehmen, sondern HC oder 
besser noch "langsamer".

: Bearbeitet durch User
von Forist (Gast)


Lesenswert?

Markus schrieb:
> Ich bin auf der Suche nach einer möglichst einfachen lösung, einen
> Impuls innerhalb von ca. einer Stunde nach anlegen der
> Versorgungsspannung (Dc 12V) auszugeben.

Ein unpassenderer Titel ist dir dafür wohl nicht eingefallen. Hier im 
Forum sollte der Titel etwas über den Inhalt aussagen und nicht 
möglichst witzig/reißerisch gewählt sein, so dass man ihn erst versteht, 
wenn man den Post gelesen hat.

von Markus (Gast)


Lesenswert?

Ja, sorry.

Aber zu meiner entlastung muss ich sagen, ich war der meinung, wenn ich 
die frage nach nem zufallsgenerator stelle, dann bekomme ich ne antwort 
wie z. B.: Nimmste ic xx und paar widerstände, fertig. Wusste nicht daß 
es so ausartet. Trotzdem danke

von Markus (Gast)


Lesenswert?

Forist schrieb:
> Ein unpassenderer Titel ist dir dafür wohl nicht eingefallen. Hier im
> Forum sollte der Titel etwas über den Inhalt aussagen und nicht
> möglichst witzig/reißerisch gewählt sein, so dass man ihn erst versteht,
> wenn man den Post gelesen hat.

Immerhin haben sich ne menge leute gemeldet und innerhalb weniger 
stunden kam ich zu nem gewünschten ergebnis, also doch nicht soo 
falsch?! ?

von Teo D. (teoderix)


Lesenswert?

Markus schrieb:
> obald
> ausgang z.b. 5 kommt zieht mein relais, ausgang 6 oder was auch immer
> resetet

Ja so ähnlich, nur den Zähler voll nutzen. Würde also eine feste Sequenz 
erzeugen, die sich ~1h wiederholt, je nach 555er Takt.
Mit etwas mehr Hirnschmalz und besser geeignete Zähler, die nicht nur 
bis 10 zählen können, kommt dann sowas raus:

Joe F. schrieb:
> 7-Bit Pseudozufallszahlengenerator in CMOS.

von F. F. (foldi)


Lesenswert?

Wutz schrieb:
> STM32F4 hat einen RNG on board.

Das ist interessant!

von Gästchen (Gast)


Lesenswert?

Markus schrieb:
> Unter "möglichst einfach" verstehe ich eine lösung am besten ohne
> mikroprozessor, nur mit wenigen standartbauteilen.

Sich heutzutage in die µC-Welt einzuarbeiten stellt kein großes Problem 
dar, alles ist verfügbar, alles ist online und alles kostet nicht die 
Welt. Das Schwierigste ist nur "der erste Schubs" am Anfang, aber der 
Vorteil dabei ist dass du danach eine Erfahrung reicher bist und bei 
Bedarf kleinere Programme aufsetzen kannst ohne eine Riesenschaltung aus 
Zählern und Schieberegistern zu bauen.

von Hurra (Gast)


Lesenswert?

HildeK schrieb:
> Markus schrieb:
>> Unter "möglichst einfach" verstehe ich eine lösung am besten ohne
>> mikroprozessor,
>
> Möglichst einfach ist aber nur die Lösung mit µC. Sorry.

Nö. da gibts allerdings schon noch andere Möglichkeiten:
http://www.linear.com/product/LTC6995-1

DAs und ein Inverter am Ausgang tun den Job.
Möglich sind bis zu 9,5h,

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

würde es denn gross auffallen,
wenn die Sternschnuppe nach immer gleichen Zeiten fällt?

von Teo D. (teoderix)


Lesenswert?

● J-A V. schrieb:
> würde es denn gross auffallen,
> wenn die Sternschnuppe nach immer gleichen Zeiten fällt?

Bei so relativ langen Zeiten, nich wirklich.
Hab mal in einen Rosenquarz, einen simplen Farbwechsler (Rot/Grün) 
eingebaut.
~30min, überblenden ~4min. Den Übergang bekommt man nur selten mit(!), 
ansonsten is es halt zufällig Rot/Grün :)

von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> Einfacher: der Zufallswert wird mit seed() initialisiert. Und wenn dort
> immer der selbe Wert angegeben wird, kommt zufällig immer der selbe Wert
> heraus..

Man nehme einen MC mit EEPROM (ATtiny25) und speichert einfach den neuen 
Startwert im EEPROM.

von Peter D. (peda)


Lesenswert?

Max D. schrieb:
> Das letzte bit eines offenen adc eingangs bei einem uC zuckt wild in der
> Gegend rum.

Das ist nicht ganz einfach. Ein offener Eingang lädt sich leicht durch 
Leckströme auf GND oder VCC auf, d.h. geht in die Begrenzung.
Oder er fängt sich periodische Signale ein (50Hz Netzbrumm).

von Teo D. (teoderix)


Lesenswert?

Peter D. schrieb:
> Man nehme einen MC mit EEPROM (ATtiny25) und speichert einfach den neuen
> Startwert im EEPROM.

Am besten beim ausschalten, dann hat man den Zufall Mensch wieder drin.

Peter D. schrieb:
> Das ist nicht ganz einfach.

Wenn's gut werden soll kommt dann ein HF-Dichter Würfel bei raus.
Kommt halt drauf an, welche Qualität der Zufall haben soll/muss.
Die Jungs/Mädels die die KENO-Würfelmaschine entwickelt haben, hätten da 
sicher viel zu erzählen :)

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Teo D. schrieb:
> ● J-A V. schrieb:
>> würde es denn gross auffallen,
>> wenn die Sternschnuppe nach immer gleichen Zeiten fällt?
>
> Bei so relativ langen Zeiten, nicht wirklich.

deshalb würde ich (da es ohne µC-Schnackschnick sein soll)
eine Zeigeruhr nehmen, die noch einen 2. Minutenzeiger bekommt.
verlängere den einfach 180° zur anderen Seite,
dass also die eine Seite aus 12 zeigt, die andere auf 6.

kleb einen kleinen Nd Magnet auf die Enden und lasse ein Reed damit 
schalten.

von Teo D. (teoderix)


Lesenswert?

● J-A V. schrieb:
> eine Zeigeruhr nehmen,
> ....
> kleb einen kleinen Nd Magnet auf die Enden und lasse ein Reed damit
> schalten.

Wie alt warst Du, als du das gebastelt hast :)

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Markus schrieb:
> Ich bin auf der Suche nach einer möglichst einfachen Lösung
(...)

von Paul H. (powl)


Lesenswert?

Lieber TO, Hand aufs Herz: Nimm einen Arduino und ein Relais-Shield. Das 
kannst du aufeinanderstecken und bist hardwareseitig schon mal komplett 
fertig.

Der Code zum "eine Stunde warten und dann einen Puls ausgeben" ist hier 
nur wenige Zeilen Lang. Die Programmierumgebung und Dokumentation 
erlaubt es, auch absoluten Einsteigern (sofern ein Minimum an 
Programmiererfahrung vorhanden ist) sofort zu Ergebnissen zu gelangen.

Das Problem (welches hier schon ein paar mal erwähnt wurde) ist der 
Zufallsgenerator. Mit einem reinen Pseudozufall hat dein Programm bei 
jedem Einschalten des Prozessors den gleichen Seed. Generiert also der 
Reihenfolge nach immer die gleichen Pseudozufallszahlen, was dazu führt, 
dass dein Puls immer zur gleichen Zeit (nach Einschalten) stattfindet 
und keinesfalls zufällig. Aber auch hier gibt es Abhilfen: Entweder du 
lässt den Arduino halt immer angeschaltet. Oder du holst dir (wie 
üblich) vom Analog-Digital-Wandler ein bisschen Rauschen und nutzt das 
als Random Seed. Oder du speicherst den Seed im EEPROM (imho die beste 
Variante, siehe https://gist.github.com/nebs/4d219cdf97ccd7afcbbd).

Klar erfordert das etwas Einarbeitung. Aber ganz ehrlich. Ein bisschen 
googeln und innerhalb maximal weniger Stunden ist das erledigt. Fertig. 
Bis du das mit ner Analogschaltung aufgebaut hast vergehen 
wahrscheinlich Tage. Zudem kannst du den Code des Arduinos wunderbar in 
spezifische Teilprobleme zerlegen und explizit hier oder sonstwo in 
Foren fragen, wenn du mal nicht weiter kommst.

Und ach ja.. der Threadtitel ist echt ein bisschen Clickbait ;-)

: Bearbeitet durch User
von Markus (Gast)


Lesenswert?

Paul H. schrieb:
> Lieber TO, Hand aufs Herz: Nimm einen Arduino und ein
> Relais-Shield. Das kannst du aufeinanderstecken und bist hardwareseitig
> schon mal komplett fertig.
>
> Der Code zum "eine Stunde warten und dann einen Puls ausgeben" ist hier
> nur wenige Zeilen Lang.

Paul H. schrieb:
> Lieber TO, Hand aufs Herz: Nimm einen Arduino und ein Relais-Shield. Das
> kannst du aufeinanderstecken und bist hardwareseitig schon mal komplett
> fertig.
>
> Der Code zum "eine Stunde warten und dann einen Puls ausgeben" ist hier
> nur wenige Zeilen Lang.


Ok, hand aufs herz, warum sollte ich hier nicht n billiges zeitrelais 
nehmen? Gibts fertig, und kommt ohne programmieren aus.

Paul H. schrieb:
> Das Problem (welches hier schon ein paar mal erwähnt wurde) ist der
> Zufallsgenerator. Mit einem reinen Pseudozufall hat dein Programm bei
> jedem Einschalten des Prozessors den gleichen Seed.

So, und ab hier kommt der punkt, wo selbst profis nen problem sehen... 
Hat mit einer stunde googeln für einen der noch nie was in der richtung 
gemacht hat wohl nix zu tun, oder?


Muss der zufall wirklich sein? Keine ahnung, muss der sternenhimmel 
wirklich sein? Hab's mir halt in kopf gesetzt...

F. F. schrieb:
> Wutz schrieb:
>> STM32F4 hat einen RNG on board.

Werde mal hier weitergoogeln...

von Paul H. (powl)


Lesenswert?

Eigentlich wollte ich dir nur freundlich eine schnelle Lösung 
präsentieren. Wozu mach ich mir überhaupt die Mühe?


Markus schrieb:
> Ok, hand aufs herz, warum sollte ich hier nicht n billiges zeitrelais
> nehmen? Gibts fertig, und kommt ohne programmieren aus.

Keine Ahnung? Warum hast du dann überhaupt erst den Thread eröffnet?

Markus schrieb:
> Wann genau der Impuls kommt
> soll jedoch zufällig geschehen. Eben innerhalb dieser Stunde. [..] Mein
> Problem stellt also lediglich der "Zufall" dar.

Das war deine klare Anforderung.


Markus schrieb:
> So, und ab hier kommt der punkt, wo selbst profis nen problem sehen...
> Hat mit einer stunde googeln für einen der noch nie was in der richtung
> gemacht hat wohl nix zu tun, oder?

Ich habe dir die Lösung zum Problem mit dem passenden Code doch sogar 
verlinkt. Ergo: überhaupt kein Googeln mehr. Einfach nur Copy&Paste. Den 
restlichen Code für 1h+- Warten und dann nen Puls raus hauen kriegst du 
dann auch noch recht schnell selbst hin. Es gibt unzählige Tutorials für 
den Arduino. Auch auf YT usw. man kann sich da bequem berieseln lassen.


Markus schrieb:
> F. F. schrieb:
>> Wutz schrieb:
>>> STM32F4 hat einen RNG on board.
> Werde mal hier weitergoogeln...

Na dann vergoogle deine Zeit mal schön ? Aber wenn du dich schon vor dem 
Arduino scheust kannst du einen STM32 gleich mal komplett knicken.

: Bearbeitet durch User
von Teo D. (teoderix)


Lesenswert?

Jungs, Ihr redet aneinander vorbei!

von Paul H. (powl)


Lesenswert?

Also ich finde, er hat sich da eben recht unmissverständlich 
ausgedrückt. Hab wohl irgend einen wunden Punkt getroffen? Hab aber den 
Thread auch nur überflogen, evtl. was übersehen. Schade fände ich, wenn 
er nur aufgrund einer kleinen Programmierphobie einen großen Bogen um 
die wohl einfachste Lösung macht und seine Zeit verschwendet, obwohl 
Arduino Programmieren fast so easy ist wie Legoklötzchen 
zusammenstecken. Nachdem was er bisher so von sich gegeben hat scheint 
er ja auch nicht gerade auf den Kopf gefallen zu sein und hat in wenigen 
Stunden die fertige Lösung. Aber naja, wer nich will der hat schon. ?

: Bearbeitet durch User
von F. F. (foldi)


Lesenswert?

Paul H. schrieb:
> Markus schrieb:
>> F. F. schrieb:
>>> Wutz schrieb:
>>>> STM32F4 hat einen RNG on board.
>> Werde mal hier weitergoogeln...
>
> Na dann vergoogle deine Zeit mal schön ? Aber wenn du dich schon vor
> dem Arduino scheust kannst du einen STM32 gleich mal komplett knicken.

Das ist leider richtig.

von Neandertaler (Gast)


Lesenswert?

Markus schrieb:
> Meine gedanken hierzu waren eher in richtung: (nicht
> lachen) nen einfachen timer, aus 555 o.ä. Der Timer auf ne halbe stunde,
> über änderbaren widerstand +/- halbe stunde änderbar. Den veränderlichen
> widerstand generiere ich über... Was weiß ich...


Habe mir gerade das Rauschen eines Rauschgenerators auf dem Scope 
angeschaut.
Ab und zu mal -unregelmässig - blitzt kurz die obere oder untere 
overscan-LED auf, wenn ein peak im Rauschen den Schwellwert im 
zuständigen Komparator im Scope überschritten hat.

Was wäre, wenn immer dann der Ladewiderstand im 555 per PNP-Transistor 
eingeschaltet würde und der Kondensator des 555 wieder ein Stück weiter 
aufgeladen würde?
Bis der 555-interne Triggerpunkt erreicht ist und der 555 wie gewünscht
> für ne sekunde ein Relais anzieh< t.

Also:
Rauschgenerator + Komparator + Referenz (falls die 12V nicht stabil 
sind) + PNP + 555.
Rauschgenerator + Komparator kann ein Dual OpAmp machen:
Der eine verstärkt sein eigenes Eingangsrauschen um einen hohen Faktor, 
der zweite fungiert als Komparator.

Es dürfen nicht zu viele Impulse zum Laden des 555-Kondensator nötig 
sein,
da sonst eine statistische Nivellierung eintritt.

von Markus (Gast)


Lesenswert?

Paul H. schrieb:
> Eigentlich wollte ich dir nur freundlich eine schnelle Lösung
> präsentieren. Wozu mach ich mir überhaupt die Mühe?

Sorry, sollte nicht böse klingen. Dass der stm auch programmiert werden 
will, hab ich nun auch kapiert.

Aber, braf wie ich bin, werde ich mir mal deinen link zur gemüte führen, 
hatte diesen link nicht als fertige lösung erkannt.

Also an dieser stelle nochmal: Sorry, wollte hier niemand beleidigen 
oder mich weigern vorschläge anzunehmen, wollte lediglich um die 
programmierei herum kommen ?

von Paul H. (powl)


Lesenswert?

Na gut. Textbasierte Kommunikation hat eben ihre Tücken ? Ich will dir 
hier den Arduino auch nicht als DIE Lösung aufdrängen aber ich glaube, 
mit ein paar Youtube Tutorials und wenigen Stunden Einarbeitung hast du 
die paar Codezeilen schnell zusammen und bist am Ziel. Aufgrund der 
Popularität findest du dazu halt auch an jeder Stelle überall Hilfe und 
kannst dir bei Problemen schnell selbst helfen. Vielleicht ist das auch 
der Einstieg in eine ganz neue Welt der Möglichkeiten für dich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.