Forum: Mikrocontroller und Digitale Elektronik Absoluter Anfänger


von Stefan (bunneb)


Lesenswert?

Hallo zusammen,

Ich war schon immer Technik begeistert und habe privat immer etwas mit 
LED gemacht. Strom an/Led an.
Ich war die Tage bei uns in Nürnberg auf Erfindermesse und da waren ein 
paar Stände mit Programmierer.
Ich hatte schon immer Lust auf ein "Projekt" mit einem Mikrocontroller. 
Ich habe mich etwas eingelesen und nun kommen die ersten Fragen auf.

Angenommen ich habe 35 Leds, diese sollen nacheinander angehen, sprich 
1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led

Benötige ich dann einen Mikrocontroller mit 35 OI Anschlüssen, um jede 
Led einschalten zu können.
Ein kleiner einfacher soll der ATTiny13 sein, dieser hat nur 6. Ist 
soetwas damit möglich, oder habe ich hier einen Denkfehler?

Meine 2. Frage bezieht sich darauf, ob das Programm auf dem 
Mikrocontroller gespeichert ist, sprich ich mache ihn Stromlos, stecke 
ihn 2 Tage später wieder in den Sockel, geht das danach wieder oder 
gehen die Daten da verloren?

Diese 2 Antworten würden mir schon am Anfang ganz wenig Klarheit 
schaffen, danke euch!
Lg
Stefan

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Stefan schrieb:
> Angenommen ich habe 35 Leds, diese sollen nacheinander angehen, sprich
> 1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led
>
> Benötige ich dann einen Mikrocontroller mit 35 OI Anschlüssen, um jede
> Led einschalten zu können.
> Ein kleiner einfacher soll der ATTiny13 sein, dieser hat nur 6. Ist
> soetwas damit möglich, oder habe ich hier einen Denkfehler?

Das kannst du mit einem (bzw. mehreren) Schieberegister(n) 
(https://de.wikipedia.org/wiki/Schieberegister) machen, benötigt nur 2 
IO Pins vom ATtiny13A

> Meine 2. Frage bezieht sich darauf, ob das Programm auf dem
> Mikrocontroller gespeichert ist, sprich ich mache ihn Stromlos, stecke
> ihn 2 Tage später wieder in den Sockel, geht das danach wieder oder
> gehen die Daten da verloren?

Verliert dein USB-Stick die Daten wenn er vom Rechner abgezogen wird? 
Nein, der Flash hält die Daten auch ohne Strom, der Mikrocontroller 
benutzt ebenfalls Flash als Programmspeicher.

: Bearbeitet durch User
Beitrag #7239258 wurde von einem Moderator gelöscht.
von Gerald K. (geku)


Lesenswert?

Stefan schrieb:
> Benötige ich dann einen Mikrocontroller mit 35 OI Anschlüssen, um jede
> Led einschalten zu können.
> Ein kleiner einfacher soll der ATTiny13 sein, dieser hat nur 6. Ist
> soetwas damit möglich, oder habe ich hier einen Denkfehler?

Man kann die LEDs in einer Matrix ansteuern (multiplexen).
Z.B. 8x5 Matrix

Stefan schrieb:
> Meine 2. Frage bezieht sich darauf, ob das Programm auf dem
> Mikrocontroller gespeichert ist, sprich ich mache ihn Stromlos, stecke
> ihn 2 Tage später wieder in den Sockel, geht das danach wieder oder
> gehen die Daten da verloren?

Das Programm steckt im Flashspeicher des MCs. Der Inhalt bleibt nach dem 
Abschalten der Spannung erhalten.

von Wühlhase (Gast)


Lesenswert?

Stefan schrieb:
> Benötige ich dann einen Mikrocontroller mit 35 OI Anschlüssen, um jede
> Led einschalten zu können.
> Ein kleiner einfacher soll der ATTiny13 sein, dieser hat nur 6. Ist
> soetwas damit möglich, oder habe ich hier einen Denkfehler?

Schau mal, was man mit Multiplexing erreichen kann:
https://de.wikipedia.org/wiki/Multiplexverfahren

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

1.
um mehrere LED (z.B. deine erwähnten 35 Stück) anzusprechen, empfiehlt 
sich eine Matrix-Anordnung der LED. Lies diesen Artikel durch:

https://www.mikrocontroller.net/articles/LED-Matrix

man braucht für 35 LED also  6 x 6 = 26 -> 12 Pins

ein besonders effizientes Multiplexing Verfahren ist "Charlieplexing"
https://schuelerunterlagen.de/charlieplexing

man kann dann mit n Portpins n x (n-1) LED ansteuern. Also z.B. mit 7 
Pin ergeben sich 7 x (7-1) = 42 einzeln ansteuerbare LED.

2.
dein programm muss / wird in einen nichtflüchtigen, wiederbeschreibbaren 
Sseicher gespeichert, auf den dein Mikrocontroller zugreift. Wie die 
Dinge, welche du auf einem USB-Stick speicherst.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Ernsthaft Leute, Multiplexen um LEDs nacheinander(!) einzuschalten?

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Gerald K. schrieb:
> Man kann die LEDs in einer Matrix ansteuern (multiplexen).
> Z.B. 8x5 Matrix

Man kann aber auch einfach was Zeitgemäßeres verwenden:-)
- https://www.mikrocontroller.net/articles/WS2812_Ansteuerung
- https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf

