Einstieg

Hier kann alles andere besprochen werden. Software, Treffen, oder Projekte wie Kippenlights, GroggyClock, usw.
Antworten
matthias
BlinkenNewbie
BlinkenNewbie
Beiträge: 5
Registriert: Mi Jul 05, 2006 5:47 pm

Einstieg

Beitrag von matthias » Mi Jul 05, 2006 5:53 pm

Hallo!

Erstmal: ich finde eure Seiten wirklich klasse - Respekt! Wie ich darauf gestoßen bin, weiß ich auch nicht mehr.. eventuell nur aus Langeweile. Blinkenlights + Arcade kannte ich vorher schon - die Begeisterung dafür ist groß und auch für einen Nachbau interessiere ich mich tierisch!

Meine (doofen) Fragen: Wie findet man denn den Einstieg in solche tollen [Miniatur-/Nachbau-]Projekte. Konntet ihr alle schon perfekt mit Mikrocontrollern umgehen? Wie kamt ihr dazu? Eine Mitgliedschaft im CCC? Bestimmt ist eien gewisse Experimentierfreude nötig, die wäre bei mir allerdings schon da. Allerdings happerts bei mir wohl noch in der Praxis. Ich versuchte einst einen Atmel ATmega 8 zu programmieren, irgendwie funktioniert der selbstgebastelte Programmieradapter bis heute nicht - deprimierend. Das hält einen echt davon ab irgendwie weiter zu machen. :(

Ich würde es jetzt allerdings schon gerne nochmal probieren. Am Anfang evtl. einfach nur LEDs an einzelnen Ports ansteuern. Dann würde mich mal interessieren, wie das mit so einer Matrix funktioniert und verschiedensten Teilen, die sich da Multiplexer, Schieberegister und was weiß ich wie nennen und wo sie wie eingesetzt werden müssen. Könnt ihr mir irgend eine Einstiegsseite nennen? Wäre echt genial.

Vielen Dank schonmal. Werde mal noch brav weiter im Forum lesen und auf eurer Seite! ;) Eventuell wird's ja diesmal was - wäre auf jeden Fall toll! :)

Macht weiter so! ;)
Gruß Matthias

Benutzeravatar
stefan
Blinkenizer
Blinkenizer
Beiträge: 234
Registriert: Mi Okt 09, 2002 9:45 pm
Wohnort: Aachen
Kontaktdaten:

Beitrag von stefan » Mi Jul 05, 2006 9:06 pm

Hallo Matthias,

als ich auf dem 18C3 Blinkenlights ah, konnte ich schon mit ein paar Mikrocontrollern umgehen - das kam aber nicht vom CCC.

Trotzdem gibt es dort einige Vorträge, um mal in die Materie einzusteigen, z.B. den exzellenten ATMEGA8-Vortrag von fd0:
http://events.ccc.de/congress/2005/fahr ... 82.en.html
http://events.ccc.de/congress/2005/fahr ... ummies.pdf

Wenn ich jetzt wüsste, wo man das Video dazu herbekommt...

Gruß,
Stefan

Benutzeravatar
ST
BlinkenProfi
BlinkenProfi
Beiträge: 93
Registriert: Mo Jun 23, 2003 8:26 pm
Wohnort: Stuttgart
Kontaktdaten:

Re: Einstieg

Beitrag von ST » Do Jul 06, 2006 9:20 am

Hi Matthias,

Danke für Dein Lob. :-)

> Wie findet man denn den Einstieg in solche tollen
> [Miniatur-/Nachbau-]Projekte.

Bei mir war es die erste Blinkenlights Installation, ich fand das so toll das ich so ein Haus für zu Hause haben wollte.

> Konntet ihr alle schon perfekt mit Mikrocontrollern umgehen?

Ich glaube Perfektion beansprucht von uns keiner, außer 1stein der ist ganz dicht dran. ;-) Ansonsten kann ich nur sagen, das man beim "machen" lernt.

> Eine Mitgliedschaft im CCC?

Die wenigsten von uns sind CCC Mitglieder.

