Forum: Mikrocontroller und Digitale Elektronik 18 Kanal Lauflicht AVR


von Krampfläufer (Gast)


Lesenswert?

Hallo!

Newbie sucht Hilfe!

Ich will ( soll ) ein 18 Kanal LED Lauflicht mit AVR bauen.
Leider habe ich noch keine Ahnung wie das geht.
Habe im www sowas schon gesehen, aber immer ohne Erklärung bzw. 
Schaltplan und Programmierung.

Gibt es ein vollständiges Projekt, dass man als Anfänger nachbaut und 
damit dann auch lernen kann?

Mein Wissen liegt in der analogen Elektronikwelt ( Hochfrequenz, 
Antennen, OpAmps Transistor etc.)
Mit digitalem Kram hab ich mich bisher immer schwer getan...

Ich denke immer: Wo haben bloss die AVR Freaks die Programmierkenntnisse 
her... kann man das als teilweise gestresster Familienvater überhaupt 
"nebenbei" lernen?

Gibt es evtl. auch einen guten "Grundlehrgang", der wirklich bei Null 
beginnt?

Ok, viele Fragen, ich weiss...

Danke vorab!

von Ingo (Gast)


Lesenswert?

Schau dir doch mal das Tutourial an. Wie kommt jamand auf die Idee sowas 
von dir zu verlangen wenn du keinen Plan hast. Zu mir kommt ja auch 
keiner und sagt ich solle plötzlich Kleider designen...


Ingo

von Wolfgang (Gast)


Lesenswert?

Krampfläufer schrieb:
> Gibt es ein vollständiges Projekt, dass man als Anfänger nachbaut und
> damit dann auch lernen kann?

Der Lerneffekt beim Nachbau hält sich meist sehr in Grenzen.
Für dich springt mehr raus, wenn du dich hier über ein paar Konzepte 
schlau liest. Man könnte z.B. einen kleinen µC mit SPI Schnittstelle 
nehmen und da als I/O-Erweiterung Schieberegister mit 74HC595 
dranhängen, die vom µC seriell gefüllt werden.

von Krampfläufer (Gast)


Lesenswert?

Werde ich mal anschauen, danke.

Nein, es kam keiner zu mir der das verlangt.
Ich habe mich im Prinzip selber da rein geritten.
Ist aber alles im Freundeskreis, und ich habe gesagt "jaaaa, das baue 
ich...kein Problem..."

Für sowas ist ein AVR aber sicher sinnvoll, denn im Endeffekt soll das 
Ding nicht nur Lauflicht beherrschen, sondern auch andere Effekte die 
mit LED Ketten denkbar sind ( nur weisse LEDs übrigens ).

Bisher konnte ich immer alles mit spezial ICs oder Cmos lösen ( Led 
Kette mit Bausteinen wie U1096 oder ähnlichen ).

von Joachim (Gast)


Lesenswert?

Moin,

Krampfläufer schrieb:
> Bisher konnte ich immer alles mit spezial ICs oder Cmos lösen

Nicht übel nehmen, aber da wundert mich ein bißchen, warum du ein olles 
Lauflich nicht damit bauen kannst. Wenn mich nicht alles täuscht müßte 
das doch mit zwei 74hc4017 und nem NE555 gehen.

Aber klar, du kannst das auch mit nem µC lösen. Ist mal langfristig auch 
flexibler mit. Hier im Tutorial findest du alles, was du brauchst. Das 
schafft man auch als (frischer) Papa. Dauert dann nur etwas länger ;) 
...

Lern erstmal so, wie alle anderen auch, einzelne LEDs blinken zu lassen. 
Dann kommen so Sachen wie SPI/Schieberegister...

Krampfläufer schrieb:
> Ich denke immer: Wo haben bloss die AVR Freaks die Programmierkenntnisse
> her...

learning by doing :)

Gruß

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Zufällig habe ich auch mal ein 18 Kanal LED Effekt aus ATTiny45/85 und 
drei CD4094 Schieberegistern gebastelt. Hat sich so ergeben, weil ich so 
schöne UFO Dosen mit 18 Beulen hatte. Wird mit Tappen auf ein Mikro 
gesteuert, und per Taster im Mode umgeschaltet. Lauflicht ist auch bei:
http://www.schoeldgen.de/avr/
Such nach dem 'RandomLights' Projekt. Der Zufallszahlen Modus ist nichts 
für Epileptiker, aber schön in der Weihnachtszeit :P

von Krampfläufer (Gast)