Das kann man wenigstens nach belieben erweitern...

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


Lesenswert?

Tim T. schrieb:
> Ernsthaft Leute, Multiplexen um LEDs nacheinander(!) einzuschalten?

Kunde wünscht sich Bargraph und nicht Dot. Um den Bauteileaufwand klein 
zu halten, bietet sich doch Multiplexing an. Allerdings sollte man ein 
Auge auf den Strom haben, der durch so einen Pin fliesst und evtl. 
buffern.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> Tim T. schrieb:
>> Ernsthaft Leute, Multiplexen um LEDs nacheinander(!) einzuschalten?
>
> Kunde wünscht sich Bargraph und nicht Dot. Um den Bauteileaufwand klein
> zu halten, bietet sich doch Multiplexing an. Allerdings sollte man ein
> Auge auf den Strom haben, der durch so einen Pin fliesst und evtl.
> buffern.

Nein, Kunde will erstmal nur einschalten, was das Ausschalten angeht ist 
noch nichts gesagt. Selbst wenn, ist es kein Problem bei 35 LEDs diese 
so schnell komplett durchs Schieberegister zu schieben, dass man es 
nicht sieht und nur die "statischen" Muster gesehen werden.

von someone (Gast)


Lesenswert?

Die Möglichkeit der LED-Ansteuerung mittels Schieberegistern und 
Multiplexing wurde ja bereits angesprochen.

Ich will jedoch einwerfen, dass der Attiny13 kein Microcontroller für 
Anfänger ist. Er hat zu wenige Anschlüsse und zu wenig Speicher, da muß 
man schon genau wissen, was man tut. Als Anfänger besorgst Du Dir am 
Besten einen Arduino. Der ist für viele Aufgaben zwar überdimensioniert, 
Du brauchst allerdings kein Programmiergerät und es gibt viele 
Anleitungen dazu. Auf dem Arduino arbeitet auch nur ein ATMega328, der 
dem Attiny recht ähnlich ist. Wenn Du Lust hast, kannst Du den Arduino 
auch ohne Arduino-Library nach dem Datenblatt des Microcontrollers 
programmieren, wie Du das mit dem Attiny machen müsstest. Wenn Du keine 
Lust hast, nutzt Du einfach die Arduino-Library, hast etwas weniger 
effizienten Code und etwas weniger Kontrolle, aber dafür schnellere 
Resultate. Arduino ist hier bei manchen grundlos verschrien, aber die 
haben einfach nicht recht.

von Bernd K. (bmk)


Lesenswert?

Stefan schrieb:
>
> Angenommen ich habe 35 Leds, diese sollen nacheinander angehen, sprich
> 1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led

Ich schließe mich dem Vorschlag von 'Irgend W.' an mit dem WS2812B.
Zum Ansteuern ist der Arduino, gerade für Anfänger, ideal geeignet.

Der WS2812 enthält 3 LEDs RGB und einen integrierten Controller. Er (und 
alle weiteren in der Kette) werden vom Arduino mit einem Telegramm 
gefüttert, in dem steht, was diese jeweils zu tun haben; bezüglich der 
gewünschten Farbe und Helligkeit.

Hört sich vielleicht kompliziert an, ist es aber nicht.
Im Arduino schreibt man ein Programm, Sketch genannt, was zu tun ist.
Da gibt es unzählige Beispiele, die man laden und testen kann.

