Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny261A

Basteleien analog und digital mit Strom und Spannung.

Moderator: radioscout

Benutzeravatar
chrysophylax
Geomaster
Beiträge: 933
Registriert: Do 24. Sep 2009, 15:55
Wohnort: LDK
Kontaktdaten:

Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny261A

Beitrag von chrysophylax » Di 12. Mär 2013, 14:38

Nachdem hier gerade der Winter nochmal so richtig tobt hab ich die Gelegenheit genutzt, und ein schon länger vor sich hindümpelndes Projekt mal halbwegs gedeckelt. Ich hab ja bei den 16Segmenten schon verkündet, dass ich die irgendwie nicht ganz so erotisch finde - und wenn überhaupt dann als Luxus-Variante der LED-Koordinatenanzeige gleich 5x7 DotMatrix nehmen würde.

Nunja, das hab ich dann auch mal getan. Damit sich das Platinen-Machen auch lohnt hab ich dann mal Rücksicht auf die Atmel-Anhängerschaft genommen und auf Basis von Teilen, die bei Reichelt zusammen weniger als 5€ kosten eine Schaltung zusammengeworfen, einen Prototypen auf Lochraster aufgebaut, und schonmal probehalber ein Layout auf eine Platine geworfen um zu schauen, dass das Ganze auch in Standard-Gehäuse (sprich: 12cm Petlinge) passt.

Die Stückliste ist relativ übersichtlich und wird wohl in Kürze zusammen mit der Komplettdoku wie üblich auf meiner Heimatseite zu finden sein:
Stückliste hat geschrieben: 1x AtTiny261A
1x TA07
1x MK6-7-B
7x 100R
5x 2k2
1x 10k
5x BC327/BC817
fertig. Der Tiny24 hatte diesesmal zu wenige Portpins, der Tiny2313 hat keinen AD-Wandler (nötig für die bereits vorgesehene, aber noch nicht in Software implementierte Variante als Reaktivlicht), und die Megas waren mir zu protzig. Mehr Understatement bitte.

Im Prozessor ist jetzt auch endlich mal (durch das mit Punktmatrix-Werten für 128 Zeichen relativ groß geratene Character-ROM) ein bißchen Inhalt drin. Die Software ist eine Erweiterung meiner Magnetbaken-Software auf das nötige 5spaltige multiplexen, alle dort bekannten Features (per Jumper deaktivierbarer Lebenszeichen-Blitz, Ausgabe Auslösungszähler in Hex) sind dementsprechend drin geblieben. Zusätzlich sind noch ein paar neue Features dazugekommen:
- Die DotMatrix-Bake kann ihre Texte über ein Konfigurationsbit auch automatisch "auf dem Kopf stehend" ausgeben - irgendwie hat ja jeder Mensch andere Vorlieben, wie rum er einen Petling montiert. Die entsprechende Mathematik zum Bits-umsortieren ist im Programm schon drin, so dass da für den Anwender kein Aufwand entsteht.
- Die Ansteuerung der Zeilen- und Spalten kann über 2 Konfigurationsbits auf jede beliebige der 4 möglichen Konfigurationen von Low- oder High-aktiv gewählt werden, je nachdem ob und wieviele externe Treiberstufen vorhanden sind und ob Anzeigen mit gemeinsamer Anode oder gemeinsamer Kathode genutzt werden. "Ursprünglich" wollte ich das hardcodiert auf genau meine Schaltungsvariante machen, aber dann kam mir irgendwann letztes Wochenende die Idee, wie unglaublich retro-kultig so eine DotMatrix-Anzeige wohl aussehen würde, wenn man statt der LEDs richtige Glühbirnchen in Sockeln auf einem Brett nimmt. Und da man dafür dann definitiv sowohl Spalten- als auch Zeilentreiber braucht, um den Strom zusammenzubekommen, hab ich deren Polarität mal komplett konfigurierbar gemacht.

Alles Flash, das nicht für Character ROM und Programm benutzt wird, steht automatisch für Ausgabetext zur Verfügung. Meine Test-Nachricht hat im Moment 8 Byte Länge, der Assembler wirft nach endgültigem Zusammenbau dann folgende Statistik aus:

Code: Alles auswählen

