Hallo alle zusammen, Viele hochintelligente RGB-LEDs sind derzeit auf dem Markt (die sicher irgendwann mal auch noch per Cloud selbständig Kontakt zur Fabrik aufnehmen werden ;-) ). Auch Microcontroller, die von der Leistung her wohl sogar für eine Marsmission taugen würden. Dazu fiel uns neulich auf, dass die Beschäftigung mit beiden zwar optisch durchaus beeindruckende Ergebnisse liefern kann, vor allem auch zu überschaubaren Kosten, dass damit irgendwie aber auch ein wichtiger Spaßfaktor verloren gegangen ist. Um Ressourcen muss sich (zum Glück) keiner mehr Gedanken machen, selbst wenn die Tools heute für das simple Blinken einer LED gefühlte Megabyte Programmcode generieren. Und für einen schlappen Euro mehr gibts den Controller gleich auch mit doppelter Portzahl. Dabei besteht eigentlich gerade ein besonderer Reiz und eine große Herausforderung darin, das maximale aus einer eher beschränkten Hardware herauszuholen. Wir haben uns deshalb mal an so einen alten Hut wie "Lichteffekte per Mikrocontroller" herangewagt. Und finden, ein originelles Beispiel gefunden zu haben. Es zeigt, dass ungewöhnliche Lichteffekte auch mit Standard-LED und winzigen Controllern machbar sind. Wie im Bild zu sehen ist, enststand eine analoge LED-Uhr. Mit nur 5 Pins werden dazu 20 LED einzeln angesteuert. Dazu gibts 10 (soft)-PWM Kanäle für sanfte Übergänge bei den eingebauten Extra-Lichteffekten. Die Praxis hat gezeigt, dass die Uhrzeit auch bei hellem Tageslicht trotz der nur 20 LED sehr gut ablesbar ist. Das Programm hat 2K, die Taktfrequenz beträgt 8 Mhz. Wie nun alles funktioniert, ist hier im Video zu bewundern. https://youtu.be/8gQc23zuWSk (-- Das im Video sichtbare leichte Flimmern einiger LED ist in Wirklichkeit nicht wahrzunehmen --) Beste Grüße Micha
Michael schrieb: > Das Programm hat 2K, die Taktfrequenz beträgt 8 Mhz. Wie nun alles > funktioniert, ist hier im Video zu bewundern. Was soll da bewundert werden ?
20 LEDs an 5 Pins benötigen nur 5 Vorwiderstände und ein AVR benötigt nur ca. 5% Rechenzeit um alle 20 LEDs mit eigener PWM ansteuern zu können.
Hallo für die geborenen µC und Elektronikgötter die so eben mal eine Komplette Steuerung mit Bilderkennung programmieren und Datenblätter im Schlaf herunter beten ist das natürlich noch unterhalb des einsetzen einer Batterie in die Fernbedienung. Es soll aber auch Anfänger und auch Fortgeschrittene geben die Stolz auf ihre Leistung sind und froh sind nach viel Arbeit und lernen ein vorzeigbares Ergebnis zu haben. Fortgeschrittene und Profis die noch ein Minimum an Empathie haben und nicht vergessen haben das auch sie selbst mal Anfänger waren unterstützen aber auch so was, für sie ach so "Simples", durch Lob und konstruktive(!) aufbauende und helfende Kritik. Also von mir: Gut gemacht, da waren bestimmt viel Schweiß und Tränen im Spiel bis es so funktionierte wie im Video. Mach weiter so. Danke für die Vorstellung mfg Mensch
>Um Ressourcen muss sich (zum Glück) keiner mehr Gedanken machen, selbst ... http://www.welt.de/newsticker/dpa_nt/infoline_nt/brennpunkte_nt/article145134307/Ressourcen-fuer-2015-sind-erschoepft.html
Hi Danke für die Vorstellung. Was nutzt dir das? Weder Schaltplan noch Programm ist verfügbar. MfG Spess
Glückwunsch zu einem durchgezogenen Projekt! Klar ist es nichts weltbewegendes, aber die Nörgelei der Anderen ist nun wirklich auch nicht nötig. Besonders das Nachleuten sieht gut aus, wie ich finde.
spess53 schrieb: > Weder Schaltplan noch Programm ist verfügbar. Nutzlos, da Perlen vor die Säue geworfen.
Hubert schrieb: >> Weder Schaltplan noch Programm ist verfügbar. > > Nutzlos, da Perlen vor die Säue geworfen. Nein, eben nicht. Weder ist das eine Perle noch sitzen hier Säue vor den Bildschirmen. Was soll das überhaupt werden, ohne Programm und Schaltplan ? Sollen wir jetzt alle vor Begeisterung in die Ohnmacht fallen ? Michael schrieb: > Mikrocontroller" herangewagt. Und finden, ein originelles Beispiel > gefunden zu haben. Es zeigt, dass ungewöhnliche Lichteffekte auch mit > Standard-LED und winzigen Controllern machbar sind. Weder sind 2K winzig, noch sehe ich da ungewöhnliche Lichteffekte - und selbst wenn, ohne Programm und Schaltplan ist das nicht mehr als Selbstwerbung - und dazu ist das alles einfach nicht gut genug. Mit Programm und Schaltplan würde es vielleicht der eine oder andere Anfänger noch nachbauen, aber so...
Moin. Gut gemacht. Leider mit PIC. Aber was solls. Sieht gut aus, und man hat sicher was gelernt dabei. Also sinnvolles Projekt. Allerdings hat der MC sicher kein Flash-RAM wie im Video dargetan. Hab sonst nix zu meckern gefunden. MfG Micha.
Coole Sache, besonders das weiche Nachleuchten. Vielleicht kannst Du ja ein bißchen was vom Programm zeigen. PS: lass Dich von den neidischen Selbstdarstellern hier nicht ärgern, die tönen nur laut den ganzen Tag ...
Mir gefällt es auch, jeder hat mal angefangen und man sieht das man auch mit wenig coole Dinge machen kann. Und! Es ist in der heutigen Zeit mal nix mit nem Arduino - das is schon mal was :-D +1
Gaukler schrieb: > PS: lass Dich von den neidischen Selbstdarstellern hier nicht ärgern, wer ist denn hier Selbstdarsteller? Ich sehe kein Schaltbild, kein Programm, also nix woraus man lernen könnte, das nenne ich Selbstdarstellung oder SPAM Wenn es NMZ sein soll, OK hat funktioniert.
Hallo alle zusammen, danke erstmal für eure Kommentare. Micha D. schrieb : > Leider mit PIC. Ralph S. schrieb : > wenn auch mit PIC Controller ! Sicher wäre mit einem vergleichbaren ATtiny25 die Programmierung einfacher gewesen. Zum PIC kam es letztlich nur wegen der Platine. Die selbstdefinierten Vorgaben lauteten dafür: - einseitig beschichtete Platine - kleinstmöglicher Durchmesser, von den LED-Maßen vorgegeben - keine Drahtbrücken (sonst wäre es zu einfach) - keine SMDs - "Edding-taugliche" Design rules (Abstand Lötpunkte min. 2,5 mm, keine Leiterbahnen zwischen benachbarten Lötpunkten hindurch) - Die Zuordnung der LED erfolgt per Software. Ihr Platz im Kreis auf der Platine ist somit beliebig. Die antiparallelen LED-Paare sollten zur Layout-Vereinfachung jedoch direkt nebeneinander liegen - kein Einsatz von CAD-Tools mit Autoroutern o.ä. Mit der Lage der Pins für die Spannungsversorgung beim PIC war es am Ende irgendwie einfacher, beim Layout ohne jegliche Drahtbrücken auszukommen... Die Schaltung für einen ATtiny25 wäre bis auf die Pinzuordnung am Controller identisch. S.o. Marc V. schrieb : > Weder sind 2K winzig .... Der Platz ist bis aufs letzte Byte belegt. Allein die Nutzereingaben fürs Stellen der Uhr, die vielen Einstellungen der Optionen und die mögliche Fein-Kalibrierung des RC-Oszillators verbrauchen einigen Platz. Dazu noch ein halbwegs brauchbarer (Pseudo-)Zufallsgenerator. Man sollte auch nicht vergessen, dass zu jedem Zeitpunkt stets immer nur eine einzige LED leuchtet. Dafür ist einiges an Organisation in der Software erforderlich. Mit einem Oszi wäre außerdem schnell erkennbar, dass hier keine klassische PWM für die Helligkeitssteuerung zum Einsatz kommt. Das dürfte bei nur 5 Pins für 10 Kanäle auch kaum machbar sein. Um die LED nun doch alle gleichmäßig und flackerfrei steuern zu können, ist eine Art Pulsmengenmodulation (also PMM?) programmiert, bei der Impulse von stets gleicher Länge aber in unterschiedlicher Anzahl der Reihe nach auf die aktiven LED verteilt werden. Soviel noch zur Theorie.. Wenn wirklich Bedarf besteht, kann ich die Platine`samt Hex-File natürlich auch noch hochladen. Und für Anregungen, welche optischen Effekte sonst noch so interessant wären, bin ich auch immer dankbar. Beste Grüße Micha
Hallo Michael, TOLL das du es einen PIC genommen hast! Und noch einen 12F, Super. Bei 2K und den Funktionen nehme ich an das du es in ASM Programmiert hast. Ich finde das Ergebniss sehenswert, und würde es auch sofort Nachbauen! PICs habe ich hier genug hier (Atmel und Intel aber auch) da ich selber damit sehr gerne Arbeite. MC_FAN
Michael P. schrieb: > Um die LED > nun doch alle gleichmäßig und flackerfrei steuern zu können, ist eine > Art Pulsmengenmodulation (also PMM?) programmiert, bei der Impulse von > stets gleicher Länge aber in unterschiedlicher Anzahl der Reihe nach auf > die aktiven LED verteilt werden. Das Verfahren nennt sich Bit-Angle-Modulation. Ist auch ein alter Hut.
Dabei besteht eigentlich gerade ein besonderer Reiz und eine große Herausforderung darin, das maximale aus einer eher beschränkten Hardware herauszuholen Nö, als Techniknerd vielleicht, aber manch einer macht sich auch um die Idee Gedanken als blos die technsiche Umsetzung ;)
Franklin schrieb: > Michael P. schrieb: >> Um die LED >> nun doch alle gleichmäßig und flackerfrei steuern zu können, ist eine >> Art Pulsmengenmodulation (also PMM?) programmiert, bei der Impulse von >> stets gleicher Länge aber in unterschiedlicher Anzahl der Reihe nach auf >> die aktiven LED verteilt werden. > > Das Verfahren nennt sich Bit-Angle-Modulation. Nein. Das Kennzeichen einer BAM ist, daß die Längen der Impulse gerade nicht gleich, sondern typischerweise binär gewichtet sind.
Ich verstehe schon das der Weg das Ziel war, aber ich halte 20 (!) LEDs bei einer Uhr irgendwie für einen Designfehler. 12 oder 24 hätte ich verstanden. Aber gerade 20?! Wie zeigt die Uhr denn z.B. 23:50 an?
Axel S. schrieb: > Nein. Doch. Axel S. schrieb: > Das Kennzeichen einer BAM ist, daß die Längen der Impulse gerade nicht > gleich, sondern typischerweise binär gewichtet sind. Das passiert ja auch. Da bei Charlieplexing ja immer nur eine LED zur selben Zeit leuchten darf ist es sinnvoll die Impulslänge durch Kombination von Einzelimpulsen zu erreichen. Für die einzelne LED setzen sich diese Einzelimpulse zum BAM-typischen 128-64-32-16-8-4-2-1 Impulsverhältnis zusammen.
Schönes Projekt, danke für's veröffentlichen. Hoffe du lässt dir die Laune nicht durch die paar Miesepeter, Kritikaster und Markenfetischisten versauen. Etwas off topic: Warum das gemecker über die Kontrollermarke immer nur aus einer Ecke kommt verstehe ich übrigens gar nicht. Als ob das irgendwie von Belang wäre und. In diesem Fall auch noch von der gleichen Aktiengesellschaft irgendwo in Amiland hergestellt. Erinnert mich an die Apple Jünger und ihre Elegien über den Power PC (eine Kiste die Profis bestenfalls in Drucker eingebaut haben -was jetzt aber kein Seitenhieb auf irgendeine Kontrollermarke sein soll). Als dann Apple den gleichen Kram wie die PC Welt eingebaut hat blieb damals nichts anderes übrig als den Dongle zu bejubeln (oder den abgespeckten Frontend vor der Unix Standardkiste). Meiner einer findet das anmaßend, unhöflich und inhaltlich schlicht dumm (ob ich nun PORTA oder PINA tippe ist so verschieden nicht).
Hallo alle zusammen, Markus M. schrieb: > ich halte 20 (!) LEDs > bei einer Uhr irgendwie für einen Designfehler. Ein grundsätzlich völlig berechtigter Einwand. Tatsächlich ist es aber so: Die Uhrfunktion ist nur ein "Abfallprodukt", da ich sowieso einen variablen Intervalltimer für die periodisch zu startenden Lichteffekte brauchte. Und dafür sollte nur grob die ungefähre Zeit darstellbar sein. Für Nutzereingaben ist mindestens 1 Pin erforderlich. Die verbleibenden 5 Pins erlauben nach der Formel n*(n-1) die Ansteuerung von maximal 20 LED. Bei 6 Pins wären demnach zwar bis zu 30 LED möglich, allerdings fehlt dann der Anschluß eines Tasters. Und ohne den geht es nicht. Die eigentliche Kernfunktion des Programms ist auch nicht ganz so trivial wie sie im Video vielleicht erscheint. Der Lauf der Lichtpunkte wird nicht wie sonst üblich über Bit-Shift, Lookup-Tables oder if- und while- Konstruktionen mit Delays gesteuert. Vielmehr finden die bis zu 10 Lichtpunkte ihren Weg völlig autonom. Und zwar weitgehend nach den Regeln der Physik, also der Kinetik. Die Nutzung vom Modul Reactor im 3dsMax brachte mich neulich auf die Idee, dieses Konzept mal auf einen Mikrocontroller zu übertragen. Und das geht prinzipiell so: Jedem Ort (hier also einer der 20 LED-Positionen) ist virtuell eine wirkende Kraft zugeordnet, dazu die Richtung). Diese Werte zur Nachbildung der Gravitation werden einfach einer Lookup-Table entnommen. D.h. an der obersten und untersten LED ist die Kraft 0. Links und rechts ist sie maximal, jedoch mit entgegengesetzter Richtung. Die Zwischenwerte sind dann vom Winkel der jeweiligen LED abgeleitet. Jedem Objekt (hier also einem Leuchtpunkt) wird virtuell eine Masse, eine Geschwindigkeit, die Richtung, ein Reibungskoeffizient, eine Helligkeit, ein Leuchtverlauf, die Elastizität und das Verhalten bei Kollision zugeordnet. (Erinnert sich hier noch jemand an die Sprites beim C64?) Faktisch wird also jedes Objekt nur einmal an den erforderlichen Ort platziert und ihm dazu die gewünschten Eigenschaften mit auf den Lebensweg gegeben. Den Rest erledigt das Programm gemäß Physik und der Formel F=m*a dann allein. Mit zwei beabsichtigten Ausnahmen: Ordne ich einem Leuchtpunkt eine (unreale) Masse 0 zu, wird die momentane Position beibehalten. Und zweitens, an einem Ort darf sich mehr als ein Leuchtpunkt befinden. Alles läuft komplett Timer-Interrupt gesteuert. Jedem Punkt können 40 verschiedene Geschwindigkeiten und 22 Helligkeiten zugeordnet werden. Mehr geben die 8 MHz und 128 Byte RAM nicht her, reicht in der Praxis aber völlig aus. Beim Lichteffekt "Ping Pong" im Demo-Video hat der wandernde Leuchtpunkt z.B. die Eigenschaft, bei Kollision mit einem anderen Lichtpunkt die Richtung zu wechseln. Mit einer größeren Elastizität würde er dabei dann auch noch ganz realistisch seine Geschwindigkeit erhöhen. Würde ich den 10 langsam aufleuchtenden LED plötzlich eine Masse > 0 zuordnen, fingen sie an immer schneller werdend links und rechts nach unten zu fallen, dabei weiter blinkend. Beim gezeigten Lichteffekt "Pendel" im Demo-Video wäre es so: Ordne ich dem Punkt eine höhere Geschwindigkeit und einen Reibungskoeffizienten > 0 zu, dann überschlägt er sich erst ein paarmal, pendelt dann eine Weile immer schwächer um dann irgendwann mal unten stehenzubleiben. Also ganz wie im echten Leben. Beste Grüße. Micha -
X4U schrieb: > Schönes Projekt, danke für's veröffentlichen. sehe ich auch so! X4U schrieb: > Hoffe du lässt dir die > Laune nicht durch die paar Miesepeter, Kritikaster und > Markenfetischisten versauen. hey mach mal halblang, miesepetrisch wurde man ja weil vorher im 1. Beitrag nix war, kein Schaltbild keine Erklärung, kein Code! Jetzt hat das schon mehr Gesicht.
Michael P. schrieb: > Und das geht prinzipiell so: > > Jedem Ort (hier also einer der 20 LED-Positionen) ist virtuell eine > wirkende Kraft zugeordnet, dazu die Richtung). Diese Werte zur > Nachbildung der Gravitation werden einfach einer Lookup-Table entnommen. > D.h. an der obersten und untersten LED ist die Kraft 0. Links und rechts > ist sie maximal, jedoch mit entgegengesetzter Richtung. Die > Zwischenwerte sind dann vom Winkel der jeweiligen LED abgeleitet. > > Jedem Objekt (hier also einem Leuchtpunkt) wird virtuell eine Masse, > eine Geschwindigkeit, die Richtung, ein Reibungskoeffizient, eine > Helligkeit, ein Leuchtverlauf, die Elastizität und das Verhalten bei > Kollision zugeordnet. (Erinnert sich hier noch jemand an die Sprites > beim C64?) [...] OMG. Was für ein geballter Haufen akademischen Bullshits. Und das dann auch noch mit einer so logischen, einfachen und effizienten Sache wie den C64-Sprites zu verknispeln: Da hat ein Troll mal wieder ganze Arbeit geleistet. Respekt. Hast du nix zu arbeiten? Wenn ich was zu sagen hätte, würdest du sehr bald was zu arbeiten haben und keine Zeit mehr zum Trollen...
Hallo alle zusammen, c-hater schrieb: > Bullshits ..... Netter Beitrag. Dazu äußerst lehrreich. Und ganz besonders dein geschliffener Umgangston lässt auf eine ziemlich hohe mentale Taktfrequenz schließen. C-hater, ich hoffe nur, du bist im wahren Leben nicht so ein armes, bedauernswertes kleines Würstchen, wie ich es mir gerade vorstelle. Jemand, dem niemand freiwillig auch nur ein winziges Glas Bier spendieren würde. Oder so ein kleiner Bubi, mit dem keiner im Buddelkasten spielen will. Also bitte noch mal deine geistigen Kräfte bündeln und das Thema vom Thread zumindest grob erfassen. Dort taucht u.a. der Begriff "Spaß" auf (extra fur dich auch noch in Englisch -> "fun", mal nach der Bedeutung googeln). Von Zulassungsbestimmungen, Arbeit, DIN oder sonstigen kommerziellen Aspekten war dagegen keine Rede. Was meinst du, warum so viele nach ein paar Runden auf dem Nürburgring an der selben Stelle wieder aus ihrem Auto steigen. Oder stundenlang zum Angeln an einem See sitzen. Oder ein halbes Vermögen in Projekte in ihrem Modellbaukeller versenken. Richtig! Weil sie es aus Spaß tun und dabei nicht nach einem Sinn oder der Kosten/Nutzen-Relation vom Ganzen fragen. Einfach weil sie es stolz und zufrieden macht. Gleiches gilt für mich mit diesem kleinen Projekt. Und wenn du nicht nur schlau daher redest, kannst du ja mal zeigen was du kannst und diese MC-Schaltung (von den Kindern treffend Pusteblume getauft) selber programmieren. Das Platinen-Layout stelle ich dafür sogar bereit, wahlweise für AVR oder PIC. Nach passenden Programmbeispielen oder gar fertigen Bibliotheken dazu wirst du im Netz aber wohl lange suchen müssen. Dennoch, so ein Experte wie du erledigt das alles ja ganz sicher locker in ASM an einem Wochenende... Now over to you... Beste Grüße. Micha
Die Idee dahinter ist schon geil! Ich hab vor vielen Jahren mal mit 3DS gearbeitet ( http://f4u-draconix.deviantart.com/ ), aber das man inspiriert vom Reactor Plugin auf ein µC ableitet, wäre mir nicht in den Sinn gekommen :-D
Hallo alle zusammen, Draco schrieb: > Ich hab vor vielen Jahren mal mit 3DS gearbeitet ( > http://f4u-draconix.deviantart.com/ Hi Draco, da kannst du ja sicher bestätigen, dass so was fast süchtig machen kann, wenn oft schon mit der kleinsten Änderung eines Parameters gleich eine ganz neue dynamische Szenerie entsteht. Ich lasse bei mir viele der Werte im Programm durch den Zufallsgenerator zuweisen und erhalte so Milliarden von verschiedenen Leucht- und Bewegungsmustern. Viele davon total faszinierend, noch nie gesehen und auf konventionelle Art wohl auch niemals zu programmieren. Falls es Interessenten gibt, die Layouts zur Platine habe ich für PIC und AVR nun mal sauber gezeichnet und lade sie hier hoch. Bei der AVR-Variante liegt der Taster jetzt an Pin 7 vom Controller, also anders als in der Schaltung weiter oben gezeigt. Somit konnten auch da alle lästigen Drahtbrücken entfallen. Pinkompatible Controller mit höherer Leistung wie 12F1840 oder ATtiny45/85 funktionieren natürlich auch. Bei mir haben die 2K Programmspeicher und 128 Byte RAM jedoch für alles gerade so ausgereicht. Beste Grüße. Micha
Hallo, sehr interessant. >(von den Kindern treffend Pusteblume getauft) Ein Elektretmikro an den Pin und dann wirklich "Pusteblume" machen. Kann ja einfach den Taster ersetzen, Pegel zum Triggern könnte beim raufpusten ausreichen... PS: war der Source eigentlich irgendwo dabei, speziell AVR? Gruß aus Berlin Michael
:
Bearbeitet durch User
Hallo, jetzt muß ich mich doch mal melden. Mir gefällt das Projekt sehr gut. Schlimm daß manche hier nur rummeckern, warum soll man, beim Eloktronikbasteln, keinen Spaß haben? Gerade mit Mikrocontrollern und LEDs lassen sich viele Dinge bauen, die zwar keinen praktischen Nutzen haben, aber großen Spaß machen. Ein Bereich, auf den ich mich sogar etwas spezialisiert habe. Leider komme ich, aufgrund meiner schlechten Verfassung, viel zu wenig zum Basteln, aber wenn ich solche Projekte sehe, juckt's mich in den Fingern. Mit freundlichen Grüßen - Martin
Ich denke, Du hattest viel Freude und Erfolg bei der Konstruktion. Auch von meiner Seite danke für die investierte Zeit. Das Layout ohne Drahtbrücken hat sicher einige Überlegungen gekostet. > Man sollte auch nicht vergessen, dass zu jedem Zeitpunkt stets immer > nur eine einzige LED leuchtet. Franklin schrieb: > Da bei Charlieplexing ja immer nur eine LED zur selben Zeit > leuchten darf ist es sinnvoll die Impulslänge durch > Kombination von Einzelimpulsen zu erreichen. Das ist eine Urban Legend. Beim 20Led-5Pin-Plexing können immer 4 Leds gleichzeitig leuchten. Wenn jetzt jemand argumentiert: dann wird aber der Common-Pin überlastet (P=R*I^2)? Nein, da die LEDs ja auch nur vier mal so kurz eingeschaltet sein brauchen. Oder die Vorwiderstände vergrößern, das ist bei den modernen ultrahellen alles kein Problem mehr. Meine Vermutung war ja, Du hättest ganz ohne Vorwiderstände und mit <3V Vcc gearbeitet, was auch oft gemacht wird. Dann ist die Helligkeit stark von der Spannung abhängig, aber ein U-Regler ist ja vorhanden. Schade, dass im Video die Musik abrupt abreißt. Ich hätte es ohne Musik gemacht und dabei etwas zur Entstehung erzählt. Die Überlegung ist auch, dass man 6 Leitungen für 6x5-Plexing verwendet. Dann hat man 30 Leds, jede 2 Sekunden eine Mit dem Taster legt man ein Pin über einen Widerstand nach Masse (evtl. internen PullUp und ADC zum Auswerten verwenden). Mir scheint, heute sind etliche User mit dem linken Fuß aufgestanden, schade. Ich wünsche gute Besserung.
Michael schrieb: > Dabei besteht eigentlich gerade ein besonderer Reiz und eine große > Herausforderung darin, das maximale aus einer eher beschränkten Hardware > herauszuholen. Endlich jemand, der mich versteht :D
Hallo alle zusammen, Michael U. schrieb: > Ein Elektretmikro an den Pin.... Die Idee mit dem Elektretmikro werde ich ausprobieren, bin schon gespannt. Werde ein altes Handy dafür ausschlachten. Noch was für Interessierte an außergewöhnlichen Lösungen: Für die Lichteffekte brauche ich im Programm einen Zufallsgenerator. Und der ist in jedem uC ja bekanntlich ein großer Schwachpunkt, da es in der digitalen Computerwelt einen echten Zufall nicht geben kann und darf. Auch der beste Algorithmus liefert also nach dem Programmstart leider stets exakt die gleiche Reihe an Zufallszahlen (Deshalb schließlich der Name Pseudo...). Behelfen kann man sich da nur, indem man externe variable Werte wie z.B. Licht oder Temperatur per ADC zum Initialisieren des Generators mit hinzufügt. Da meine Schaltung mangels freiem Pin keine zusätzlichen Sensoren mehr verkraftet, bin ich auf der Suche nach Alternativen durch Zufall auf eine einfachste Lösung für einen "echten Zufallsgenerator" gestoßen. Und der geht so: Die Schaltung bleibt unverändert. Wenn ich nun einen Zufallswert brauche, schalte ich einfach irgend ein Pin als Ausgang kurz auf 0 (Damit werden stets 8 LED einseitig Richtung GND gezogen). Ein anderes Pin schalte ich kurz auf analogen Eingang um und starte da eine 10bit-ADC. Der erhaltene "Messwert" erscheint zwar total unsinnig, ist dafür aber perfekt zufällig, sehr gleichmäßig verteilt und somit als Zufallswert ideal geeignet. Das kann ich hier ganz einfach prüfen, indem ich in einer Endlos-Schleife mit dem generierten Zufallswert MODULO 20 direkt eine der LED im Kreis adressiere. Nach jedem Programmstart entstehen wie angestrebt völlig unterschiedliche Zahlenfolgen. Ich vermute, die Leiterbahn am hochohmigen ADC-Pin fängt Funkwellen oder Störfelder ein, die am Halbleiterübergang der LED demoduliert bzw. gleichgerichtet werden und eine ausreichende Spannung aufbauen. Und Dank geringster Kapazitäten beim Pin und der LED ist dieser Wert für jede folgende ADC auch unterschiedlich hoch. Hier kann man Störfelder endlich auch mal zu seinem Vorteil nutzen... Das Prinzip müsste überall da funktionieren, wo zumindest eine LED an einem uC-Ausgang hängt, der auch als ADC-Kanal umschaltbar ist. Kann ich echt zur Nachahmung empfehlen! (Oder ist das schon wieder nur ein alter Hut? ;-)) ). Beste Grüße. Micha
@Martin Schlüter > Schlimm daß manche hier nur rummeckern, warum soll man, beim > Eloktronikbasteln, keinen Spaß haben? Quatsch, das darf doch keinen Spaß machen, jetzt aber... :-)))) > Gerade mit Mikrocontrollern und > LEDs lassen sich viele Dinge bauen, die zwar keinen praktischen Nutzen > haben, aber großen Spaß machen. Eben! Und gerade wenn was leuchtet, blinkt oder blitzt, besteht immer eine gewisse Faszination. "Jeder" muß da hinschauen, das ist naturgegeben! Ich komme aus der Werbebranche, da wird u.A. mit Lichteffekten noch mehr Aufmerksamkeit erregt. Kurz um, ich finde solche "Spielereien" einfach faszinierend, wie z.B. auch die LED-Cubes. Und 20 LEDs mit nur einem 8 beinigen µC zum leuchten/faden, etc. zu bewegen, einfach nur genial! Hätte ich mehr Programmierkenntnisse, würde ich mich sofort ans Werk machen. Vielleicht stellt ja Jemand einen Atmel Code zum obigen Layout zur Verfügung? Vom Themen Ersteller, liest man weiter nicht's mehr, wie ich das sehe? Manchmal bin ich der Meinung, daß sich einige schon gar nicht mehr trauen, hier etwas vorzustellen, weil man befürchten muß, auseinander genommen zu werden, was hier schon oft der Fall war! Das ist natürlich demotiviertend und ich persönlich finde das zum... Gruß Michael
Martin S. schrieb: > Schlimm daß manche hier nur rummeckern, warum soll man, beim > Eloktronikbasteln, keinen Spaß haben? Gerade die Pruckelei mit Mikrocontrollern kann süchtig machen - auch ich baue Dinge "weil ich's kann" und Spaß dran habe! Michael D. schrieb: > Manchmal bin ich der Meinung, > daß sich einige schon gar nicht mehr trauen, > hier etwas vorzustellen, weil man befürchten muß, auseinander genommen > zu werden, was hier schon oft der Fall war! Das ist natürlich > demotiviertend und ich persönlich finde das zum... Es sind zum Glück nicht alle Schreiber so negativ drauf. So manche Antworten hier gehen garnicht, hast Du recht.
Michael schrieb: > (-- Das im Video sichtbare leichte Flimmern einiger LED ist in > Wirklichkeit nicht wahrzunehmen --) Da sind sich wohl PWM-Frequenz und Kamerabildfrequenz ins Gehege gekommen. Das nenne sich Aliasing.
Schönes Projekt! Um die Notwendigkeit zu umgehen, den Tiny25 dauerhaft auf HV Programming umstellen zu müssen, um Reset als Portpin zu benutzen, könnte man den Trick mit dem ADC auf Pin1 machen und dort den Benutzerknopf anschliessen. Mit einem Spannungsteiler kann man dann den Pin nur 'ein bisschen' runterziehen und das mit dem ADC erkennen. Somit bleibt ISP weiter benutzbar. Reset ist ja als I/O auch nicht so kräftig wie die anderen Pins.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.