In deinem Beispiel programmiert man den Arduino, dass der erste WS2812 
leuchten soll. Dann 1 sec Pause. Dann sollen WS2812 1+2 leuchten. 1 sec 
Pause. Dann 1+2+3 usw. bis letzlich alle 35 leuchten.

Dann vielleicht das Ganze rückwärts? Und in verschiedenen Farben?
Alles kein Ding. Kommt man recht schnell rein.

Edit: Da war einer schneller.

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

Tim T. schrieb:
>> Kunde wünscht sich Bargraph und nicht Dot. Um den Bauteileaufwand klein
>> zu halten, bietet sich doch Multiplexing an. Allerdings sollte man ein
>> Auge auf den Strom haben, der durch so einen Pin fliesst und evtl.
>> buffern.
>
> Nein, Kunde will erstmal nur einschalten, was das Ausschalten angeht ist
> noch nichts gesagt.

Doch, ist es:

Stefan schrieb:
> 1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led

Das heißt, da wird nix ausgeschaltet, bis die 35. LED an ist.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> Ein kleiner einfacher soll der ATTiny13 sein
Was zwängst du dich gleich zu Beginn in die engsten Schuhe, die du 
findest?
Nimm den, den jeder nimmt und der auf dem Arduino drauf ist: ATmega328.

> Meine 2. Frage bezieht sich darauf, ob das Programm auf dem
> Mikrocontroller gespeichert ist, sprich ich mache ihn Stromlos, stecke
> ihn 2 Tage später wieder in den Sockel, geht das danach wieder oder
> gehen die Daten da verloren?
Ach bitte, nimm irgendein beliebiges Buch zur AVR-Architektur (und wenn 
es das Datenlbatt des Controllers deiner Wahl ist) und lies das durch. 
Diese simple Frage wird in diesem x-beliebigen Buch gleich ziemlich weit 
vorne beantwortet.

> Angenommen ich habe 35 Leds, diese sollen nacheinander angehen, sprich
> 1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led
Wie wäre es denn, wenn du einfach mal anfängst und das Ganze mit 1 LED 
machst? Dann lässt du die LED blinken mit delay() und dann mit Timer und 
danach noch mit dem Timerinterrupt.

Dann machst du das mit 4 LEDs und da drauf ein Lauflicht mit Mustern.

Danach überlegst du dir, wie es mit vielen LEDs weitergehen könnte. Und 
ja, das Problem ist so derartig trivial, dass Google sofort tausende von 
Lösungen findet: 
https://www.google.com/search?q=io+erweiterung+mikrocontroller

von A. S. (Gast)


Lesenswert?

Vergiss multiplexing und Co!

Lerne eine LED mit irgendeinem uC an- und auszumachen.

Das ist die einzige Hürde.

Wenn Du das kannst, gibt es zahlreiche Wege, 35 Stück anzusteuern:

 * Ein uC mit 35 IO
 * Schieberegister
 * Spezielle LED-ICs, die Vorwiderstand und Helligkeitssteuerung schon 
eingebaut haben
 * Digitale LEDs zum aneinanderreihen
 * Multiplexing/Charliplexing
 * ...

Wenn Deine erste LED blinkt, sind 35 ein Kinderspiel.

von Peter D. (peda)


Lesenswert?

Bernd K. schrieb:
> Ich schließe mich dem Vorschlag von 'Irgend W.' an mit dem WS2812B.
> Zum Ansteuern ist der Arduino, gerade für Anfänger, ideal geeignet.

Der große Nachteil ist allerdings, man pappt ne Lib in den MC und hat 
immer noch nicht die geringste Ahnung, was da in Software und Hardware 
überhaupt passiert. Das WS2812 Protokoll ist definitiv kein Einstieg, 
wenn man etwas lernen will.

Als Anfänger sollte man erstmal ganz klassisch ne LED mit Vorwiderstand 
anschalten.

von Armin K. (-donald-) Benutzerseite


Lesenswert?

A. S. schrieb:
> Lerne eine LED mit irgendeinem uC an- und auszumachen.
>
> Das ist die einzige Hürde.
>
> Wenn Du das kannst, gibt es zahlreiche Wege, 35 Stück anzusteuern:
>
>  * Ein uC mit 35 IO