ATtiny261 memory use summary (bytes):
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x000594    726    702   1428    2048  69.7%
[.dseg] 0x000060 0x000060      0      0      0     128   0.0%
[.eseg] 0x000000 0x000000      0      0      0     128   0.0%
Assembly complete, 0 errors. 0 warnings
, d.h. im Moment ist die maximal unterstützte Textlänge beim Tiny261A 628 Bytes. (2048Bytes Gesamt - (1428 Bytes used - 8 Bytes Demotext) = 628 Zeichen. Sollte für die meisten Nachrichtenlängen ausreichen, wenn nicht ist die Software aufwärtskompatibel und mit Änderung einer einzelnen Zeile werden dann daraus 628+2048=2676 Zeichen für einen AtTiny461A oder gar 628+2048+4096=6772 Zeichen beim AtTiny861A. Aber ich glaube, so lange Romane möchte kein Dosensucher lesen und keine Batterie speisen.

Die Software wird es wie immer in Dot-Deeh-Double-Youh-Style Assembler unter CC-BY-NC-SA geben, d.h. wer möchte kann diese beliebig nichtkommerziell nutzen und sich eigene Texte zusammenkonfigurieren. So sieht dann der Teil aus, in dem der Anwender nach belieben rumkonfigurieren kann:

Code: Alles auswählen

;*****************************************************************************
;*****************************************************************************
;*                           Auszugebende Nachricht                          *
;*****************************************************************************
;*****************************************************************************
BOTBEG:							; Anfang auszugebende Nachricht
;*****************************************************************************
#ifndef	GENATDW					; Nachricht nur im Normalbetrieb einbauen
;*****************************************************************************
.equ FLCONF = 0b11000000        ; Konfigurationsbyte Flash
;               |||||||+--------- Bit0: reserviert, bitte 0 lassen
;               ||||||+---------- Bit1: reserviert, bitte 0 lassen
;               |||||+----------- Bit2: reserviert, bitte 0 lassen
;               ||||+------------ Bit3: reserviert, bitte 0 lassen
;               |||+------------- Bit4: reserviert, bitte 0 lassen
;               ||+-------------- Bit5: UPSDWN, Zeichenausgabe "auf dem Kopf"
;               |+--------------- Bit6: COLINV, Spaltenansteuerung invertiert
;               +---------------- Bit7: ROWINV, Zeilenansteuerung invertiert

.equ ADAUER = 80				   ; Anzeigedauer jedes Zeichens x10ms,
								       ; Beispiel: 80 = 800ms Anzeigedauer
.equ PDAUER = 5                ; Pausenzeit nach jedem Zeichen x10ms,
                               ; Beispiel: 5 = 50ms Pausenzeit
	.db FLCONF, 0               ; Konfigurationswort im Flash ablegen
	.db ADAUER, PDAUER          ; Anzeigedauer, Pausendauer im Flash ablegen
	.dw ((BOTEND-BOTBEG-3)<<1)  ; Länge des Strings im Flash ablegen
							

                                ; Hier folgt der eigentliche Ausgabe-Text:
	.db "Hallo finde N48",SYM_DEG," 51.493 E002",SYM_DEG," 17.670 und H=324m."	

;*****************************************************************************
BOTEND:							; Ende von Ausgabestring
;*****************************************************************************
Vermutlich könnte man sogar noch 5 Widerstände und 5 Transistoren für die Spaltentreiber einsparen wenn man nicht die Standard-Reichelt-Variante der Anzeige nimmt, sondern die erheblich stromsparender gezüchteten Versionen in hyper-rot und hyper-orange - leider hat Reichelt diese nicht. Ich hab mir je eine Handvoll von den Teilen bei Händlern, die nur an Gewerbe liefern organisiert - die sind wirklich schweinshell. Bei 20-30mA Stromaufnahme je nach angezeigtem Zeichen während die Anzeige läuft denkt man mit denen es brennt einem gleich die Augen aus.... Bestimmt gibt es auch irgendwelche schwindligen Krauter, die die Teile haben und auch an Hobbyisten liefern. Nur für die Menschen, die dann ähnliches Ergebnis mit völlig minimalistischer Hardware selbst auf Lochraster aufbauen wollen. Ich rate eher davon ab, weil 5 Widerstände und 5 Transistoren wirklich nichts kosten, aber ich möchte auch außer meinem eigenen Prototypen glaub ich keine Exemplare dieser Schaltung mehr auf Lochraster aufbauen ;). Der Ruhestrom der Schaltung dürfte nur minimal größer sein als bei der klassischen 7Segment-Magnetbake, ich schätze mal ich komme ohne Lebenszeichen-Blitz unter 1µA und werde mit Lebenszeichen-Blitz immer noch einstellig im µA-Bereich bleiben. Werde ich die Tage nochmal nachmessen....

Anbei noch ein paar Bilder als Serviervorschlag und 2 Videos bei Duröhre:
Prototyp an Logic-Analyzer,
Prototyp mit Testnachricht.
Man verzeihe mir die gruselige Bildqualität - mein Taschenknips macht tolle Pfotos, aber nur relativ schlechte bzw. kurze Videos.

