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!
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
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.
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 ).
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ß
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
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...
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.
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.
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?
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
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!
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
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
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
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.
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
>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)