Das ist auch mein Tipp. Wenn du keinen uC mit 35 Pins findest, nimm 
weniger und fang einfach mal an.
Wenn du mal drin bist kannst du dir Gedanken und Übungen mit 
Schieberegister und Multiplexing machen.

von HildeK (Gast)


Lesenswert?

Stefan schrieb:
> Benötige ich dann einen Mikrocontroller mit 35 OI Anschlüssen, um jede
> Led einschalten zu können.
Trivial: ja. Den gibt es aber vermutlich gar nicht.
Andere Vorschläge wurden genannt, aber für dich, der du dich selbst als 
Anfänger siehst, sind einige der Vorschläge (Multiplex, WS2812) sicher 
ohne externe Hilfe (Codeschnipsel aus dem Netz ...) nicht ohne weiteres 
umsetzbar.
Noch am einfachsten wäre es mit dem Schieberegistervorschlag. Der 
erfordert aber fünf externe Zusatzbausteine (74HC164). Vorschlag für 
diese Variante: probiere es erst mal mit einem Schieberegister ...

> Ein kleiner einfacher soll der ATTiny13 sein, dieser hat nur 6. Ist
> soetwas damit möglich
Möglich ist es, die Vorschläge wurden genannt. Wenn du einen der 
Vorschläge umsetzen willst: nimm nicht den ATTiny13 sondern z.B. den 
ATTiny85. Die sind sich sehr ähnlich mit dem großen Vorteil, dass der 
'85 wesentlich mehr Flash und RAM hat. An der Stelle wäre Sparen fehl am 
Platz zumal die Preisunterschiede absolut gesehen dich nicht in Armut 
stürzen würden 😀.

Peter D. schrieb:
> Der große Nachteil ist allerdings, man pappt ne Lib in den MC und hat
> immer noch nicht die geringste Ahnung, was da in Software und Hardware
> überhaupt passiert. Das WS2812 Protokoll ist definitiv kein Einstieg,
> wenn man etwas lernen will.
Selbst wenn man sich den Part zur Ansteuerung eines WS2812-Stripes aus 
dem Netz holt: es bleiben für einen Anfänger noch immer genügend Hürden 
(Timing, Bereitstellung der Daten, Einbinden der Lib), die das einfache 
An- und Abschalten nur weniger LEDs übertreffen.

von Profi (Gast)


Lesenswert?

Nimm für eine LED einen Raspberry Pi. Du kannst diese ganz einfach über 
Ethernet in einem Mesh zusammenschalten. Somit kannst du auch gleich 
übers Internet quasi von jedem beliebigen Ort der Welt aus deine LEDs 
steuern.

von Alexander (alecxs)


Lesenswert?

Du meinst einen Raspberry Pi für jede LED

von Rolf M. (rmagnus)


Lesenswert?

Peter D. schrieb:
> Bernd K. schrieb:
>> Ich schließe mich dem Vorschlag von 'Irgend W.' an mit dem WS2812B.
>> Zum Ansteuern ist der Arduino, gerade für Anfänger, ideal geeignet.
>
> Der große Nachteil ist allerdings, man pappt ne Lib in den MC und hat
> immer noch nicht die geringste Ahnung, was da in Software und Hardware
> überhaupt passiert.

Das entspricht allerdings dem Arduino-Gedanken.

> Das WS2812 Protokoll ist definitiv kein Einstieg, wenn man etwas lernen
> will.
>
> Als Anfänger sollte man erstmal ganz klassisch ne LED mit Vorwiderstand
> anschalten.

Genauso sehe ich das auch. Für den Anfang müssen es ja auch nicht gleich 
35 Stück sein. Erstmal ein paar LEDs an Port-Pins, wo man die Kette von 
der Anweisung im Code bis zu "LED leuchtet auf" leicht vollständig 
verstehen kann. Darauf baut man dann auf, ob mit Libs und Protokollen 
oder Multiplexing oder eigenem LED-Controller kann man sich dann immer 
noch aussuchen.

von Peter N. (alv)


Lesenswert?

Raspberry Pi (zero) würde mich intressieren.
Ich habe kaum Ahnung von Linux, keine Programmierkenntnisse.

Wo gibt es deutschsprachiges Lernmaterial (zu downloaden)?

von Steve van de Grens (roehrmond)


Lesenswert?

