• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

8LED Display möglichst klein

minddavid

Geocacher
Hallo

erstmal das wichtigste: Ich habe von allem, was hier geschrieben wird, keine Ahnung. Nur eine Idee.

Ich frage nicht wie, nur ob es möglich ist.

ein Gehäuse, ungefähr 50x50x5mm. 8 LEDs im Gehäuse, die nach einem änderbarem (zu programmierenden?) Muster ca. sekündlich blinken. Aber die Batterie muss auch im Gehäuse stecken, also kommt nur Knopfzelle in Frage.

Ist das möglich? ansonsten lohnt sichs für mich nicht, mich da reinzulesen.Oder muss ich nur minimal umdenken? Danke für die Antworten im Vorraus
 

schnasemann

Geocacher
es sollte kein Problem sein, einen Microcontroller zu finden, der das macht. Z.B. der zur Zeit beliebte Attiny 13V mit seinen 8 Beinchen kann per Charlieplexing 6x5=30 LEDs ansteuern, also auch Deine 8. Wenn nun klar ist, wie der zur Verfügung stehende Platz ist, kann man das schon machen.
 

thomas_st

Geowizard
minddavid schrieb:
[...]ein Gehäuse, ungefähr 50x50x5mm. 8 LEDs im Gehäuse, die nach einem änderbarem (zu programmierenden?)
Sind das Außenmaße? Wenn ja, wird es knapp; wenn nein, sollte es mit SMD Bauteilen zu realisieren sein. Das Problem ist hier weniger der Querschnitt von 50x50mm² als mehr die Dicke von 5mm.

Viele Grüße,
Thomas(_st)
 

gomerffm

Geocacher
Ausserdem sollte man die ganze Mimik nur dann anschalten (evtl. Reed-Kontakt mit mitzubringendem?? Magnet), wenn die LEDs blinken sollen, sonst wirds knapp mit der Batterielaufzeit.
Bei hoffentlich 5mm Innenhöhe lässt sich das schon mit SMD-Bauteilen realisieren.
 
OP
minddavid

minddavid

Geocacher
nochmal 3 Fragen:
1.Wie klein geht das höchstens? Klar, 5mm Innenhöhe aber kann man den Rest noch halbieren(2/3)?
2.Ist das auch für Leute wie mich (Keine Erfahrung bisher) umsetzbar und wenn ja
3. Welche Teile braucht man dafür (Preise? Woher?)
 

thomas_st

Geowizard
minddavid schrieb:
nochmal 3 Fragen:
1.Wie klein geht das höchstens?
Gegenfrage: welchen Aufwand willst Du treiben?

Natürlich geht es noch kleiner. Ein Tiny 13 im SO8-Gehäuse hat die Abmessungen ca. 8x5,2x2mm³. Eine LED bzw. ein Widerstand im 1206-Gehäuse schlägt mit 3,2x1,6x???mm³ zu Buche. Das sind alles noch Teile, die man mit der Hand und Lötkolben verarbeiten kann.
Es gibt den Tiny13 aber auch im MLF Gehäuse, dann ist er nur noch 4x4x0,75mm³ groß. Auch Widerstände und LEDs gibt es kleiner - in Handys werden z.B. Widerstände im 01005-Gehäuse verbaut (0,25x0,13x???mm³). Das kann man nicht bzw. kaum noch mit der Hand löten.

minddavid schrieb:
2.Ist das auch für Leute wie mich (Keine Erfahrung bisher) umsetzbar und wenn ja
Das Löten von SMD (Surface-mounted device - alle oben erwähnten Gehäuse gehören dazu) ist deutlich schwieriger als bei bedrahteten Bauteilen; ohne Erfahrung könnte es etwas frustrierend werden.

minddavid schrieb:
3. Welche Teile braucht man dafür (Preise? Woher?)
Die Preise, wie auch die Lieferanten unterscheiden sich kaum zwischen bedrahteten Bauteilen und SMD-Bauteilen. Es ist sogar eher so, dass man manche Bauelemente nur noch in SMD-Bauform erhalten kann. Genaueres sollte eigentlich das Datenblatt aussagen (und macht es bei Atmel auch).

HTH,
Thomas(_st)
 
OP
minddavid

minddavid

Geocacher
Okay, hoffentlich letzte Frage: gibt es irgendeine Anleitung irgendwo, die für Anfänger verständlich ist?
 

thomas_st

Geowizard
minddavid schrieb:
Okay, hoffentlich letzte Frage: gibt es irgendeine Anleitung irgendwo, die für Anfänger verständlich ist?
Früher gab es eine Werbung mit dem Spruch: "sie baden gerade ihre Finger darin": will heißen: Fragen kann man hier gerne stellen :D :^^: Ansonsten: zum löten von SMD-Bauteilen gibt es eine Seite bei http://www.mikrocontroller.net/ ... und bestimmt noch 1000 andere in den Weiten des I-Nets.

