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

Reaktivlicht mit 7-Segmentanzeige

OP
K

kirby27b

Geocacher
Hi,

ich gebe zu das ich den Wiederstandswert nicht errechnet habe sondern mittels Poti ermittelt. Habe während eines Durchlauf der Zahlen die Stromaufnahme der gesammten Schaltung gemessen und dabei den Wiederstand so verstellt das einerseits die Helligkeit ausreichend ist aber andererseits die Gesammtstromaufnahme nicht zu hoch wird. So bin ich ganz unmathematisch zu dem Wert gekommen.

Grüße Olaf
 

jekejaerfi

Geocacher
hallo ihr,

habe noch eine kleine Frage:
ich habe die Schaltung mal mit einer bei mir vorrätigen 7Segmentanzeige mit gemeinsamer Anode ausprobiert.
Habe die Bits dafür dann invertiert (händisch!), so dass für ein Leuchten der jeweiligen Diode ein Low am zugehörigen Port anliegt. Dabei fällt die Schaltung aber im Sleepmodus in Dauerleuchten. Habe mir dann überlegt, die Ports dann jeweils auf High zu setzen. Aber nun meine Frage:
wie sieht es dabei mit dem Strombedarf im Ruhezustand aus? Die Ports würden so ständig auf high gehalten.
Das Programm müsste ich dann aber sicher noch ein wenig anpassen. Habe ohnehin noch überlegt, den DP mit einzubeziehen. Da ich die Programmierung ohnehin nicht als ISP realisiere, sollte dies auch nicht sonderlich problematisch sein.

Schöne GRüße

Jens
 

thomas_st

Geowizard
jekejaerfi schrieb:
Aber nun meine Frage:
wie sieht es dabei mit dem Strombedarf im Ruhezustand aus? Die Ports würden so ständig auf high gehalten.
Das ist für die Stromaufnahme unerheblich. Ob die Ports jetzt auf Hight oder Low liegen ändert nichts am "Stromzähler", entscheidend ist nur, ob Strom nach "außen" fließt - bei einer LED gegen Vcc passiert aber genau das nicht, wenn die Ports auf High liegen.

HTH,
Thomas(_st)
 

jekejaerfi

Geocacher
Hallo und vielen Dank für die Antwort.

Ich bin momentan am überlegen, ob man die Schaltung nicht ein wenig umarbeitet und folgende Funktion einbaut:
"Update" der Koordinaten mittels Codierschalter.
Folgende Gedanken hierzu:
Port A wird komplett für die 7-Segmentanzeige und dem LDR verwendet.
Port B (4bit) werden für die Übergabe der Koordinaten genutzt.
Dazu wird z.B. http://www.reichelt.de/?;ACTION=3;L...wQARsAAFjaGac9ee585d58403d1d200fad4a7fb0fc838 verwendet.
Um nun dem Prozessor mitzuteilen, wann er die Info vom Port übernehmen soll, wird ihm mittels "parallel geschaltetem" Taster "port b=1" übergeben.
Die vorher in einem Zwischenspeicher "gebunkerte" Zahl wird dann abgelegt/übernommen.
Der Port steht nun wieder für die nächste Zahl bereit.
Nachdem man alle 5 Zahlen (wenn man es bei den Minutenangaben belassen will) übergeben hat, wird der "Programmiervorgang" abgeschlossen, indem man noch mindestens einmal den Taster betätigt.

Frage: ist dies machbar?

Das wäre sicher eine nette Lösung um ggf. auch die Leute, die keine Möglichkeit haben, die Tinys zu programmieren, mit einer reaktiven 7-Segmentanzeige zu versorgen.

Schöne Grüße

Jens
 

thomas_st

Geowizard
jekejaerfi schrieb:
Port A wird komplett für die 7-Segmentanzeige und dem LDR verwendet.
Das erleichtert das Programmiererleben: mit einer IO-Operation kann man die 7Seg komplett ansprechen ... :)

jekejaerfi schrieb:
Port B (4bit) werden für die Übergabe der Koordinaten genutzt. [Beschreibung weg geschnippelt]
Frage: ist dies machbar?
Prinzipiell sollte das machbar sein, nur wenn ich mich nicht verzählt habe, hast Du nicht genügend IO-Pins beim Tiny24 zur Verfügung (Tiny24 = 11 problemlos verwendbare Ports / Deine Schaltung = 7Seg (7 Ports) + Codierschalter (4 Ports) + "Code fertig"-Taster (1 Port) + LDR (1 Port) = 13 Ports)