Lesenswert?

Matthias Sch. schrieb:

>Zufällig habe ich auch mal ein 18 Kanal LED Effekt aus ATTiny45/85 und
>drei CD4094 Schieberegistern gebastelt. Hat sich so ergeben, weil ich so
>schöne UFO Dosen mit 18 Beulen hatte. Wird mit Tappen auf ein Mikro
>gesteuert, und per Taster im Mode umgeschaltet. Lauflicht ist auch bei.

Das ist interessant, aber ich denke mit Schieberegister komme ich nicht 
weit genug.
Es sollte sich jede der 18 LEDs nach Belieben ansteuern lassen. Daher 
vermute ich, dass man dementsprechend viele Ausgänge braucht, die man 
einzeln steuern kann.

Evtl. wird das doch zu komplex um das in einem Thread zu klären...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Krampfläufer schrieb:
> Es sollte sich jede der 18 LEDs nach Belieben ansteuern lassen.

Das hast du falsch verstanden.
Die Schieberegister fungieren als Porterweiterung und nicht etwa nur als 
Lauflicht 'Durchschieber' (kann man natürlich auch machen). Die zentrale 
Ausgangsroutine schreibt 18 Bits in die Register und kann damit jede LED 
einzeln an oder aus schalten. PWM allerdings wäre ist bei der gewählten 
niedrigen Taktfrequenz sehr flimmrig.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Krampfläufer schrieb:
> Ich will ( soll ) ein 18 Kanal LED Lauflicht mit AVR bauen.

Hierfür reicht ein ATmega8 (billiger Standard-Typ) völlig aus, der hat 
22 I/O-Pins.

von CheckR (Gast)


Lesenswert?

Ist für Leute, die kein C können nicht die Arduino Plattform ideal?

Da gibts doch tausende Lauflicht-Projekte

von Greenhorn (Gast)


Lesenswert?

Ich hab mit Bascom angefangen. Nach ein paar Abenden solltest du das 
haben.
Ich würde sowas multiplexen, da ist eine Erweiterung am ehesten drin.

von CheckR (Gast)


Lesenswert?

Ich würde mal behaupten, dass derjenige, der ein solches Lauflicht aus 
analogen Bausteinen aufbauen kann, auch in der Lage sein müsste einen 
einfachen 8 Bit Mikrocontroller zu programmieren.

Das größte Problem ist ja eigentlich der Anfang. Wenn was nicht 
funktioniert weiß man immer nicht, liegt es an der Hard- oder an der 
Software. Deshalb bietet sich IMHO Arduino an. Weil dann liegt es 
definitiv an der Software ;-)

Wie sind denn Deine Vorraussetzungen? Du sagst Dein Wissen ist im 
Analogen Bereich. Wie ist das denn zu verstehen? Wüsstest Du nur ein 
paar Sachen oder kannst du auch Hardware bauen? Hast du einen Lötkolben, 
ein Multimeter, Steckbrett und ein paar Bauteile in der Bastelkiste oder 
fängst du da komplett neu an.

Was ist Dir der Einstieg in die neue Welt eigentlich wert? Kannst du ein 
paar Euro investieren?

Schau Dir mal das Buch an:
http://books.google.de/books?id=cZsSO52rLb4C&pg=PA235&lpg=PA235&dq=arduino+lauflicht+hc595&source=bl&ots=Q79xm693xG&sig=5SQYzBzueMXSm7XefnKiiI09lag&hl=de&sa=X&ei=LdV4T7_UDMfHtAa-k9WVBA&ved=0CCMQ6AEwAA#v=onepage&q=arduino%20lauflicht%20hc595&f=false
(Hoffentlich klappt das mit dem Riesen link)
Das ist vom Niveau her so, dass du das deinen Kindern als Gute Nacht 
Geschichte vorlesen kannst.

Aber ich weiß schon wie das ist. Nach der Arbeit die Kids ins Bett 
bringen, die Frau zufrieden stellen (was meist nicht so toll ist wie es 
sich anhört :D) und dann muss man zwischen Bundesliga und Gute Nacht 
Bier noch Lust haben sich aufzuraffen. Aber im Endeffekt lohnt es sich. 
Und jetzt wo du es vollmundig versprochen hast führt kein Weg dran 
vorbei.

Eigentlich hilft gar nichts: Nicht lang schnacken, sondern machen!

