Forum: Mikrocontroller und Digitale Elektronik Atmega8 (AVR-Board light) Led-Steuerung


von Kevin K. (kevinkubi)


Lesenswert?

Guten Tag,
zur Zeit versuche ich ein LED-Bild mit meinem Atmega8 zu steuern.
Ich würde gerne 3 Worte und ein Zeichen aus LEDs bilden und jedem Wort 
bzw Zeichen eine Funktion geben.
Gedacht war das ich jedem Wort/Zeichen einen Port zuweise und dieses 
dann so ansteuer das erst Wort1 Leuchtet, dann Wort2, als letztes Wort3 
und dauerhaft blinked das Zeichen
Ist das so möglich?
Wenn ja, wie viele LEDs dürfen an einen Port?
Wie viel LEDs kann das Board überhaupt verkraften?
Reihenschaltung oder Parallelschaltung?
Wenn nicht, gibt es andere möglichkeiten?

Ich wäre sehr dankbar wenn mir jemand helfen kann.

Schöne grüße, Kevin :)

von Hubert G. (hubertg)


Lesenswert?

Schon mal ins Datenblatt geschaut? Electrical Characteristics?
Zu den Worten die die anzeigen willst, wäre eine Zeichnung und 
Schaltplan wie du dir das vorstellst recht gut.

von Stephan B. (matrixstorm)


Lesenswert?

Hallo Kevin

> Ich würde gerne 3 Worte und ein Zeichen aus LEDs bilden und jedem Wort
> bzw Zeichen eine Funktion geben.

Das sind 4 unabhaengige LEDs?
Dafuer reichen die verfuegbaren PINs am ATmega8.

Einfach was freies raussuchen, als Ausgang ohne Pullup configurieren und 
wenn eine LED leuchten soll (und via Widerstand mit GND verbunden ist) 
einfach den entsprechenden PIN auf HIGH schalten.

> Gedacht war das ich jedem Wort/Zeichen einen Port zuweise und dieses
> dann so ansteuer das erst Wort1 Leuchtet, dann Wort2, als letztes Wort3

Ein ganzer Port umfasst meist 8 unabhaengige PINs (jedes Bit ein PIN).
Pro LED ein Port ist also unnoetige Verschwendung.

> und dauerhaft blinked das Zeichen
> Ist das so möglich?
Ja, via Timer koennte man z.B. einen Overflowinterrupt erzeugen der eine 
kleine ISR ausfuehrt welche den derzeitigen PIN-Zustand mit 1 XORed...

> Wenn ja, wie viele LEDs dürfen an einen Port?
LEDs koennen da dran so viele wie der Port treiben kann.
Das sind 20mA pro PIN und (da bin ich nicht sicher) max. 100mA pro Port.
Unabhaengig steuern lassen sich aber nur max. 8 LEDs pro Port.

> Wie viel LEDs kann das Board überhaupt verkraften?
siehe oben

> Reihenschaltung oder Parallelschaltung?
Reihenschaltung bei 5V Vcc wird wohl nichts werden...

> Wenn nicht, gibt es andere möglichkeiten?
Ja, wenn du wesentlich mehr unabhaengig ansteuerbare LEDs brauchst, dann 
solltest du Schieberegister 74HX595 als zusaetzliches Bauteil verwenden.
Die sind billig und via des Hardware-SPI deines ATmega8 koenen da sehr 
schnell Daten "reingeschoben" werden.

> Ich wäre sehr dankbar wenn mir jemand helfen kann.
Was brauchst du denn mehr an Hilfe?

> Schöne grüße, Kevin :)
Ja, Gruss zurueck

p.s.: Wenn du ersteinmal Basics erleben willst (und mit LEDs spielen 
willst), sehe dir doch einfach einmal 
http://matrixstorm.com/avr/tinyusbboard/ an.

Wenn noch Fragen sind, dann her damit.

MfG

: Bearbeitet durch User
von Kevin K. (kevinkubi)


Angehängte Dateien:

Lesenswert?

Danke erstmal für eure Antworten :)
Hier mal zur bildlichen Vorstellung meines Projektes.
(Die Punkte sollen LEDs darstellen.)

> Schon mal ins Datenblatt geschaut? Electrical Characteristics?
Ja, nur leider werde ich daraus nicht ganz schlau, bzw. meine Kentnisse 
aus der Schulischen Ausbildung sind schon etwas eingerostet..

> Zu den Worten die die anzeigen willst, wäre eine Zeichnung und
> Schaltplan wie du dir das vorstellst recht gut.
Damit man sich das besser vorstellen kann, hier der Plan was ich damit 
meine, einen Schaltplan kann ich erst heute Abend oder morgen machen.


