Programmierung von Mikrocontrollern

In Bezug auf diese Frage

Ist es möglich, die LEDs so zu programmieren, dass sie jeweils mit ihrer eigenen Aktivierungsgeschwindigkeit im Sequenz-Chase nacheinander aufleuchten, und fügen Sie dann eine Art Randomizer-Programmierung hinzu, um das Chase in zufälligen Intervallen um 1 Sekunde zu beschleunigen oder um 1 Sekunde zu verlangsamen wird zusätzlich durch eine LED als optische Benachrichtigung angezeigt. Kann dies über den Mikrocontroller Atmel AT89C2051 erfolgen?

Ja, das ist alles möglich. Was hast du bisher versucht?
Großartig (: damit ich einen Zufallsgenerator programmieren kann, großartig. Ich habe noch nicht angefangen, ich finde nur, welche Komponenten ich brauche (:
Natürlich ist es möglich, auch wenn nicht wirklich klar ist, was "Jagd" bedeutet und was genau Sie anzeigen möchten. Wie viele LEDs? Das größte Problem könnte die Steuerung einer großen Anzahl von LEDs über Multiplexing oder andere Mittel sein.
Eine Verfolgungsjagd von LEDs ist, dass die Lichter in einem Kreis beginnen, wobei zuerst und dann das letzte beginnt. Es gibt insgesamt nur 17 LEDs. (: Es ist machbar Danke
Mit nur 17 LEDs würde ich einen Mikrocontroller mit genügend E / A-Pins bekommen, um jeden einzeln anzusteuern. Davon gibt es zum Glück reichlich.
Ihre größten Herausforderungen werden tatsächlich darin bestehen, das Programm in die Schaltung zu bekommen und die Zufallszahl zu generieren. Wenn Sie sich nicht fest auf diesen bestimmten Teil festgelegt haben, können Sie einen ATMEGA328p in Betracht ziehen, der mit einem seriellen "Optiboot" -Bootloader vorgeflasht ist, mit dem Sie Ihr Programm darauf laden können, oder sogar diesen Chip, der bereits auf einem Entwicklungsboard mit eingebautem installiert ist - Bei der USB/Seriell-Konvertierung, die als Arduino bezeichnet wird, müssen Sie die Arduino-Software und -Bibliotheken nicht verwenden, obwohl Sie sie möglicherweise bequem finden.
Ich denke, Sie sollten sich den Code für einen Larson-Scanner ansehen. Es kann Ihnen helfen, da ich denke, dass es dem ähnelt, was Sie versuchen zu tun.
Ich denke, das Schieberegister ist top, da ich es in einem zukünftigen Projekt verwenden kann. Danke, dass du mir gesagt hast, dass Capcom und der Blog eine großartige Quelle sind. Es war wirklich hilfreich.
Lesen Sie meine Antwort in diesem Beitrag [LED-Randomizer-Mikrocontroller-SFF-Schaltung] [1] [1]: electronic.stackexchange.com/questions/36982/…
wir haben einen Sieger (:

Antworten (3)

Wenn Sie sich mit Multiplexing oder der Verwendung von Schieberegistern beschäftigen möchten, empfehle ich Ihnen, diese Links zu besuchen:

Der Arduino wird in beiden Tutorials verwendet, aber es sollte relativ einfach sein, die gleichen Konzepte auf Ihren Mikrocontroller anzuwenden.

@capcom, können Sie einige der Informationen selbst mitbringen, damit wir nicht unter Linkfäule leiden. Wir haben schon viele Links sterben sehen, seit wir unsere Seite vor 3 Jahren gestartet haben.
@ Kortuk Okay, das ist in Ordnung. Darf ich kopieren/einfügen, um Zeit zu sparen? Danke.
@capcom Hängt davon ab, welchen Kopierschutz sie verwendet haben. Wikipedia ist auf diese Weise in Ordnung, weil sie nur eine Zuordnung erfordern. Ich würde vorschlagen, hauptsächlich zusammenzufassen.

Am einfachsten ist es, die LEDs zu multiplexen - auf dieser Seite gibt es ein Schema . Es ist ganz einfach:Geben Sie hier die Bildbeschreibung ein

Grundsätzlich zünden Sie jeweils eine Bank an. Schalten bei 20+ Hz, das Auge wird es nicht bemerken. Dann können Sie sie so programmieren, dass sie auf jede gewünschte Weise leuchten.

+1 Ich bin mir ziemlich sicher, dass es Leute gibt, die sich über das Flimmern bei 20 Hz ärgern werden. Ich würde viel höher filmen, ich habe ein paar Leute getroffen, die sich sogar über 30Hz-Flimmern geärgert haben. 60Hz, da würde ich anfangen.

Ja, was Sie tun möchten, ist ziemlich einfach. Aber ...

Nein, mit dem Mikrocontroller AT89C2051 geht das nicht. Werfen Sie einen Blick auf sein Datenblatt . (Sie haben sich das Datenblatt angesehen, oder?) In der Beschreibung auf der ersten Seite steht "15 E / A-Leitungen". Das bedeutet, dass Sie maximal 15 LEDs/Tasten/etc. haben können.

Sie müssen einen Mikrocontroller mit mindestens 19 E / A-Leitungen (17 LEDs + 1 Schalter + 1 Piezo) auswählen. Wie wäre es mit dem AT89C51RC , er hat 32 E/A-Leitungen.

Warum nicht ein Schieberegister wie das 74HC595 verwenden? Würde das nicht funktionieren?
Diese Antwort zeigt einen klaren Mangel an Vorstellungskraft. Sie können die LEDs multiplexen, ein Schieberegister, einen io-Expander, Latches verwenden ... ich könnte weitermachen.
@Kristoffon Vielleicht hat Rocketmagnet die Tatsache berücksichtigt, dass das OP ein Anfänger in der Elektronik ist und keine zusätzlichen ICs einführen wollte, die das OP verwirren könnten.
@m.Alin Ich denke, wenn das OP einen eigenständigen AT89C2051 verwendet, hätte er keine allzu große Angst vor dem Multiplexen oder der Verwendung eines Schieberegisters. Wenn man bedenkt, dass es auch eine ziemlich große Anzahl von Anfänger-Tutorials gibt.
Ja, tut mir leid, ich habe noch ein paar LEDs Rocketmagnet hinzugefügt, danke für die Informationen. Die Stromversorgung ist nur 3V Strom. Sie sehen, das Problem sind die Kosten und der Arbeitsraum. Ich brauche so wenig wie möglich Komponenten in einem sehr flachen kleinen Gehäuse und für ungefähr 1 £, was ungefähr 1,50 USD entspricht. Ich werde in großen Mengen 1000er kaufen, damit ich etwas billiger werde. Ich denke, ein Multiplexer oder das Schieberegister funktionieren am besten für mich (: Und ja, Kristoffon, ich sehe, es gibt jede Menge Optionen, Prost.
Ich denke, das Schieberegister ist top, da ich es in einem zukünftigen Projekt verwenden kann. Danke, dass du mir gesagt hast, dass Capcom und der Blog eine großartige Quelle sind. Es war wirklich hilfreich.
@iliaskafetzakis Kein Problem. Aber nur um es rauszuwerfen, die Schieberegister kosten Sie nur ein paar Cent, wenn Sie sie in den 1000ern kaufen. Aber ich verstehe, dass Sie es so günstig wie möglich halten wollen.
@Kristoffon - Ich denke, das ist ein bisschen hart. Der OP ist klingt wie ein absoluter Anfänger. Hat anscheinend noch nie eine MCU benutzt. Möglicherweise hat er zuvor sehr wenig Code geschrieben. Zu erwarten, dass er darüber hinaus Multiplexing macht, ist ein bisschen viel.