chrysophylax.
Dateianhänge
W006Z001V001_LR_Unten.JPG
Prototyp Lochraster von unten
W006Z001V001_LR_Unten.JPG (152.53 KiB) 3328 mal betrachtet
W006Z001V001_LR_Oben.JPG
Prototyp Lochraster von oben
W006Z001V001_LR_Oben.JPG (105.66 KiB) 3328 mal betrachtet
W6L5V1_pre.PNG
Ansicht im CAD-System - Entwurf kurz vor Abgabe
W6L5V1_pre.PNG (69.65 KiB) 3328 mal betrachtet

Werbung:
Benutzeravatar
chrysophylax
Geomaster
Beiträge: 933
Registriert: Do 24. Sep 2009, 15:55
Wohnort: LDK
Kontaktdaten:

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von chrysophylax » Di 12. Mär 2013, 14:39

Einer der Gründe, warum ich Prototypen so gerne in RIESENGROß auf Lochraster aufbaue ist der, dass man nur dann vernünftig mit den (dann doch wieder erstaunlich fuddeligen) Klemmen vom Logic-Analyzer drankommt ;)

chrysophylax.
Dateianhänge
W006Z001V001_Oszi.JPG
Riesen-Prototyp mit Logic-Klepsen
W006Z001V001_Oszi.JPG (115.57 KiB) 3326 mal betrachtet

Benutzeravatar
Starglider
Geoguru
Beiträge: 4653
Registriert: Do 23. Sep 2004, 15:00

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von Starglider » Di 12. Mär 2013, 15:17

Würde es nicht viel geiler aussehen wenn die Buchstaben nicht nacheinander angezeigt würden sondern Punktweise durch das Display scrollen würden?
Das wäre auch besser lesbar, insbesondere wenn doppelte Buchstaben und Ziffern auftreten.

(uiuiui, ich glaube moenk spielt gerade an der Konfiguration des Forums herum)
-+o Signaturen sind doof! o+-

Benutzeravatar
chrysophylax
Geomaster
Beiträge: 933
Registriert: Do 24. Sep 2009, 15:55
Wohnort: LDK
Kontaktdaten:

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von chrysophylax » Di 12. Mär 2013, 15:27

Für doppelte Buchstaben und Ziffern gibt es die 50ms Pause zwischen den Zeichen - die allerdings in den Videos so gar nicht rüberkommt. Fiel mir bei der 7Segment-Variante schon auf, die ist auch "in echt" erheblich deutlicher als "in Duröhre".

Ansonsten ist die Idee des weichen scrollens durchaus knuddelig, aber in der aktuellen Programmstruktur... nur mit erheblichem Aufwand umsetzbar. Andererseits: Dann hätte ich wenigstens mal einen Grund, die Unmengen RAM zu benutzen (die bisher völlig brach vor sich hindümpeln und nur 1-2 Ebenen tief für Stack genutzt werden) um einen hübschen Puffer mit drübergleitendem Anzeigefenster zu bauen. Wenn mir irgendwann mal furchtbar langweilig sein sollte, denk ich drüber nach. Es steht natürlich Jedem frei, selbst was hübsches auf Basis dieser Schaltung undoder Idee zu programmieren...

Erstmal die Tage fertigdokumentieren und zum Download bereitstellen.

chrysophylax.

Benutzeravatar
Bussard
Geocacher
Beiträge: 193
Registriert: Mi 7. Okt 2009, 03:29
Wohnort: BRB

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von Bussard » Di 12. Mär 2013, 21:19

Das kann sich ja wirklich sehen lassen, vor allem die wahlweise fuß- oder kopfstehende Ausgabe gefällt mir sehr. Mit der Textlänge stimme ich auch mit Dir überein, weniger ist mehr, ansonsten sollte man ein eBook verstecken ;-).
Wenn jetzt noch ein paar Tage Schnee liegt, bringst Du dem Teil sicher noch 3D bei?

Heute Nachmittag dachte ich schon, ich wäre blau, aber jetzt sind wir ja wieder im grünen Forum.
Gruß Bussard
Lächeln und Winken. Die Dosenfischer - Zwölf Elfen

Benutzeravatar
chrysophylax
Geomaster
Beiträge: 933
Registriert: Do 24. Sep 2009, 15:55
Wohnort: LDK
Kontaktdaten:

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von chrysophylax » Di 12. Mär 2013, 21:40

Oh, ich glaube 3D wird dann doch etwas schwierig. Aber es gibt noch genügend zu dokumentieren, und wenn mich wider Erwarten der Hafer sticht dann grübel ich eher früher als später über das weiche Scrollen nach.

