Forum: Mikrocontroller und Digitale Elektronik Ich brauche Hilfe, um eine LED pulsieren zu lassen.


von Max M. (atmega8junge)


Lesenswert?

Hallo, ich soll eine LED mit dem ATmega8 in AVR zum pulsieren bringen... 
kann mir dabei jemand helfen oder mal ein Programm schicken?
Danke im Vorraus!

: Verschoben durch User
von Helmut -. (dc3yc)


Lesenswert?

Musst nur entsprechende Seiten mit Videos im Internet anschauen, dann 
pulsiert dein Kopf auch rot wie eine LED! Und das alles ohne ATmega8 in 
AVR!

von Georg M. (g_m)


Lesenswert?

Max M. schrieb:
> Hallo, ich soll eine LED mit dem ATmega8 in AVR zum pulsieren bringen...

Pulsieren ist etwas zwischen Blinken und PWM?

von Max M. (atmega8junge)


Lesenswert?

Hallo, die LED soll zufällig pulsieren mit Assembler

von wendelsberg (Gast)


Lesenswert?

Lesen, verstehen, Frage neu stellen:

Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?"

wendelsberg

von Der Andere (Gast)


Lesenswert?

Max M. schrieb:
> Hallo, die LED soll zufällig pulsieren mit Assembler

Prima, dann machs doch. Wenn du das machen sollst, dann hat dir bestimmt 
auch jemand gezeigt, wie man sowas programmiert.

Oder du schaust hier:
Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?"

von Horst V. (hoschti)


Lesenswert?

Hallo atmega8junge,
das klingt aber sehr nach Hausaufgabe. Daher bringt es Dir rein gar 
nichts, wenn Dir hier einer eine fertige Lösung postet.

Aber Hilfe sollst Du natürlich bekommen. Deshalb erst mal ein paar 
Fragen, um dein Problem ein wenig einzuengen.

Wo hapert es denn genau? Kannst Du die LED irgendwie einschalten? Wenn 
nein, was hast Du denn bisher versucht? Programm einfach mal hochladen, 
dann wird es einfacher für uns, zu helfen.

Es wäre auch noch hilfreich, eine einfache Skizze der Schaltung zu 
sehen. Dazu reicht auch eine Handskizze, die Du abfotografierst und als 
Bild hier zeigst. Es muss kein normgerechter Stromlaufplan sein. Oder 
bist Du in der Arduino-Welt unterwegs. Dann einfach eine Skizze und ein 
Foto des Aufbaus.

Und zum Schluss schon mal ein paar Hinweise:
Die LED wird ja sicher mit einem Anschluss an einem Portpin 
angeschlossen sein. Das andere Ende sollte über einen Widerstand auf die 
Versorgung gehen.

Um die LED jetzt zum Leuchten zu bringen, muss der Portpin auf das 
entgegengesetzte Potential gezogen werden, wie das, auf welches der 
Widerstand geschaltet ist. Und damit der Portpin den vom Controler 
programmierten Zustand (Low oder High) auch ausgibt, muss das 
Datenrichtungsregister des Portpins auf "Ausgang" gesetzt werden.

Da ich aus Deiner Frage schließe, dass Du noch ein Änfänger zu sein 
scheinst, sollte das erst mal reichen.

Wenn Du bis hierher alles gemacht/verstanden hast und die oben 
beschriebenen Infos hier hochgeladen hast, gehen wir in die zweite 
Runde. Und nicht entmutigen lassen: Wir haben alle mal klein angefangen!

Hoschti

Nachtag:
Habe erst jetz die neuen Antworten gesehen. Von Assembler konnte ich 
noch nichts wissen. Ich hatte nur den ersten Post.

: Bearbeitet durch User
von Max M. (atmega8junge)


Lesenswert?

Moin Hoschti,
nein es ist keine Hausaufgabe... einfach ein Projekt.
Ich habe bis jetzt mit PWM die LED dimmen können aber nur mit zwei 
Tastern. Ich hätte gerne, dass die LED immer pulsiert wenn ich das 
Programm starte... am besten wäre natürlich in einem zufälligem Takt.
Gruß