Ich finde, dass der ATtiny13 zum Anfangen verlockend ist, weil er 
weniger Funktionen hat und daher auch ein weniger umfangreiches 
Datenblatt.

Aber: Schon der Anschluss des Programmieradapters wird kniffelig. Von 
den 5 freien Pins muss man dafür nämlich 3 belegen. Bleiben nur noch 2 
übrig. Wenn dir das für den Anfang reicht: OK, go for it.

Wer ein bisschen Erfahrung in Sachen Digitalelektronik hat, kann diese 
Pins unter gewissen Einschränkungen (die er versteht) doppelt belegen. 
Oder man nimmt den ATtiny zum Programmieren immer aus der Schaltung 
heraus (so hatte ich das damals gemacht). Knackpunkt: Irgendwann wird 
der IC Sockel wackelig. Auch dagegen gibt es eine Lösung, nur muss man 
sich fragen, wie viele Workarounds man sich ausgerechnet am Anfang antun 
will.

Das ein kürzeres Datenblatt einfacher verständlich sei, trifft auf die 
mir bekannten AVR jedoch nicht zu. Denn man muss sich eh nur mit den 
Kapiteln beschäftigen, die man gerade benutzen will. Nach einem Reset 
ist der ganze Chip bereits so initialisiert, dass man alle I/O Pins als 
solche nutzen kann. Alle Spezialfunktionen (Timer, ADC, Serielle 
Schnittstellen, ...) sind erstmal deaktiviert, sie stören daher nicht.

Insofern schließe ich mich den Leuten an, die für den Anfang einen 
größeren Mikrocontroller empfehlen. Ich mag den ATmega328 in Form eines 
Arduino Nano Moduls (muss nicht Original sein).

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Peter N. schrieb:
> Wo gibt es deutschsprachiges Lernmaterial (zu downloaden)?

Als Elektronik- und/oder Softwareentwickler musst du dich mit Englisch 
anfreunden. Daran führt in diesem Jahrtausend kein Weg mehr vorbei. 
Vereinzelt gibt es Sachen auf Deutsch, aber die decken in der Regel nur 
einen kleinen Teilbereich dessen ab, was man lernen sollte.

von Gerald K. (geku)


Lesenswert?

Peter N. schrieb:
> Raspberry Pi (zero) würde mich intressieren.
> Ich habe kaum Ahnung von Linux, keine Programmierkenntnisse.
> Wo gibt es deutschsprachiges Lernmaterial (zu downloaden)?

**Für den Einstieg in Raspberry und Linux (Rasperian) empfehle ich**:

https://www.elektronik-kompendium.de/sites/raspberry-pi/2604121.htm

https://www.elektronik-kompendium.de/sites/raspberry-pi/2107041.htm

Dort findet man auch weiterführende Links.

**Zur Nutzung der IOs (Portpins) gibt es mit vielen Beispielen**:

https://www.elektronik-kompendium.de/sites/raspberry-pi/2002191.htm

https://abyz.me.uk/rpi/pigpio/index.html

von Steve van de Grens (roehrmond)


Lesenswert?

Dem absoluten Anfänger würde ich weder Schieberegister noch WS2812 
empfehlen. Erstmal muss man lernen, den Mikrocontroller zu 
programmieren. Das würde ich mit weniger direkt angeschlossenen LEDs 
üben.

Als nächstes käme das Schieberegister. Das hat 1 Bit pro LED und kann 
beliebig langsam befüllt werden, was ein durch-Steppen mit dem Debugger 
ermöglicht.

Erst danach würde ich mich mit WS2812 auseinander setzen, denn die 
funktionieren so ähnlich wie Schieberegister, aber mit 24 Bit (RGB) pro 
LED anstatt ein Bit und mit einem anspruchsvollem Timing. Debuggen kann 
man die Kommunikation nicht mehr so einfach, da nutzt man dann eher 
einen Logic Analyzer.

Das ist zu viel für den Anfang, wenn man noch nicht einmal einen LED 
Blinker zustande gebracht hat.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter N. schrieb:
> Raspberry Pi (zero) würde mich intressieren.
Keine Threads kapern!  Neue Frage --> neuer Thread!

von Gerald K. (geku)


Lesenswert?

Steve van de Grens schrieb:
> Das würde ich mit weniger direkt angeschlossenen LEDs üben.