Der potentielle Charme lässt mich irgendwie nicht mehr los und ich puzzele in der hintersten Ecke des Hirns schon an Lösungsstrategien... Wobei da natürlich die Option "AufDemKopf"-Ausgabe zum echten Knieschuss wird, weil ich einmal rechtsrum und einmal linksrum mein Fenster über das Ausgabearray schieben muss, und das natürlich richtig Code frisst. Ich bin doch so geizig...

chrysophylax.

Benutzeravatar
Bussard
Geocacher
Beiträge: 193
Registriert: Mi 7. Okt 2009, 03:29
Wohnort: BRB

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von Bussard » Di 12. Mär 2013, 22:27

Speicher und Pins sparen ist halt das Ausleben einer speziellen Programmierphilosophie, vor seeehr langer Zeit hatte ich mal bei einen durch viele Studentengenerationen optimierten ASM-Code eines Sortieralgorithmus (nicht Bubblesort) nochmal ein wenig verkleinert, was mir 'ne gute Note und den Zorn des Profs einbrachte, weil der "seinen" Code in seinem Standardwerk als das Nonplusultra anpries.
Heute habe ich solchen Ehrgeiz nicht mehr, und preislich (Mega88A für 1.50€) und vom Lernaufwand lohnt es sich für mich eher, mich auf nur wenige Attinys zu beschränken. Aber ich kann mich an den Spaß des Bytesparens noch gut erinnern :-)
Also, weiterschneien und weiter machen ...

Gruß Bussard
Lächeln und Winken. Die Dosenfischer - Zwölf Elfen

Benutzeravatar
chrysophylax
Geomaster
Beiträge: 933
Registriert: Do 24. Sep 2009, 15:55
Wohnort: LDK
Kontaktdaten:

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von chrysophylax » Mi 13. Mär 2013, 07:24

Naja, der Ehrgeiz ist ja nicht nur des Ehrgeizes wegen - sondern auch, weil das was ich so verbreite natürlich auch als "Arbeitsbeispiel: So entwickele, programmiere und dokumentiere ich" für potentielle Kunden dient. Man hat ja immer das Problem, dass man Interessenten für die eigenen Dienstleistungen schlecht etwas zeigen kann, was man für andere Leute entwickelt hat (Betriebsgeheimnis und so).

Natürlich sind Reichelt-Preise keine exakten Vergleichswerte für das, was ein "echter" Distri bei Stückzahlen >1k so gibt, aber üblicherweise ein recht guter Anhalt. Und wenn ich mir überlege, irgendeinem Möchtegern-Betriebswirt locker aus der Hüfte erklären zu können, dass ich im Gegensatz zum üblichen Nifo aus dem Mikrodilettantencontroller.net (niemand möchte den Podcast beleidigen) durch Einsatz von Hirn mit einem 1,15€-Prozessor (Tiny261A@Reichelt] statt einem 2,15€-Prozessor (Mega88A@Reichelt) auskomme und noch reichlich Platz habe, dann ist das schon ein gewisser.... Vorteil bei der Selbstvermarktung.

Natürlich ist mir klar, dass der Aufwand für reine Hobbyisten in keinem Verhältnis zum nötigen Zeitaufwand für Schaltung, Layout, Doku und Programmierung steht - aber bei mir ist es halt ein bißchen mehr als "nur" Hobby. Oder doch einfach nur Ehrgeiz. Oder beides.

chrysophylax.

Benutzeravatar
Kappler
Geowizard
Beiträge: 1439
Registriert: So 31. Dez 2006, 16:51
Wohnort: 77876 Kappelrodeck

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von Kappler » Mi 13. Mär 2013, 08:09

Also wenn schon Ehrgeiz und weiches scrollen, dann doch über mehrere Dot-Matrix-Bausteine und mit Schieberegistern zum Ports sparen :D.
Dann könnte man auch ganze Laufschriften in Plexiglasröhrchen über die Wälder verteilen.

Aber ich fürchte, ich übertreibe wieder etwas... :irre:
Gruß aus dem (badischen) Schwarzwald, Andreas (1/4 Kappler)
Bekennender Fremdlogleser und Rosinenpicker

Benutzeravatar
chrysophylax
Geomaster
Beiträge: 933
Registriert: Do 24. Sep 2009, 15:55
Wohnort: LDK
Kontaktdaten:

Re: Magnetbake / Reaktivlicht mit 5x7 DotMatrix LED & AtTiny

Beitrag von chrysophylax » Mi 13. Mär 2013, 11:45

Warum habe ich gerade das Gefühl, ich hätte meinen kleinen Finger ins Wasser gehalten und finde mich wieder mit meinem Arm bis zur Schulter im Schlund des großen weißen Hais ? ;)

chrysophylax.de

Antworten