Beitrag #5602634 wurde vom Autor gelöscht.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Max M. schrieb:
> Moin Hoschti, nein es ist keine Hausaufgabe... einfach ein Projekt.

Das passt nicht zu Deiner Beschreibung, in der Du beschreibst, daß Du 
"sollst".

Und dann auch noch das ganze in Assembler ... nee, das klingt 
unglaubwürdig.

von Michael B. (laberkopp)


Lesenswert?

Tja, so ist das, wenn man mit dem Programmieren ganz am Anfang steht.
Es erscheint alles unklar.
Erstmal brauchst du eine Definition, was denn pulsieren sein soll. 
Blinken, Flackern, Flimmern, aufschwellen/abdimmen, es gibt viele 
Verhaltensweisen von Lichtern, du musst also schon klären welchen 
zeitlichen Helligkeitsverlauf du haben willst. GENAU klären, nicht bloss 
als Prosa.

Dann kannst du schon PWM dimmen, sagst du, und hast nun wohl das 
Problem, eine zweite Aufgabe, die Helligkeitssteuerung über längere 
Zeiträume, hinzuzuprogrammieren.

Das ist normal, die meisten Leute haben erst mal ein Problem mit 
Multitasking. Es gibt wie immer mehrere Lösungsmöglichkeiten. Man kann 
beiden code ineinander verweben in der Programmhauptschleife, oder man 
kann sie trennen und PWM per zeitgebergesteuerten Interrupt lösen und 
das pulsieren in der Programmhauptschleife.

Ich würde vorshclagen, lege erst mal das dimmen per PWM in eine 
Zeitgeberroutine und lass dein Hauptprogramm mit den Tastern die 
Helligkeit einstellen. Dann ersetze dein Hauptsprogramm gegen die 
pulsierende Helligkeitssteuerung.

von Karl B. (gustav)


Lesenswert?

Hi @atmega8junge,
vielleicht ist da etwas für Dich dabei:

https://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM

ciao
gustav

von Teo D. (teoderix)


Lesenswert?

Max M. schrieb:
> Hallo, die LED soll zufällig pulsieren mit Assembler

Wenn du bescheißen willst, nimm ne Flicker-LED!
Drösel da 1,5-3V dran, drapiere den µC geschickt, mit etwas Beiwerk und 
Lametta, drum rum. Das merkt doch eh keine Sau. Als Programm 
präsentierst du dann noch irgend ein Assembler-Listing aus dem Netz... 
Fettig is die Laube.

von Stefan F. (Gast)


Lesenswert?

Damit wir Dir helfen können, brauchen wir weitere Informationen von Dir. 
Was hast du denn bereits and Hardware, Software und Dokumentation 
vorliegen? Welche Messinstrumente stehen zur Verfügung, welche davon 
kannst du bedienen? Hast du einen Schaltplan? Was kannst du, was musst 
du noch lernen?

Ein fertiges Programm darfst du gerne kaufen, lernen tust du dabei aber 
nichts.

Auch ich gehe von einer Schulaufgabe aus. ATmega 8 benutzt nämlich sonst 
niemand mehr.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Alles was man (vollständig) beschreiben kann, kann man auch 
programmieren.

D.h., zuerst mal eine GENAUE Beschreibung, was wann passieren soll.

von Stefan F. (Gast)


Lesenswert?

Hier gibt's ein Assembler Tutorial mit Zufallszahlen-Generator.

http://stefanfrings.de/avr_workshop/index.html

Den PWM Teil kriegst du selbst hin, hast du ja geschrieben.

von Azubi (Gast)


Lesenswert?

http://www.avr-asm-tutorial.net/avr_en/micro_beginner/3_Led_Blinking/3_Led_Blinking.html

Lesen und verstehen musst Du selber.

Da bleibt noch genug zu tun??

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.