Schreib einfach in den Thread, wenn du was nicht verstehst oder eine 
Entscheidungshilfe brauchst. Dann kriegst du auf jeden Fall hier Hilfe. 
Aber solche Anfragen "Ich brauchen Projekt XYZ zum Nachbauen" werden 
hier eigentlich nur belächelt. Erst was machen und wenn was nicht 
funktioniert, fragen.

Viel Erfolg!
Bis wann muss es denn fertig sein?

von oldmax (Gast)


Lesenswert?

Hi
>Mein Wissen liegt in der analogen Elektronikwelt ( Hochfrequenz,
>Antennen, OpAmps Transistor etc.)
>Mit digitalem Kram hab ich mich bisher immer schwer getan...
Digitaltechnik ist doch ar nicht sooo schwer. Sag einfach "Ja" und 
"nein" statt dauernd "vielleicht" ....
Also, ich hab mich mit dem analogen Teil schwer getan und hab immer noch 
Respekt davor. Ok, es soll ja Menschen geben, die sich nicht festlegen 
wollen... mein Chef ist so einer.....
Spass beiseite. Wenn du keine Platzprobleme hast, dann schauch dir mal 
das Datenblett eines Atnmega16 an. Evtl. das Pollin-Board dazu und einen 
AVRISP mkII, um direkt aus AVR-Studio heraus auf'S Board zu flashen. Der 
Grund: Das Pollin-Board hat auch eine RS 232 Schnittstelle und ist mit 
15€ im Bausatz nicht zu teuer. Dazu hast du eine Platine und kannst auch 
andere µC's flashen.
Die RS 232 ist nützlich, wenn du z.B. Lauflichtprogramme über die 
Schnittstelle eintragen willst. Sicherlich nicht sofort, aber mit der 
Zeit kommt der Wunsch...
Grußß oldmax

von Krampfläufer (Gast)


Lesenswert?

CheckR schrieb:

>Wie sind denn Deine Vorraussetzungen? Du sagst Dein Wissen ist im
>Analogen Bereich. Wie ist das denn zu verstehen? Wüsstest Du nur ein
>paar Sachen oder kannst du auch Hardware bauen? Hast du einen Lötkolben,
>ein Multimeter, Steckbrett und ein paar Bauteile in der Bastelkiste oder
>fängst du da komplett neu an.

>Was ist Dir der Einstieg in die neue Welt eigentlich wert? Kannst du ein
>paar Euro investieren?

Meine Vorraussetzungen sind gut, Elektronik ist Beruf ( Entwicklung HF, 
Antennen ) und auch Hobby ( Funkamateur mit Schaltungserfahrung bis 24 
GHz )

Das ist von Kindesbeinen aber halt durch und durch analoges Zeug, 
welches sich auch zum grössten Teil nicht durch Digitalelektronik 
ersetzen lässt.

Ein Vorverstärker für 10 GHz baut man nicht mit AVRs :-)

Daher kann man sagen, dass ich da etwas den Anschluss verpasst habe und 
digitale "Logik" bei mir irgendwie die Hirnwindungen verknotet...

Ich glaube das Hirn ist analog...:-) :-) (deswegen kann man ja auch 
glauben)

aber ich will ja offen für Neues sein. Wer rastet, der rostet.

Es ist mir durchaus etwas Geld wert.

Und meine erste Platine habe ich im alter von 9 Jahren geätzt...und 
gelötet. Bin jetzt 41.

Es stimmt sicher, dass ich erstmal den Einstieg finden muss.
Ich habe als analog Heini immer den Wunsch alles genau zu verstehen.

Bei AVRs u.ä. muss ich aber viel als gegeben hinnehmen und "darf" es 
nicht hinterfragen... soviel habe ich schon mitbekommen. Aber ganau das 
macht mich mürbe.

In der Analogwelt kann ich nicht einfach ne Schaltung bauen, und die 
hinterher lange "debuggen". Dort würde das bedeuten, dass man was 
grundsätzliches nicht verstanden hat...

das mit Pollin klingt gut, das werde ich wohl mal bestellen!

von oldmax (Gast)


Lesenswert?

Hi

>Ich habe als analog Heini immer den Wunsch alles genau zu verstehen.