> Allerdings happerts bei mir wohl noch in der Praxis. Ich versuchte einst
> einen Atmel ATmega 8 zu programmieren, irgendwie funktioniert der
> selbstgebastelte Programmieradapter bis heute nicht - deprimierend. Das
> hält einen echt davon ab irgendwie weiter zu machen. :(

Das klingt nicht so als würde es an der "Praxis" hapern, sondern an Deinem Ehrgeiz bzw. Durchhaltevermögen. Ist nicht böse gemeint, aber viele Leute geben einfach zu schnell auf wenn sie nicht alles auf einem "Tablett serviert" bekommen. Benuzte google oder andere Suchmaschinen, wenn Du konkrete Fragen hast stell sie bei uns. Stecke Dir kleine Ziele am Anfang und gib nicht gleich auf wenn mal "irgendwie nicht funktioniert".

> Könnt ihr mir irgend eine Einstiegsseite nennen?

Du hast das sehr allgemein formuliert, ich kenne dafür keine Einstiegsseite. Schau Dir die Bauteile und Verfahren doch mal in der Wikipedia an, da gibt es auch immer weiterführende Links.

Ansonsten findest Du hier noch ein paar Aufzeichnungen die Dir vielleicht etwas Einblick geben: https://wiki.blinkenarea.org/bin/view/B ... AudioVideo

Den AVR Vortrag den 1stein genannt hat findest Du als Video hier:

Atmel AVR für Dummies von fd0
Was ist denn nun eigentlich so ein 'Interrupt'?
http://media.ccc.de/filez/congress/2005 ... ummies.m4v

Audio gibts hier:
http://media.ccc.de/filez/congress/2005 ... ummies.mp3


Viele Grüße

[STephan]

matthias
BlinkenNewbie
BlinkenNewbie
Beiträge: 5
Registriert: Mi Jul 05, 2006 5:47 pm

Beitrag von matthias » Fr Jul 07, 2006 7:38 pm

Hallo! Vielen Dank für eure Antworten! :D

Also ich hatte mir mikrocontroller.net + roboternetz.de schon relativ genau angeschaut und mit dem "Tutorial" begonnen. Wie gesagt gibt's leider irgendwie Probleme mit dem ISP - hab vorhin nochmal alle Verbindungen durchgemessen... sollte eigentlich klappen. Hab' allerdings den IC herausgelötet, der könnte kaputt sein. Meine stabile 5 V-Spannung geht leider allerdings auch nicht mehr. :( Die ging allerdings mal. Lohnt sich evtl. der Kauf eines Netzteils? Doof ist nur, dass die Sache "langsam" kostenintensiv ist und ich nix fertig krieg - das deprimiert ein wenig. :(

Danke auf jeden Fall schonmal.

Benutzeravatar
stefan
Blinkenizer
Blinkenizer
Beiträge: 234
Registriert: Mi Okt 09, 2002 9:45 pm
Wohnort: Aachen
Kontaktdaten:

Beitrag von stefan » Sa Jul 08, 2006 3:30 pm

Hallo matthias,

eine auf jeden Fall funktionierende Spannungsversorgung (a.k.a. gekauftes Netzteil) kann schonmal nicht schaden und ist auch nicht so teuer.

z.B. Reichelt "SNT 1000" 11.80

Ich verwende als ISP-Programmieradapter immer ein passives Kabel zum Parallelport gemäß STK200-Belegung. Die 5V nehme ich immer aus der Ziel-Schaltung, in der Mikroprozessor ja auch 5V bekommen muss. Damit hatte ich noch nie Probleme.

Gruß,
Stefan

matthias
BlinkenNewbie
BlinkenNewbie
Beiträge: 5
Registriert: Mi Jul 05, 2006 5:47 pm

Beitrag von matthias » Mo Okt 30, 2006 4:56 pm

So.. jetzt melde ich mich nach langer, langer Zeit mal wieder.

Wollte letztens auf eure Seite, dann war die leider down. Zum Glück war das nur ein kleine Ausfall, wie ich heute nachgelesen hab'. Ich muss euch mal wieder loben - war jetzt schon ewig nicht mehr auf euren Seiten, aber vor allem die neuen Blogeinträge, etc. - super! Ich liebe eure Seiten! :D

Hab' heute mal wieder einen spontanen Schritt Richtung eingenes blinkenWhateverMini gestartet. Spontan - ohne große Kentnisse. Mich trieb die Neugierde.

Ein paar LEDs rausgekramt.. bisschen gelötet und probiert. Was ich jetzt habe ist eine kleine 3x3-LED-Matrix. "Funktioniert" (na ja gut, n und p richtig zusammen zulöten ist keine Kunst). :D Hat mich irgendwie ein bisschen gefreut. Wollte dann doch noch ein paar Verständnisfragen "klären".

Und zwar.. für das ansteuern einer einzelnen LED brauche ich schon zwei "Schalter".. sprich an jedem Ende eines oder (eines für Spalte, eines für Zeile). Sonst leuchten ja mehrere, oder? Ist ja dann quasi eine UND-Schaltung? Für die LED muss sowohl der Schalter für die Zeile UND für die Spalte an sein, richtig? Ansonsten grübel ich gerade noch, wo ich die Widerstände reinlöte.. hab gesehen pro Zeile/Reihe reicht scheinbar einer. Aber da werd' ich ggf. demnächst noch tüfteln, ist jetzt nicht so wichtig.

Dann.. habe ich es schon richtig erkannt, dass diese Matrix-Schaltung mit Zeilen und Reihen günstig ist, um (Ein-/)Ausgänge an dem µC zu sparen? Alles andere wäre ja quasi auch Verschwendung.

Wenn ich jetzt hier eine Matrix mit m Zeilen und n Spalten habe, dann brauche ich ja quasi nur m+n Schalter, richtig? Anstatt wenn ich jede LED einzeln ein-/ausschalten möchte bräuchte ich ja (m*n)/2, oder nicht? :) [Ist mir jetzt nur wichtig fürs Verständnis.]

Mit dem Programmieren bin ich noch nicht wirklich weit.. sprich wenn, dann erst am Anfang. Ein Freund hat mir hier sein kleines Testboard geliehen. Hab' heute mal wieder WinAVR + misc installiert, will aber leider noch nicht wieder so ganz (muss ich nochmal fragen wie das genau geht).

Edit: ach ja.. die Schieberegister.. wie die funzen dann.. dass muss ich mir auch nochmal genauer anschauen, bzw. wie man sie hier verwendet.

Edit: okay.. ich schau' grad mal euren Vortrag von 2004 an. Leider das Bild vom Desktop/Beamer nicht drauf. Prinzipiell die Frage zum Schieberegister: vom einen Bild zum anderen was man zum Schluss sieht, ist die Taktrate da so hoch, dass alle Bits weitergeschoben werden und alle ersetzt werden durch "neue"?

Ansonsten: vielen Dank!
Macht weiter so - supertolle Projekte! ;)

Benutzeravatar
stefan
Blinkenizer
Blinkenizer
Beiträge: 234
Registriert: Mi Okt 09, 2002 9:45 pm
Wohnort: Aachen
Kontaktdaten:

Beitrag von stefan » Mo Okt 30, 2006 9:30 pm

Das ist alles richtig, nur eine Kleinigkeit: Zum schalten von n*m LEDS brauchst Du n*m Schalter, nicht nur (n*m)/2.

Die Matrixschaltung verwendet dabei einen Trick: Es wird immer nur eine Zeile angeschaltet. Das wird nacheinander mit allen Zeilen des Bildes gemacht. D.h. man schaltet eine Zeile ein und die Spalten der Pixel, die in dieser Zeile an sein sollen. Dadurch, dass man das sehr schnell für alle Zeilen hintereinander macht, sieht man ein Bild.

Am einfachsten Vorstellen kann man sich das an einer (gedachten) Matrix aus 2x2 LEDs. Wenn man da nur die LED 2,2 aus haben will und alle anderen an, dann geht das nicht gleichzeitig: Da in beiden Zeilen eine LED leuchtet, müssten beide Zeilen an sein. Da in beiden Spalten eine LED leuchtet, müssten beide Spalten an sein. D.h. es wären alle LEDs an. Daher schaltet man die Zeilen nacheinender durch.

Das Einschalten der Zeilen nacheinander erklärt auch das Widerstands-Problem. Da immer nur eine Zeile gleichzeitig an ist, kann man die Widerstände einfach in die Spalten einbauen. Die Spalten teilen sich dann einen Widerstand - jede LED bekommt den in der Zeit, wo ihre Zeile dran ist.

In unserem BLINKENmini-Vortrag haben meine Freundin und ich die Funktionsweise der Schieberegister grob erklärt:
http://blinkenmini.schuermans.info/vort ... in.tar.bz2

Gruß,
Stefan

matthias
BlinkenNewbie
BlinkenNewbie
Beiträge: 5
Registriert: Mi Jul 05, 2006 5:47 pm

Beitrag von matthias » Mo Okt 30, 2006 11:19 pm

Hallo Stefan! Dankeschön!

Auf das wäre ich gar nicht gekommen mit der 2x2-Matrix wo eine LED aus sein soll. Das bringt mich einen großen Schritt weiter im Verstehen.

Ich gehe also wirklich zeilenweise durch und schalte diese Spalte "ein" und alle anderen "aus". Und dann noch die zugehörigen Spalten.

Danke. Die Folien hab' ich mir eben heruntergeladen - durchsteigen tu ich (noch) nicht, aber eventuell ist die Uhrzeit auch nicht mehr die beste dafür.

Auf jeden Fall kann ich's mir jetzt besser vorstellen! :)

Benutzeravatar
stefan
Blinkenizer
Blinkenizer
Beiträge: 234
Registriert: Mi Okt 09, 2002 9:45 pm
Wohnort: Aachen
Kontaktdaten:

Beitrag von stefan » Di Okt 31, 2006 8:25 pm

Ich mach' nochmal ein Beispiel: 3x3 LEDs mit Kathode an Zeile und Anode an Spalte.

Es soll eine diagonale Linie angezeigt werden.

+/- Zeile/Spalte ist Plus bzw. Minus
0/1 LED ist aus/ein

Folgende 3 Bilder werden schnell hintereinander angezeigt:

Code: Alles auswählen

 +--    -+-    --+
-100   +000   +000
+000   -010   +000
+000   +000   -001
Man sieht das hier:

Code: Alles auswählen

100
010
001
EDIT: 3. Bild korrigiert (s. nächstes Posting) - Danke
Zuletzt geändert von stefan am Mi Nov 01, 2006 1:30 pm, insgesamt 1-mal geändert.

matthias
BlinkenNewbie
BlinkenNewbie
Beiträge: 5
Registriert: Mi Jul 05, 2006 5:47 pm

Beitrag von matthias » Mi Nov 01, 2006 10:40 am

Jupp.. hatte ich schon verstanden soweit, danke. Mich nur entweder ungünstig ausgedrückt - oder woanders was nicht verstanden. Der µC läuft übrigens. :D

Code: Alles auswählen

 +--    -+-    --+
-100   +000   +000
+000   -010   +000
+000   +000   -001
Hattest einen kleinen "Fehler" beim letzten Bild. :)

Antworten