Viele Grüße,
Thomas(_st) - oder was habe ich falsch verstanden ....
 

jekejaerfi

Geocacher
Hallo thomas,

folgende Schaltung als grobentwurf (etwas chaotisch!).

Ich denke, dann wirst du verstehen, wie ich es mir überlegt hatte. Dass mir ein Bit fehlt, war mir klar! Der Tiny24 sollte imho 8+4 Bit verarbeiten können. 4 Pin für Port B und 8 für Port A. Von den 8 wird eines für den LDR verwendet und die verbleibenen 7 für die 7 Segmente (ich hätte natürlich auch noch gern den DP verwendet, aber man muss ja viele Kompromisse eingehen!).

Ich hoffe, mit dem Schaltschema wirst du meinen Text nun besser verstehen können. Sicher wieder extrem groß :(mit schalter zur codierung.png

Schöne Grüße

Jens
 

thomas_st

Geowizard
jekejaerfi schrieb:
folgende Schaltung als grobentwurf (etwas chaotisch!).
Jetzt habe ich es verstanden und - leider - noch ein Problem entdeckt.
Wie der Taster angeschlossen ist, war mir unklar. Ist jetzt aber geklärt und ein Port ist gespart ...

Aber das Problem ist PB3. Der wird im Normalfall für RESET genutzt. Um diesen Pin zu nutzen muss die RESET-Funktion mittels Fuse-Bits außer Kraft gesetzt werden , womit Du aber auch die Möglichkeit verlierst, den Tiny mittels ISP zu programmieren. Ab diesen Zeitpunkt ist der Tiny nur noch per High-Voltage Mode ansprechbar.

Viele Grüße,
Thomas(_st)
 

jekejaerfi

Geocacher
hmmm,
soll das heissen, dass danach auch die "Programmierung" per Port (Taster und Codierschalter?) nicht mehr möglich ist?
Kann man die fusebits nicht mehr nachträglich umprogrammieren?

schöne Grüße

Jens

Nachtrag:
noch ein "unreiner" Gedanke.

wie wäre es, die jeweilige Stelle in zwei Teile zu teilen und so dann
1. das Programm zu verkomplizieren
2. das problem mit dem Reset zu umschiffen
?
 

#ammensleben

Geocacher
Warum nicht einfach einen einzigen Taster?

mit diesem koennen ueber verschieden lange Tastedrucke die Zahlen eingegeben werden. ich dachte da so an 1x kurz entspricht das die aktuelle Zahl um eins erhoet wird. mit einem langen halten (3 sek oder aehnliches) wird die naechste ziffer angefangen usw. Ein noch laengeres halten der Taste beendet die Eingabe,.
 

jekejaerfi

Geocacher
ich weiss jetzt nicht, ob du es ernst meinst, aber mir wäre das zu unsicher und fehlerträchtig bei der Eingabe.
Dann lieber die verfügbaren 3 Bit sinnvoll einsetzen. Denn nun wäre es möglich 2 Bit für die Zahl und ein Bit für die "Weiterschaltung" zu verwenden.
 

thomas_st

Geowizard
jekejaerfi schrieb:
soll das heissen, dass danach auch die "Programmierung" per Port (Taster und Codierschalter?) nicht mehr möglich ist?
Nee, das ist natürlich weiterhin möglich. Mit "Programmieren" meinte ich das einspielen eines neuen/geänderten/... Programms in den Tiny, Änderung der Fuse-Bits und Zugriff auf den EEPROM-Speicher von außen.

jekejaerfi schrieb:
Kann man die fusebits nicht mehr nachträglich umprogrammieren?
Nur noch über den HV-Modus (setzt einen "richtigen" Programmieradapter voraus)

jekejaerfi schrieb:
wie wäre es, die jeweilige Stelle in zwei Teile zu teilen und so dann
1. das Programm zu verkomplizieren
2. das problem mit dem Reset zu umschiffen
?
Als Gegenvorschlag würde ich die Idee von #ammensleben aufgreifen: eine Taste mit unterschiedlich langem Drücken, oder zwei Tasten: eine zum Programmieren (1x drücken = 1, 2x drücken = 2 ...) und eine ähnlich zu deiner "Paralleltaste" zum weiterschalten der Stelle [1]. Dann braucht man nur einen oder zwei Ports fürs Programmieren.

[1] Deren Bedeutung ich aber umdrehen würde: solange diese "Weitertaste" gedrückt wird, kann mit der "Zähltaste" die Stelle hochgeschaltet werden (aktueller Stand auf dem Display anzeigen) und beim Loslassen wird der Wert übernommen und das LED-RL befindet sich wieder im RL-Modus ...

Viele Grüße,
Thomas(_st)
 

thomas_st

Geowizard
#ammensleben schrieb:
1 fuer aktivieren/deaktivieren programiermodus
1 fuer weiterschalten
1 fuer die zahl
Die ersten beiden würde kann man zusammenfassen: Taste Losgelassen: normaler RL-Modus / Taste gedrückt: RL im Programmiermodus; die letzte Stelle der KOs wird rausgeschmissen; die neue Stelle kann mit der Zähltaste hineingedrückt werden; aktueller Stand des Zählers wird im 7Seg-Display angezeigt.

HTH,
Thomas(_st)
 

jekejaerfi

Geocacher
das hört sich doch wiederum klasse an. Sollte auch recht einfach zu programmieren sein.
> 1 fuer aktivieren/deaktivieren programiermodus
selbstredend

> 1 fuer weiterschalten
dito

> 1 fuer die zahl
Tastenbetätigungen werden gezählt und zwischen gespeichert. Anschliessend nach "weiterschalten" Übernahme in den Speicher.

Hierbei ist aber dennoch der Anwender gefragt, der genau aufpassen muss, wieviele Zahlen er schon eingetippt hat.

Mal sehen wann und ob ich da etwas hinbekomme. Zu meiner Schande muss ich jedoch gestehen, dass ich bis jetzt noch kein tiny-Programm selbst geschrieben habe und im von kirby zur Verfügung gestellten Programm lediglich die Bits für die Zahlen (ich nutze ja andere pins) neu sortiert habe.
Schöne Grüße

Jens
 
OP
K

kirby27b

Geocacher
Hi,

was mir grad so in den Sinn kommt. Ist es evtl. Möglich die Zuweisungen der Portpins also ob Ein- oder Ausgang mittels Programmcode zwischendurch zu ändern? Dann könnte man einfach zum Programmieren die Ausgänge von Port A durch einen Programierschalter zu Eingängen machen. Dann kann man mittels BCD Schalter oder einem Tastenfeld die neuen Zahlen eingeben und danach schaltet man das ganze einfach wieder in Betriebsmodus.

Grüße Olaf
 

upigors

Geowizard
morgens, müssen eigentlich beim 24'er auch wie beim 13'er irgendwelche Lock- (oder Look) :???: und Fusebits umgestellt werden? Nur zur Sicherheit meine Frage.....
 

#ammensleben

Geocacher
wie ich das gesehen hab werden die gleichen sachen umgestellt. heissen eventuell im fusebitnamen anders aber der inhalt den bascom zu dem bit anzeigt ist der gleiche.
 

thomas_st

Geowizard
upigors schrieb:
Moin, Moin.

upigors schrieb:
müssen eigentlich beim 24'er auch wie beim 13'er irgendwelche Lock- (oder Look) :???:
Lock-bits. Die haben wir hier (zumindest öffentlich [1]) noch nie angefasst ;). Die verhindern nur, dass man an das Programm im Tiny nach dem Programmieren noch ran kommt - ein Auslesen ist dann nicht mehr möglich (auch ein Neuprogrammieren nicht). Gelöscht werden können dieses Bits nur dadurch, dass der gesamte Schaltkreis incl. Programmspeicher und IIRC Eprom (via Chip Erase command) gelöscht wird.

upigors schrieb:
und Fusebits umgestellt werden? Nur zur Sicherheit meine Frage.....
Atmel µC werden ab Werk so ausgeliefert, dass sie mit dem internen Oszillator bei ca. 1MHz laufen (oft: Oszillator auf 8MHz und CKDIV8 gesetzt). Da wir aber den µC i.allg. niedriger takten (16kHz / 128kHz) ist eine Umstellen der Fusebits eigentlich immer nötig.

HTH,
Thomas(_st)
_________________
[1] k.A. vielleicht nutzt ja jemand diese, um das Prg. im RL zu sichern - ich jedenfalls nicht.
 
Oben