>> Ich würde gerne 3 Worte und ein Zeichen aus LEDs bilden und jedem Wort
>> bzw Zeichen eine Funktion geben.
>
> Das sind 4 unabhaengige LEDs?
> Dafuer reichen die verfuegbaren PINs am ATmega8.

Nein, ich habe mich leider falsch ausgedrückt.
4 unabhängige LED-Zeichnungen wie in meinem Angehängten Bild.
Falls man das dort erkennen kann :D



> Ein ganzer Port umfasst meist 8 unabhaengige PINs (jedes Bit ein PIN).
> Pro LED ein Port ist also unnoetige Verschwendung.

Ich habe mich leider vertan, natürlich meinte ich Pin anstatt Port, das 
wäre nämlich wirklich sinnlos :p

>> und dauerhaft blinked das Zeichen
>> Ist das so möglich?
> Ja, via Timer koennte man z.B. einen Overflowinterrupt erzeugen der eine
> kleine ISR ausfuehrt welche den derzeitigen PIN-Zustand mit 1 XORed...

Das würde ich hinkriegen, aber das "ist das so möglich", war auf das 
ganze Projekt bezogen :p


>> Wenn ja, wie viele LEDs dürfen an einen Port?
> LEDs koennen da dran so viele wie der Port treiben kann.
> Das sind 20mA pro PIN und (da bin ich nicht sicher) max. 100mA pro Port.
> Unabhaengig steuern lassen sich aber nur max. 8 LEDs pro Port.
>> Reihenschaltung oder Parallelschaltung?
> Reihenschaltung bei 5V Vcc wird wohl nichts werden...

Da ich pro LED wahrscheinlich 20ma brauche und pro Pin ca 10 und oder 
mehr LEDs, würde das ja nur in einer Reihenschaltung funktionieren..


>> Wenn nicht, gibt es andere möglichkeiten?
> Ja, wenn du wesentlich mehr unabhaengig ansteuerbare LEDs brauchst, dann
> solltest du Schieberegister 74HX595 als zusaetzliches Bauteil verwenden.
> Die sind billig und via des Hardware-SPI deines ATmega8 koenen da sehr
> schnell Daten "reingeschoben" werden.

Ich werde mir das am Wochenende mal anschauen, vielen dank :)

> p.s.: Wenn du ersteinmal Basics erleben willst (und mit LEDs spielen
> willst), sehe dir doch einfach einmal
> http://matrixstorm.com/avr/tinyusbboard/ an.

Schaue ich mir ebenso am Wochenende mal an.


Vielen dank für eure Antworten und ein schönes Wochenende.

von Dominik R. (vision)


Lesenswert?

Du brauchst für das ganze 4 Pins von deinem Atmega und 4 Transistoren. 
Google mal nach Verstärkerschaltung...

von Kevin K. (kevinkubi)


Lesenswert?

Dominik R. schrieb:
> Du brauchst für das ganze 4 Pins von deinem Atmega und 4 Transistoren.
> Google mal nach Verstärkerschaltung...

Stimmt :o Daran hatte ich gar nicht gedacht..
Ich beziehe somit also die Spannung und den Strom zb von einer oder 
mehreren Batterien und steure über meinen Atmega nur den Ablauf, 
richtig?

von Dominik R. (vision)


Lesenswert?

Da brauchst du eigentlich keine extra Batterien für. Dein Atmega muss ja 
auch irgend wo her versorgt werden. Da klemmst du die Transistoren 
einfach mit dran und dann brauchst du die, wie du schon gesagt hast, nur 
noch über die Pins durchzuschalten...

PS: Widerstände am Gate nicht vergessen, sonst wirst du warscheinlich 
auch im ausgeschalteten Zustand ein Glimmen der LEDs haben.

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

Kevin Kubi schrieb:
> Ich beziehe somit also die Spannung und den Strom zb von einer oder
> mehreren Batterien und steure über meinen Atmega nur den Ablauf,
> richtig?

Da der ATmega auch Strom braucht, kannst Du das auch mit nur einer 
Spannungsquelle machen.

2 getrennte Spannungen (eine für den µC und eine höhere für die LEDs) 
hätte den Vorteil, dass Du mehrere LEDs in Reihe schalten kannst. Das 
spart Leistung und Vorwiderstände. Das Ganze hängt natürlich auch davon 
ab, welche Batterie SDu verwenden willst und wie lange sie halten soll.

Beispiel: 9V Block-Batterie (hält allerdings nicht lange), 
Spannungsregler 7805 für den µC, LEDs versorgt von den 9V.

Gruß Dietrich

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.