Beste Vorraussetzung für Assembler.... Da darfst du ruhig "Du" zu den 
Registern sagen. Und ja, ein µC Programm entwickelt schon mal ein 
unerwartetes Eigenleben. Das, was du mit Messgerät gemacht hast, nennt 
man nicht mehr "messen" sondern "debuggen" und das Messgerät it auch 
keins mehr, sondern ein PC. Das hat nur begrenzt etwas mit 
"grundsätzlich falsch" zu tun.
Solltest du dich für Assembler entscheiden, kann ich dir OpenEye 
empfehlen. Hab ich mal vor einiger Zeit hier ins Forum gestellt. Es 
liefert die Variableninhalte zur Laufzeit eines Controllers. So kannst 
du Fehler erkennen und "Irrtümer" aufdecken. Musst halt mal die Suche 
bemühen. Übrigends, mit 41 bist du im besten Alter. Ich bin erst mit 57 
auf die Controller gekommen. Vorher viel diskrete SChaltungen, aber eben 
digital....
Ach ja, meine Frau ist auch analog... ein klares "Ja" ist ihr genauso 
fremd wie ein klares "Nein". Daher glaub ich, wird es nie nich weibliche 
Roboter geben.....
Gruß oldmax

von Krampfläufer (Gast)


Lesenswert?

>Daher glaub ich, wird es nie nich weibliche
Roboter geben.....

Es heisst ja auch DER Roboter ;-))

von CheckR (Gast)


Lesenswert?

Krampfläufer schrieb:
> Bei AVRs u.ä. muss ich aber viel als gegeben hinnehmen und "darf" es
> nicht hinterfragen... soviel habe ich schon mitbekommen. Aber ganau das
> macht mich mürbe.

Es ist Quatsch, dass man nichts hinterfragen darf. Aber man sollte eben 
immer nur das hinterfragen, was man gerade braucht. Wenn du vorher alles 
lernen willst, dann brauchst du 20 Jahre bevor die erste LED blinkt.

Assembler ist vielleicht das, was am hardwarenächsten ist, ist aber für 
einen Einsteiger ohne Programmiererfahrung nicht die erste Wahl. C lässt 
sich doch besser lesen. Und man hat auch direkten Zugriff auf die 
Register. Bzw. muss man die auch genau kennen, um sie zu ansprechen zu 
können.

Du brauchst:
1. Hardware:
- Mikrocontroller: 
http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-8-16-DIP/index.html?;ACTION=3;LA=444;GROUP=A363;GROUPID=2959;ARTICLE=45024;
- 10k Widerstand für Reset (wenn Reset High wird, läuft der Controller 
los)
- 100nF Kondi zwischen VCC und GND gegen Störungen
- und es muss eine 6-polige Pfostenleiste angeschlossen werden.
- als Stromversorgung geregelte 5V (Trafo und 7805, Labornetzteil oder 
USB)
- das man erstmal was sieht eine LED mit Vorwiderstand an einen Port des 
Controllers

Das sollte schnell auf Lochraster zusammengelötet sein.

2. Ein Programmiergerät
- Ich hab den: 
http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/index.html?;ACTION=3;LA=2;ARTICLE=45040;
- es gibt aber auch billigere:
http://www.ebay.de/itm/USB-ISP-Programmer-ATMEL-AVR-ATmega-Attiny-AT-/330657973925

3. Programme
- kostenlos: WinAvr: 
http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download
Das ist der Compiler um aus dem geschriebenen Quelltext das ausführbare 
Programm zu machen.
- kostenlos, aber man muss sich registrieren: AVR Studio 
http://www.atmel.com/tools/ATMELAVRSTUDIO.aspx
um das fertige Programm in den Controller zu schreiben

Nicht quatschen, sondern machen!
:D

von oldmax (Gast)


Lesenswert?

Hi
>Assembler ist vielleicht das, was am hardwarenächsten ist, ist aber für
>einen Einsteiger ohne Programmiererfahrung nicht die erste Wahl. C lässt
>sich doch besser lesen. Und man hat auch direkten Zugriff auf die
>Register. Bzw. muss man die auch genau kennen, um sie zu ansprechen zu
>können.

Und wie es sich darstellt, ist ein µC auch analog, zumindestens was die 
Sprache betrifft, kann man glauben...
Vielleicht würd ich anders reden, wenn ich "C" könnte. Dennoch, ich bin 
überzeugt, das sich jemand, der mit Hardware rumbastelt und nicht von 
der Schule her mit "C" gefüttert wird, sich einigermaßen gut in 
Assembler einfühlen kann. Man  mu hat wissen, das alles nur über 
Register geht. Wenn "C" erlaubt, 2 Variablen direkt zu addieren, so ist 
in Assembler der Umweg über die Register erforderlich.
Variablenwert 1 in ein Register
Variablenwert 2 in ein anderes Regiter
Beide Register addieren
Ergebnis in Variable ablegen