Wobei ein Multiplexbetrieb ebenfalls eine Herausforderung an die 
Programmiertechnik ist.

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Gerald K. schrieb:
> Wobei ein Multiplexbetrieb ebenfalls eine Herausforderung an die
> Programmiertechnik ist.

Ja eben, das sollte man sich als Anfänger für die Zukunft vornehmen.
Eher sich noch als zweiten oder dritten Schritt mit der PWM beschäftigen 
an normal angeschlossenen LEDs.

von Michael B. (laberkopp)


Lesenswert?

Stefan schrieb:
> Benötige ich dann einen Mikrocontroller mit 35 OI Anschlüssen, um jede
> Led einschalten zu können.

Jein.

Es gibt viele Möglichkeiten.

Wenn es einfache LED sind, die mit 10mA ausreichend hell leuchten, dann 
passt ein Mikrocontroller mit (mehr als) 35 Ausgängen, wie ATMega169. 
Immerhin fliesst, wenn alle LEDs an sind 350mA, da muss man schon 
tricksen und einige LED mit ihrem Vorwiderstand vom Ausgang nach plus 
schalten und die andere Hälfte vom Ausgang nach Masse schalten, denn 
über die Versorgungsspannungsnaschlüsse eines uC dürfen nur so 200mA 
fliessen.

> Ein kleiner einfacher soll der ATTiny13 sein, dieser hat nur 6. Ist
> soetwas damit möglich, oder habe ich hier einen Denkfehler?

Möglich nur wenn man zusätzliche Elektronik baut.
Je nach den LEDs die du verwenden willst (über die du NATÜRLICH nichts 
gesagt hast) ist Zusatzelektronik vielleicht sowieso nötig.
Eine normale (20mA) LED benötigt direklt an einem uC-Ausgang immer einen 
Vorwiderstand, also braucht man neben 35 LED auch 35 Widerstände. 
Einfacher kann man LED an strombegrenzten Treibern wie STP16CP05 
(100mA/20V ST), CAT4016 (100mA/5.5V OnSemi), STP16CL596 (90mA/16V ST), 
A6276=TB62706=TC62D748 (90mA/17V), MBI5026 (90mA/17V Macroblock) SCT2210 
(16*90mA 17V) DM13C (16*90mA SiTi), ST2221C (16*85mA SiTi) TLC5921 
(16*80mA, Darisus), DM13A (16*60mA SiTi), A6282 (16*50mA Allegro 
Darisus), TLC5923 (16*45mA/20V), SCT2024 (16*45mA/17V), ME2656 
(45mA/12V) TM1818 (60mA/5.5V) TLC5928 (35mA/17V), SCT2024 (30mA/17V), 
DM11C, DM13A-E (30mA/5V SiTi) anschliessen, denn da braucht man nur 1 
Widerstand für 16 LED und sie können mehr Strom, die ganzen 20mA der 
LED, vielleicht sogar kräftige mit 100mA.

Aber man muss den Chip kaufen, mit dem uC verbinden, und das Programm 
passend schreiben. Es ist also schwieriger.

Die andere Lösung die seriell ansprechbare LED wie WS2812. Da kommt man 
auch mit 1 Anschluss aus, aber die sind teurer, dafür bunt, und keine 
Hochleistungs-LEDs.

Die dritte Lösung, Multiplex, lassen wir mal weg, das erkauft man sich 
mit geringer Helligkeit oder hohen Strömen. So was wie TM1616 (4 x 7, 
ca. 6.25mA) TM1628 (7 x 11 Pixel ca. 2.8mA) oder MAX7221 (64 LED, ca. 
5mA) bringen halt nur 2.8mA-5mA in die LED und damit nur 1/4 bis 1/8 der 
Helligkeit von der Helligkeit bei Nennstrom 20mA.

> Meine 2. Frage bezieht sich darauf, ob das Programm auf dem
> Mikrocontroller gespeichert ist, sprich ich mache ihn Stromlos, stecke
> ihn 2 Tage später wieder in den Sockel, geht das danach wieder

Ja. Alle Mikrocontroller mit Flash-EEPROM-Programmspeicher können das 
und das sind praktisch alle.

von Rainer Z. (netzbeschmutzer)


Lesenswert?

Peter N. schrieb:
> Wo gibt es deutschsprachiges Lernmaterial (zu downloaden)?

Zum Beispiel bei unserem freundlichen und aktivem Forum-Teilnehmer 
Stefan.