HTH,
Thomas(_st)
 
OP
minddavid

minddavid

Geocacher
Ok, dann leg ich einfach mal los ;) Teil 1 Der Schaltplan. Halte ich bei meinem jetzigen Wissen für das schwierigste. Ich weiß, jedes Bauteil muss irgendwie mit den anderen verbunden sein. Aber da hört es auch schon auf ;) :hilfe: Wenn ich mir andere Themen ansehe, kapier ich davon noch die Batterie ;)
 

thomas_st

Geowizard
minddavid schrieb:
Ok, dann leg ich einfach mal los ;) Teil 1 Der Schaltplan. Halte ich bei meinem jetzigen Wissen für das schwierigste.
Nöp. der Schaltplan ist nicht so kompliziert, zumindest bei dem den ich gleich skizziere. Das Problem wird eher in der Programmierung des Mikrocontrollers liegen.

Ich würde keinen ATTiny 13 sondern ein ATTiny 24 nehmen. Man kann zwar wie schnasemann schon schrieb mit dem Tiny 13 die 8 LEDs betreiben - um hier aber beliebige Leuchtmuster hinzu bekommen muss man multiplexen (die LEDs werden nur kurz eingeschaltet und dann wieder ausgeschaltet ... und zwar so schnell, dass das Auge davon nichts mehr mitbekommt und unabhängige Leuchtmuster der LEDs erkennt). ... will heißen, um das Ganze einfach zu halten, würde ich den etwas größeren ATTiny24 nutzen, der kann mit seinen 11 frei nutzbaren IO-Ports alle LEDs direkt und unabhängig voneinander ansteuern kann. An jeden IO-Pin kommt jetzt ein Vorwiderstand (Widerstandswert hängt von der LED und der Betriebsspannung ab) und dann die Anode der LED. Die Kathoden aller LEDs werden zusammen auf Masse gelegt.

Die mit R und LED belegten IO-Ports werden jetzt im Programm (in BASIC (Bascom), C (WinAVR) oder Assembler (Atmel direkt) geschrieben) auf Ausgang programmiert. Wenn der Ausgang jetzt mit 1 beschrieben wird leuchtet die zugehörige LED, wenn er mit 0 beschrieben wird, verlischt sie.

Soweit die Kurzfassung von Schaltung und Programm.

Viele Grüße,
Thomas(_st)
 

hendyp