Natürlich macht letztlich ein C-Compilat dasselbe, aber es zeigt sich so 
nicht. Ich komm selbst von der ( digitalen ) Hardware. Meine Versuche, 
mit C anzufangen scheiterten. Selbst BASCOM ist auf der Strecke 
geblieben, obwohl ein Programm in Visual Basic oder Delphi problemlos 
aufzubauen geht. Liegt vielleicht daran, das letztere keine Hardware 
steuern sollen....
Ich weiß es nicht. Daher bleib ich hier beim Tip mit Assembler. Wenn der 
Wunsch nach mathematischen Berechnungen im Controller aufkommt, ist 
sowieso klar, das eine Hochsprache her muss. Mathematik in Assembler 
würd ich mir auch nicht unbedingt antun wollen.
 Gruß oldmax

von CheckR (Gast)


Lesenswert?

oldmax schrieb:
> Und wie es sich darstellt, ist ein µC auch analog, zumindestens was die
> Sprache betrifft, kann man glauben...
???

> Register geht. Wenn "C" erlaubt, 2 Variablen direkt zu addieren, so ist
> in Assembler der Umweg über die Register erforderlich.
> Variablenwert 1 in ein Register
> Variablenwert 2 in ein anderes Regiter
> Beide Register addieren
> Ergebnis in Variable ablegen
... deshalb
> sowieso klar, das eine Hochsprache her muss. Mathematik in Assembler
> würd ich mir auch nicht unbedingt antun wollen.
und deshal würde ich für den Anfang nicht empfehlen

Aber lassen wir Krampfläufer doch erstmal anfangen, dann kann er selbst 
entscheiden. Sind halt persönliche Vorlieben. Es gibt hier sogar einen 
Artikel http://www.mikrocontroller.net/articles/ASM_vs_C und jede Menge 
Threads. Wenn die Hardware vorhanden ist kann er ja beides probieren. 
Für C geb ich gern Starthilfe.

> geblieben, obwohl ein Programm in Visual Basic oder Delphi problemlos
> aufzubauen geht. Liegt vielleicht daran, das letztere keine Hardware
> steuern sollen....
Und das Programm steuert wohl keine Hardware? Am PC haste Dich nur schon 
dran gewöhnt auf einer höheren Schicht zu arbeiten.

@Krampfläufer: Das Pollin Board ist gut. Das hat ein Kollege von mir 
auch nur kannst du die serielle Schnittstelle nicht mit dem AVR Studio 
nutzen. Dafür braucht es entweder avr-dude (Konsolenprogramm) oder 
PonyProg (das ist irgendwie aus dem vorigen Jahrtausend). Der Kollege 
hat nur einen Laptop mit USB und über einen USB-RS232 Adapter ließ es 
sich nicht überreden zu programmieren. Deswegen die Empfehlung mit dem 
Programmer.

von oldmax (Gast)


Lesenswert?

Hi
Noch mal ich. Ich sollte mir wieder angewöhnen, ganze Sätze zu 
schreiben. Wenn man's noch mal nachliest, war einiges nicht wirklich so 
zu verstehen, wie ich es meinte. Natürlich steuert jede Software 
irgendwie auch Hardware, aber kaum jemand registriert noch die eifrigen 
Bemühungen einer Festplatte oder das Bitgeschubse in der Grafikkarte. Es 
sind eigentlich nur die bunten Bilder, die man zu sehen bekommt und da 
denkt doch kein Schwein an Hardware.
Ok, genug davon, mal kurz zum Thema.
Das Pollin-Board besitze ich auch und hab mich anfangs auch mit ponyProg 
rumgequält. Irgendwann hatte ich die Nase voll und hab mir in der Bucht 
für 20 € einen USB-ISP-Stick besorgt. Der geht vom Studio aus und ist 
einfach auf die ISP-Stiftleiste aufzustecken. Ist auch um etliches 
flotter. Als, egal, wo du dich wieder findest, hast du erst einmal die 
Vorzüge der µC's entdeckt, wird es dich so schnell nicht wieder 
loslassen.
Gruß oldmax

von MCUA (Gast)


Lesenswert?

>Mein Wissen liegt in der analogen Elektronikwelt ( Hochfrequenz,
>Antennen, OpAmps Transistor etc.)
Dann mach es doch mit OPs. Geht schneller als complett neu in 
uC-Hardware- und -Programmierung einzusteigen. (Früher gab es sogar 
Analog-Rechner. Geht auch heute noch)

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.