http://stefanfrings.de/

Eine wunderbare und auch für blutige Anfänger sofort verständliche 
Darstellung. Besser geht es nicht. Perfekt für den Einstieg.

von Steve van de Grens (roehrmond)


Lesenswert?

Gerald K. schrieb:
>> Das würde ich mit weniger direkt angeschlossenen LEDs üben.

> Wobei ein Multiplexbetrieb ebenfalls eine Herausforderung an die
> Programmiertechnik ist.

Ja natürlich. Ich habe mich vertippt, es sollte heissen

Das würde ich mit direkt angeschlossenen LEDs üben.

von grobian (Gast)


Angehängte Dateien:

Lesenswert?

Habe nen MegaAt32 genommen mit 32 Ports

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
man kann kombinieren:
Z.B. Attiny 2313 (4313) liefert die Steuerimpulse und Daten. 
Schieberegister CMOS
4094 bekommt Low Power LEDs spendiert.
Mit nur wenig Leitungen schöne Muster erzeugen.
[OT]Und @Stefan haut den Aufbau wieder gründlich in die Pfanne.
Ich weiß.
Man kann es besser löten. So "könnte" es aussehen.
[/OT]

ciao
gustav

von Bernd K. (bmk)


Lesenswert?

Peter D. schrieb:
> Bernd K. schrieb:
>> Ich schließe mich dem Vorschlag von 'Irgend W.' an mit dem WS2812B.
>> Zum Ansteuern ist der Arduino, gerade für Anfänger, ideal geeignet.
>
> Der große Nachteil ist allerdings, man pappt ne Lib in den MC und hat
> immer noch nicht die geringste Ahnung, was da in Software und Hardware
> überhaupt passiert. Das WS2812 Protokoll ist definitiv kein Einstieg,
> wenn man etwas lernen will.

Das WS2812 Protokoll könnte man einem Anfänger recht einfach erklären:
Man stelle sich das Telegramm, gesendet von einem Arduino für
35 Stck WS2812 wie einen 840mm langen Papierstreifen vor.

Die erste WS2812 schneidet sich davon genau 24mm ab.
In den ersten 8mm (8 Bit) steht drin, wie hell 'rot' leuchten soll.
In den zweiten 8mm (8 Bit) steht drin, wie hell 'grün' leuchten soll.
In den dritten 8mm (8 Bit) steht drin, wie hell 'blau' leuchten soll.
Die erste WS2812 wird somit ihre 3 LEDs passend leuchten lassen.

Der gekürzte Streifen wird nun an die zweite WS2812 überreicht.
Hier passiert dasselbe, wie zuvor in der ersten WS2812.
Die 35. WS2812 erhält dann die letzten 24mm und gibt nichts weiter.

von Steve van de Grens (roehrmond)


Lesenswert?

Bernd K. schrieb:
> Das WS2812 Protokoll könnte man einem Anfänger recht einfach erklären

Ist trotzdem nichts für die ersten Versuche.

von Steve van de Grens (roehrmond)


Lesenswert?

Rainer Z. schrieb:
> http://stefanfrings.de/

> Eine wunderbare und auch für blutige Anfänger sofort verständliche
> Darstellung. Besser geht es nicht. Perfekt für den Einstieg.

Du hast aber schon gesehen, dass dort mit einem ATtiny13 angefangen 
wird? Davon hatten wir doch gerade abgeraten.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
noch ein Nachtrag:
Stichwort:
Tabellen oder Arrays.
Damit bekommt man schöne Muster hin.
Beispiel im Video.

ciao
gustav

von Rainer Z. (netzbeschmutzer)


Lesenswert?

Steve van de Grens schrieb:
> Du hast aber schon gesehen, dass dort mit einem ATtiny13 angefangen
> wird? Davon hatten wir doch gerade abgeraten.

Durchaus, aber der TO fragte nach Grundlagen auf Deutsch zum Downloaden, 
auch betr. Programmieren, er nennt sich selber einen absoluten Anfänger.

Peter N. schrieb:
> Ich habe kaum Ahnung von Linux, keine Programmierkenntnisse.
> Wo gibt es deutschsprachiges Lernmaterial (zu downloaden)?

Da hat es Stefan F. bei mir jedenfalls geschafft, einen gewissen 
Einblick in die Grundlagen zu erhalten. Der TO muss ja nach der Lektüre 
nicht am ATtiny üben.

