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
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!
Max M. schrieb: > Hallo, ich soll eine LED mit dem ATmega8 in AVR zum pulsieren bringen... Pulsieren ist etwas zwischen Blinken und PWM?
Lesen, verstehen, Frage neu stellen: Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?" wendelsberg
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.?"
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
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.
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.
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.
Hi @atmega8junge, vielleicht ist da etwas für Dich dabei: https://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM ciao gustav
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.
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.
Alles was man (vollständig) beschreiben kann, kann man auch programmieren. D.h., zuerst mal eine GENAUE Beschreibung, was wann passieren soll.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.