Geocacher
minddavid schrieb:
thomas_st schrieb:
(in BASIC (Bascom), C (WinAVR) oder Assembler (Atmel direkt) geschrieben)
Heißt das ich kann einfach in C (C++/C#) schreiben? Das würd grad passen, da hab mich grad erst mit beschäftigt.
"einfach" ist relativ ;) . Ja es ist C (ohne ++ und ohne #) allerdings mit ein paar speziellen Erweiterungen bzw. Unterschieden zur "normalen" Programmierung.

Wenn Du von Beispielen und Informationen zur Mikrokontroller-Programmierung in C erschlagen werden möchtest, schaue doch einmal in dieses Tutorial.
 

thomas_st

Geowizard
minddavid schrieb:
thomas_st schrieb:
(in BASIC (Bascom), C (WinAVR) oder Assembler (Atmel direkt) geschrieben)

Heißt das ich kann einfach in C (C++/C#) schreiben? Das würd grad passen, da hab mich grad erst mit beschäftigt.
Wie hendyp schon schrieb: Ja und Nein. Es ist ganz normales C (oder C++ - das geht auch, ist aber für einen µC etwas übertrieben) und kann auch ganz normal programmiert werden. WinAVR basiert z.B. auf dem von linux bekannten gcc und was der kann, kannst Du hier auch machen.

Allerdings musst Du aber auch mit Unterschieden leben. Der Mikrocontroller kann ja nicht einfach über Tastatur und Bildschirm mit der Außenwelt kommunizieren, sondern nur mit seinen Pins "wackeln". Funktionen wie printf werden also nicht, oder nicht wie gewünscht funktionieren (mir fällt gerade auf, dass ich das noch nie ausprobiert habe :D ). Weiterhin sind die Ressourcen des µC begrenzt. Hier haben wir keine GB großen Speicherbereiche sondern beim ATTiny 13 z.B. nur 1kB Programmspeicher und 64 Byte (Byte!, nicht kB oder gar MB) Arbeitsspeicher.

Im Ergebnis des Compilierens und Linkens hast Du dann keine *.EXE o.ä. sondern ein *.HEX-File, welches dann mit einem Programmiersoftware und -hardware auf den Tiny gespielt wird. ... aber sonst ist alles gleich ;)

Viele Grüße,
Thomas(_st)
 

thomas_st

Geowizard
So das "Problem" von printf hat mich nun nicht in Ruhe gelassen und ich bin mal der Sache in der Doku zu avr-libc nachgegangen. Printf gibt ja einen fomatierten String auf dem Standard-Ausgabekanal (stdout) aus, der normalerweise auf dem Bildschirm landet. Hierfür werden in "normalen" C-Umgebungen diese Kanäle (stdout, stdin, und stderr) beim Programmstart an die entsprechenden Ein- und Ausgabekomponenten (Bildschirm, Tastatur, ...) gebunden. Nicht aber so beim AVR
Dokumentation zu avr-libc schrieb:
The standard streams stdin, stdout, and stderr are provided, but contrary to the C standard, since avr-libc has no knowledge about applicable devices, these streams are not already pre-initialized at application startup.
Das heißt, wenn man auf diesen Kanälen etwas ausgeben will (z.B. indem man printf nutzt) läuft das ins Leere.

In der Dokumentation zu avr-libc ist aber ein Beispiel enthalten, wie man z.B. stdout an die Ausgabe auf einem LCD koppelt, so dass man mit printf dann auf diesem Display schreiben kann, oder wie man sie an den UART koppelt ...

Viele Grüße und ich hoffe ich habe Euch nicht gelangweilt,
Thomas(_st)
 
OP
minddavid

minddavid

Geocacher
Ich leg grad eine Teileliste an.
2 Fragen:

1. Was muss ich bei den Widerständen und LEDs beachten?
2. Und was bei der Platine?
 

schnasemann

Geocacher
minddavid schrieb:
Ich leg grad eine Teileliste an.
2 Fragen:

1. Was muss ich bei den Widerständen und LEDs beachten?
2. Und was bei der Platine?
1. nix. UBat - Uled / ILed
2. So klein, dass es passt. Evtl. auf Lochraster. Platine fertigen macht nur Sinn, wenn mehrere, sonst ist das zu teuer. Oder Du fragst bei einer (Werk-)Realschule an oder ähnlichem, ob die einen Frräsbohrplotter haben.
 
OP
minddavid

minddavid

Geocacher
schnasemann schrieb:
minddavid schrieb:
Ich leg grad eine Teileliste an.
2 Fragen:

1. Was muss ich bei den Widerständen und LEDs beachten?
2. Und was bei der Platine?
1. nix. UBat - Uled / ILed
2. So klein, dass es passt. Evtl. auf Lochraster. Platine fertigen macht nur Sinn, wenn mehrere, sonst ist das zu teuer. Oder Du fragst bei einer (Werk-)Realschule an oder ähnlichem, ob die einen Frräsbohrplotter haben.

1. Ich dachte eher wie die zusammenhängen/aufeinander abgestimmt sein müssen
2. Kann man die einfach zusägen?
 

Dr.Schmock

Geocacher
1.
Ja, die Formel für den Widerstand ist
r = u_r / i = (u_bat-u_led) / i

u_led und i gibts im Datenblatt der LED, z.B. unter "Electrical characteristics", da ist die Typische Spannung bei bestimmtem Strom angegeben.
Mach den Strom in der Berechnung lieber etwas niedriger.

2.
Ich säge immer mit ner kleinen Bogensäge und nem Metall-Sägeblatt.
Die Bauteile kommen auf die Seite ohne Kupfer, auf der anderen wird gelötet. Keine SMD-Bauteile kaufen
 

thomas_st

Geowizard
Dr.Schmock schrieb:
Keine SMD-Bauteile kaufen
Ähm. :???: Die ganze Schaltung sollte in einem Gehäuse 50x50x5mm³ unter kommen. Mit bedrahten Bauelementen funktioniert das mit dem letzten Maß nicht mehr.

... und noch ein Hinweis, falls Du doch eine Leiterplatte machen willst (musst): die Pins des Tiny (mit Ausnahme von Vcc, GND und RESET) sind auswechselbar hinsichtlich der Ansteuerung von LEDs. Wenn Du das Leiterbahnknäuls also nicht anders entflechten kannst: wechsle die Pins - das kann man dann in der Programmierung wieder ausgleichen.

Viele Grüße,
Thomas(_st) - eigentlich hatte ich das doch schon mal als Antwort geschrieben, nur fehlt dieses Post nunmehr :???: Mysterium der Forensoftware :???:
 

Dr.Schmock

Geocacher
Ach ja, so klein... hatte nur die letzten 2 Beiträge angeschaut :roll:
Das geht natürlich nur mit SMD. Find ich aber ganz schön schwierig, für's erste Projekt. Aber wenn die Schule ne Fräse hat, dann fällt ja die größte Hürde weg.
 
Oben