Den Verweis auf englische Literatur in einem fremden Fachgebiet fand ich 
wenig hilfreich, um nicht zu sagen reichlich überheblich.

Beitrag #7240517 wurde von einem Moderator gelöscht.
von Alexander (alecxs)


Lesenswert?

Da es noch nicht erwähnt wurde, Technische Hochschulen bieten vielleicht 
open Workshops, und einen Makerspace gibt es sicher auch in deiner 
Stadt, wo zu festen Terminen einmal im Monat eine Art Stammtisch 
stattfindet. Da kannst Du löten, basteln, programmieren und Deine Fragen 
stellen.

von Jester (Gast)


Lesenswert?

Stefan schrieb:
> Ich hatte schon immer Lust auf ein "Projekt" mit einem Mikrocontroller.
> Ich habe mich etwas eingelesen und nun kommen die ersten Fragen auf.
>
> Angenommen ich habe 35 Leds, diese sollen nacheinander angehen, sprich
> 1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led

Ich nehme an, dass Du diese „35-LED-Geschichte“ nur als Beispiel mehr 
oder weniger frei aus der Luft gegriffen hast - drum geh ich auf diesen 
Punkt auch nicht näher ein. Egal, welches Projekt / welche Projekte du 
für den Anfang mit uC realisieren willst, ich würde dir zu einem 
einfachen Arduino bzw. einem Nachbau raten.

Nachbau klingt vermutlich erst mal schlecht - ist es in diesem Fall aber 
nicht unbedingt: Der Schaltplan wurde im Netz veröffentlicht und unter 
eine Creative-Commons-Lizenz (CC BY-SA) / Open-Source-Hardware (OSH) 
gestellt. [vgl. Wikipeda]

Meine Erfahrung mit den Dingern: größtenteils nur positiv!

Kaufen, auspacken und anfangen! Ev. noch ein Steckbrett und/oder eine 
„12V-Wandwarze“ besorgen.

Du steckst den Arduino über ein USB-Kabel an den PC, installierst die 
IDE (-> https://www.arduino.cc/en/software) und legst los. Fertige 
Projekte (Arduiono-Sprech: sketch) schiebst du auf den Arduino, mit ev. 
drangeklöppelter Hardware - danach brauchst den PC nicht mehr.

Tu dir den Gefallen und investiere die 5-10 € - nach wenigen Stunden 
kommst Du klar damit, kannst die mit der IDE gelieferten Beispiele 
nachvollziehen, abändern, anpassen

Und fall nicht auf die Bezahlfallen diverser „Händler“ rein. Wir reden 
hier von OpenSoftware und OpenHardware!

Siehe hierzu auch:
- https://de.wikipedia.org/wiki/Arduino_(Plattform)
- „What is Arduino?“, https://www.arduino.cc/en/Guide/Introduction
- „The Untold History of Arduino“, https://arduinohistory.github.io

von Ein T. (ein_typ)


Lesenswert?

Steve van de Grens schrieb:
> Davon hatten wir doch gerade abgeraten.

Ja und?

von Walter K. (walter_k488)


Lesenswert?

Stefan schrieb:
>
> Angenommen ich habe 35 Leds, diese sollen nacheinander angehen, sprich
> 1. Led, dannach soll 1+2 leuchten, danach 1+2+3 usw, bis zur 35. Led
>
>
Um hier, im erlauchten Kreise der Elektro- ( auch der Schein- und 
Blind-) Ingenieure aufgenommen zu werden, musst Du erstmal einen 
heiligen Schwur leisten:

Ich gelobe niemals, niemals und nimmer eine LED ohne Vorwiderstand zu 
betreiben!
Egal ob die LED an einer Spannungsquelle oder Konstantstromquelle oder 
am Blitzableiter hängt …

;-)

von Peter N. (alv)


Lesenswert?

Walter K. schrieb:
> Egal ob die LED an einer Spannungsquelle oder Konstantstromquelle oder
> am Blitzableiter hängt …

Eine Stromquelle ist doch praktisch ein Widerstand?!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter N. schrieb:
> Eine Stromquelle ist doch praktisch ein Widerstand?!
Eine wirklich gute Stromquelle hat einen möglichst hohen 
Innenwiderstand.

: Bearbeitet durch Moderator
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.