LED-Randomizer-Mikrocontroller-SFF-Schaltung (Small Form Factor).

Ich möchte, dass 12 LEDs in der Schaltung so programmiert sind, dass sie mit einer bestimmten Geschwindigkeit herumlaufen. 17 SMD-LEDs insgesamt. Was ich tun muss, ist, dass die Verfolgung zufällig 1 Sekunde lang langsamer oder 1 Sekunde lang schneller wird, wobei jedes Mal, wenn sie ausgewählt wird, eine entsprechende LED aufleuchtet. Es verwendet einen ATMEL AT89C2051-24PU (DIP-20) Mikrocontroller, 3-V-Batterie, 17 LEDs (12 für Chase, 3 für Rotation, 2 für Beschleunigungs-/Verringerungsanzeige), 1 Schalter, 1 Piezo. Die LEDs laufen mit den programmierten Geschwindigkeiten und Takten 1 Umdrehung, die von einer einzelnen LED mitgeteilt werden, 3 Umdrehungen insgesamt. Beginn der Drehung durch Piezo und am Ende gemeldet. Wie kann ich das machen, kann ich in den Mikrocontroller programmieren oder brauche ich einen oder zwei andere?

Ich bin ein Neuling.

Danke

Wie viele LEDs möchten Sie steuern?
Danke für die Antwort Stefan. Ich habe es hoffentlich einfacher gemacht. Mit etwas mehr Details des Inventars. Ich habe gerade ein Pick it 2 für das Programm bekommen, aber ich weiß nichts darüber, was es tun kann.
@iliaskafetzakis Du hast einen Pickit2-Programmierer ? Das ist nicht gut. Damit kann man nur Mikrocontroller (PIC) von Microchip programmieren. Für Atmel-Mikrocontroller benötigen Sie einen anderen Programmierer.
Es ist ein wenig schwer zu verstehen, was hier gefragt wird. Wie man einen Mikrocontroller programmiert, ist ein bisschen viel, um es in eine einzige Antwort zu stecken. Kannst du es etwas eingrenzen?
Wow, ich habe gerade die vorherige Version dieser Frage gelesen. Es ist viel einfacher zu verstehen.
lol an Rocketmagnet, der erste ging wahrscheinlich weit über Ihren Kopf hinaus, tut mir leid, wenn Sie versucht haben, ihn zu lesen. Ich habe die Mikrocontroller noch nicht bekommen, aber mir wurde gesagt, dass dies ausreichen wird. Sag mir einfach, was ich brauche. Alles, was ich m.Alin frage, ist, ob ich programmieren kann und welche Komponenten ich brauche. Die Eingabe kann ich nach gestalten. Danke
@iliaskafetzakis Entschuldigung, aber ich verstehe nicht wirklich, was Sie fragen. Außerdem kenne ich die Mikrocontroller von Atmel nicht.
Es muss kein Atmel sein, aber mir wurde gesagt, dass es für das, was ich brauchte, am billigsten sei. Ich kann nicht verstehen, warum du es nicht verstehen kannst? alles, was es blinkt, steuert LEDs und ich möchte wissen, wie! Danke
@iliaskafetzakis - wie m.Alin sagt, kann man mit einem PICkit2 keinen Atmel programmieren. Ein PIC 16F (z. B. PIC16F1828, PIC16F690 usw.) erledigt dies einfach und ist so billig wie ein Atmel. Wenn Sie also bereits den Programmierer haben, können Sie genauso gut einen davon verwenden. Um Ihnen beim Schreiben des Codes zu helfen, benötigen wir weitaus genauere Spezifikationen der beteiligten Muster und Timings sowie der gewünschten Funktion der Schaltflächen (ein grundlegendes Zustandsdiagramm wäre gut).
Es wäre wahrscheinlich besser, wenn Sie sich zB ein Starter-Kit von Microchip (oder Atmel) schnappen und die grundlegenden Tutorials durchgehen und dann mit ein paar spezifischen Fragen zurückkommen, die Sie ein wenig besser verstehen. Es wäre schwierig, in einer einzigen Antwort so detailliert darauf einzugehen, dass Sie all dies auf einmal durchstehen können.
So oder so ähnlich (PIC18F wird auch in Ordnung sein) | Weitere Optionen hier
Das ist großartig, ja, ich kann PIC verwenden. Ich kann auch einen anderen Programmierer bekommen (:
So ist es möglich, die LEDs so zu programmieren, dass sie jeweils nacheinander mit ihrer eigenen Aktivierungsgeschwindigkeit im Sequenz-Chase blinken und dann eine Art Randomizer-Programmierung hinzufügen, um das Chase um 1 Sekunde zu beschleunigen oder um 1 Sekunde zu verlangsamen, was auch der Fall ist wird durch eine LED als visuelle Benachrichtigung angezeigt. Kann dies über den Mikrocontroller erfolgen?
@iliaskafetzakis Ja, das geht mit einem Mikrocontroller. Eigentlich geht das am einfachsten mit einem Mikrocontroller. Wie Oli empfiehlt, sollten Sie auf einen PIC umsteigen, anstatt einen anderen Programmierer zu kaufen. Auf diese Weise ist es viel billiger.
Total genial (:

Antworten (1)

Sie sagten, dass Sie ein Anfänger sind. Haben Sie Erfahrung mit C- oder Assembler-Programmierung? Soweit Ihre Frage betrifft, ist Ihre Programmanforderung nicht einfach.

Ich werde Sie jedoch führen.

Sie können Ihre Arbeit mit nur einem Mikrocontroller erledigen, aber Sie benötigen dafür eine Multiplexing-Technik, da Ihr beschriebener Controller 15 I/Os hat und Sie 17 LEDs, 1 Druckknopfschalter und 1 Summer anschließen.

Für Summer wird ein Ausgang benötigt. Für Taster ist ein Eingang erforderlich. Für 3 Rotations-LEDs und 2 Speed-LEDs benötigen Sie 5 Ausgänge. Für 12 LEDs können Sie alle 12 LEDs im 4x3-Format anschließen, 12 LEDs in 4 Reihen und 3 Spalten, was 7 Ausgänge verbraucht.

Insgesamt werden also 14 I/Os verbraucht, 1 ist noch frei.

Ich bin davon ausgegangen, dass Sie über Grundkenntnisse in der Mikrocontroller-Programmierung und allen Registern verfügen.

Sie müssen Ihr Programm in modularer Form erstellen (Modul: kleines oder großes Programm) und sie nach ihrem Funktionsnamen benennen, jede Funktion hat ihr eigenes Modul. Angenommen, der Name des LED-Chaser-Funktionsmoduls kann LED_Chaseer oder LED_Chase sein.

Machen Sie ein Modul für die Timer-Funktion und eines für die Schalter- und Summerfunktion.

EINE Timer-Interrupt-Funktion, bei der Sie alle LEDs ansteuern.

Eine Hauptfunktion ist offensichtlich für den kontinuierlichen Betrieb erforderlich. In dieser MAIN-Funktion müssen Sie zuerst die Schaltfunktion lesen als den Timer starten, indem Sie der Timer-Funktion einen Wert senden. Bei jedem Timer unterbrechen Sie die Laufwerks-LEDs, wie Sie möchten. und dann erhöhen oder verringern Sie den Zeitgeberwert für die visuelle Änderung der LED.

Auf diese Weise können Sie Ihre Ergebnisse erhalten.

Wünsche dir viel Glück