Forum: Mikrocontroller und Digitale Elektronik Digitales Bandzählwerk


von Manfred W. (Gast)


Lesenswert?

Ich verwende für einen C64 noch so eine Datasette. Die haben ja 
standardmäßig ein mechanisches Zählwerk eingebaut: 
http://de.wikipedia.org/wiki/Datasette#mediaviewer/Datei:Commodore-Datassette.jpg
Wäre es nun möglich in das gerät ein digitales Zählwerk einzubauen?

Ich hätte mir das in etwa so vorgestellt.
Ich weiß nicht ob das heute noch so gemacht wird, aber bei einigen 
Geräten wurde doch auf die Antriebsscheibe oft so eine schwarz/weiß 
gestreifte scheibe aufgeklebt.
Wenn man diese nun irgendwie abtastet. Jeweils so das eine die weiße und 
eine die schwarze Fläche scant. Und das ganze dann wie bei einem 
Drehencoder (Drehgeber) ausgewertet wird. Also somit die Drehrichtung 
und die Umdrehung feststellen kann.

Oder würde man das eher mit solchen geschlitzten Scheiben wie sie in 
einer Kugelmaus verwendet werden machen?

Wie setzt man das am besten um?
Jemand eine Idee?

von Harald W. (wilhelms)


Lesenswert?

Manfred W. schrieb:

> Wäre es nun möglich in das gerät ein digitales Zählwerk einzubauen?

Sicherlich, aber ob das bei der recht begrenzten Genauigkeit dieses
Meßverfahrens Sinn macht?
Gruss
Harald

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Manfred W. schrieb:
> Ich verwende für einen C64 noch so eine Datasette.

Warum?

von Manfred W. (Gast)


Lesenswert?

ist das denn wirklich so ungenau?
Wie wird das denn bei HiFi Kassettendecks gelöst?

von Manfred W. (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Manfred W. schrieb:
>> Ich verwende für einen C64 noch so eine Datasette.
>
> Warum?

Weils lustig ist.

von Karl H. (kbuchegg)


Lesenswert?

Manfred W. schrieb:
> ist das denn wirklich so ungenau?
> Wie wird das denn bei HiFi Kassettendecks gelöst?

Halb so wild. MaWin übertreibt da ein bischen.
In der Praxis spult man ja nicht bis genau an die Bandstelle vor, 
sondern hört ein bischen davor auf und lässt dann einfach laufen. Dazu 
hat man sich ja großzügige Pausen zwischen die Programme auf dem Band 
gelassen, wenn nicht der Lesecode den Programmanfang auch so anhand 
einer Kennung finden kann.
Besser als ständig im Sichtfenster auf die kleine Skala zu linsen ist 
das allemal.

: Bearbeitet durch User
von Paulchen_P (Gast)


Lesenswert?

Mach auf beiden Drehtellern eine Skala. dann kannst du wenn du die 
Cassette einlegst genau die Stelle sagen an der sich die Cassette 
befindet.
 Dann mußt du aber noch die Laufzeit der CC eingeben, um zum genauen 
Ergebniss zu kommen. Das erspart das Zurückspulen zum Anfang.

Harald Wilhelms schrieb:
> Sicherlich, aber ob das bei der recht begrenzten Genauigkeit dieses
> Meßverfahrens Sinn macht?
 Video2000 hat das Verfahren mit Messung von beiden Spulen verwendet, 
und die waren Minutengenau.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Manfred W. schrieb:
> Wie wird das denn bei HiFi Kassettendecks gelöst?

Nicht über den Capstan, sondern über den Bandantrieb, der aber nicht 
linear zur Bandposition ist (eine Umdrehung eines leeren Bandwickels 
befördert weniger Band als eine Umdrehung eines vollen Bandwickels).

Diese mechanischen Zählwerke sind also hochgradig ungenaue Schätzeisen.

Beim Abspielen ist der Capstan ("Tonwelle") bzw. die Andruckrolle die 
genaueste Möglichkeit, aber das versagt beim schnellen Vor- bzw. 
Rücklauf, denn da ist der nicht an die Bandbewegung gekoppelt.

Fazit: Die Bandposition lässt sich nicht genau bestimmen, das ist 
immer eine Schätzorgie.

von Manfred W. (Gast)


Lesenswert?

Also wenn das digitale Zählwerk so genau wie das bisher mechanische ist, 
reicht mir das schon.
Wie muss denn diese Skala aussehen du wie taste ich die dann ab?
Für eine Lichtschranke wird ja ein Sender und Empfänger benötigt.

Wie siehts mit einem Reed-Schalter aus? Wäre das auch eine Lösung?

von Karl H. (kbuchegg)


Lesenswert?

Manfred W. schrieb:
> Also wenn das digitale Zählwerk so genau wie das bisher mechanische ist,
> reicht mir das schon.
> Wie muss denn diese Skala aussehen du wie taste ich die dann ab?
> Für eine Lichtschranke wird ja ein Sender und Empfänger benötigt.

Ja. Und
'Sender' ist eine LED. Empfänger ist ein Phototransistor.

Genau so, wie es die ganzen Billig-Roboter (Asuro, NIBobee...) auf den 
Motorachsen haben, um die Umdrehungen der Räder zählen zu können. 
Einfach mal ein wenig über den Tellerrand linsen.

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Paulchen_P schrieb:

>> Sicherlich, aber ob das bei der recht begrenzten Genauigkeit dieses
>> Meßverfahrens Sinn macht?
>  Video2000 hat das Verfahren mit Messung von beiden Spulen verwendet,
> und die waren Minutengenau.

Nun, verschiedene hochwertige Audio-Magnetbandgeräte haben auch
mit minutengenauer Bandzählung geworben. Solche aufwändigen
Zählwerke waren aber eher die Ausnahme.
Gruss
Harald

von Manfred W. (Gast)


Lesenswert?

Ich hab hier ein Video gefunden wie jemand so etwas realisiert hat: 
https://www.youtube.com/watch?v=JZ3h5gjFmnA

Leider erkennt man hier kaum wie er das gelöst hat.

Ein PDF hätte ich auch noch gefunden: 
http://www.transkommunikation.ch/dateien/schaltungen/diverse_schaltungen/miscellaneous_circuits/Digitales%20Zaehlwerk%20fuer%20Tonband.pdf

Möglicherweise ist das die Anleitung zu dem Video. Von den Bauteilen 
würde es in etwa hinkommen.
Diese CNY70 sind Sender und Empfänger im gleichen Gehäuse.

von npn (Gast)


Lesenswert?

In der Regel ging es bei den Zählwerken nicht darum, die Minuten oder 
die Bandlänge abzuzählen, sondern man wollte per Zählerstand die Anfänge 
der Lieder (oder bei der Datasette der Programme) wiederfinden.
Von daher ist es auch völlig unproblematisch, daß das Zählwerk durch den 
sich verändernden Wickeldurchmesser nicht linear zur Zeit ist. Es 
reicht, wenn man sagt: "Programm 4 fängt bei Zählerstand 158 an". Was 
das für Meter oder Minuten sind, ist egal.

von Karl H. (kbuchegg)


Lesenswert?

Manfred W. schrieb:

> Ein PDF hätte ich auch noch gefunden:
> 
http://www.transkommunikation.ch/dateien/schaltungen/diverse_schaltungen/miscellaneous_circuits/Digitales%20Zaehlwerk%20fuer%20Tonband.pdf

Die Auswertung der Lichtschranken kannst du ja lassen.
Aber das ganze Gehampel mit den 192-er Zählern samt LED-Dekodern würde 
ich lassen und statt dessen einen µC nehmen, der die 7-Segment im 
Multiplex ansteuert.
Anstatt 4 IC und einem Haufen drumm herum nur 1 IC und dafür dann auch 
eine 3 oder 4 stellige Anzeige, die nicht so schnell überläuft.

Der kann sich dann auch den aktuellen Zählerstand im EEPROM merken, so 
dass (vorausgesetzt das Band wurde nicht entnommen und wieder eingelegt) 
auch nach  einem Aus- und Wiedereinschalten der ganzen Anlage die 
Anzeige so leidlich stimmt.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Karl Heinz schrieb:
> Der kann sich dann auch den aktuellen Zählerstand im EEPROM merken, so
> dass (vorausgesetzt das Band wurde nicht entnommen und wieder eingelegt)
> auch nach  einem Aus- und Wiedereinschalten der ganzen Anlage die
> Anzeige so leidlich stimmt.

Beschreibbaren RFID-Transponder in Kassette einbauen ...

von Karl H. (kbuchegg)


Lesenswert?

npn schrieb:
> In der Regel ging es bei den Zählwerken nicht darum, die Minuten oder
> die Bandlänge abzuzählen, sondern man wollte per Zählerstand die Anfänge
> der Lieder (oder bei der Datasette der Programme) wiederfinden.

Exakt.
Wobei 'wiederfinden' hier schon zu hoch gegriffen ist. Es reicht völlig, 
wenn man eine ungefähre Idee hat, wo sich das Band in Relation zur 
gesuchten Information befindet. Das 'Fine-Tuning' macht man dann sowieso 
nach Gehör. Aber man spart sich zumindest die ständige Tastenakrobatik 
zwischen 'Play', 'Stop' und 'schneller Vorlauf' um wenigstens in die 
Nähe des gesuchten Stückes zu kommen.
Leute, die wie ich mit dem Radiorekorder als einzig verfügbares Medium 
aufgewachsen sind, um am Puls des musikalischen Geschehens zu bleiben, 
wissen wie das funktioniert.

von Manfred W. (Gast)


Lesenswert?

Also ich nehme zwei von diesen Optokopplern, klebe eine schwarz/weiss 
scheibe auf das Schwungrad.
Wenn das Prinzip dann genauso funktioniert wie das eines Drehgebers 
könnte man die Auswertung 1:1 übernehmen, oder?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Manfred W. schrieb:
> Also ich nehme zwei von diesen Optokopplern

Reflexlichtschranke ist besser, gibt es als nettes kleines Bauteil:

http://www.reichelt.de/?ARTICLE=114341

Und die beiden müssen etwas versetzt angeordnet sein (bzw. die 
schwarz/weiß-Streifen auf der Scheibe etwas versetzt sein), damit sie 
mit entsprechendem Versatz auslösen, was wie beim Drehimpulsgeber zur 
Richtungserkennung nötig ist.

von Manfred W. (Gast)


Lesenswert?

Genial! Kann man die gleich direkt so an den Mikroprozessor hängen? Oder 
benötigen die Vorwiederstände?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Manfred W. schrieb:
> Kann man die gleich direkt so an den Mikroprozessor hängen?

Natürlich nicht.

> Oder benötigen die Vorwiederstände?

Wider. Mit nur einem 'e'.

Sieh doch einfach mal ins Datenblatt.

von Nosnibor (Gast)


Lesenswert?

Manfred W. schrieb:
> Also ich nehme zwei von diesen Optokopplern, klebe eine schwarz/weiss
> scheibe auf das Schwungrad.

Nicht auf das Schwungrad, das ergäbe nur einen Betriebsstundenzähler für 
den Motor.  ;)
Stattdessen dahin, wo auch das mechanische Zählwerk seinen Antrieb 
herbekommt, also an eine der Achsen für die Bandwickel.

von MCUA (Gast)


Lesenswert?

>Ich verwende für einen C64 noch so eine Datasette.
Warum dann nicht gleich ein HIFI-Cassetten-Deck? (mit viel mehr 
Ausstattung)

von MCUA (Gast)


Lesenswert?

Mit rel. hauchauflösender Abtastung der 2 Bandwickelteller (nicht 
Capstan) sollte auch eine genaue Posit.Bestimmung möglich sein. (Man 
kann den Unterschied leere-volle-Spule ja berechnen und entspr. 
anpassen)

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Mein alter BASF-Cassettenrecorder hatte an der Bandzählwerks-Achse einen 
Magneten und daneben einen Reed-Kontakt, den man im Betrieb leise 
klicken hörte. War das Band verklemmt, dann hörten die Impulse des 
Reedkontakts auf und das Gerät schaltete aus.
Das Video2000-System hat ziemlich genau funktioniert, ich meine, Grundig 
hat es später auch für VHS übernommen.

von npn (Gast)


Lesenswert?

MCUA schrieb:
> (Man
> kann den Unterschied leere-volle-Spule ja berechnen und entspr.
> anpassen)

Wozu? Mit dem Zählerstand will man doch nur eine bestimmte Stelle 
wiederfinden. Sonst nix. Wurde weiter oben schon besprochen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

MCUA schrieb:
> Mit rel. hauchauflösender Abtastung der 2 Bandwickelteller (nicht
> Capstan) sollte auch eine genaue Posit.Bestimmung möglich sein. (Man
> kann den Unterschied leere-volle-Spule ja berechnen und entspr.
> anpassen)

So macht das mein Sony-Deck auch. Die Pulse beider(!) Bandwickel werden 
addiert, was immer zu einer annähernd gleichen Pulsmenge pro Zeiteinheit 
führt, egal wie voll die jeweiligen Bandwickel sind. 
Wiederholgenauigkeit bei einer 90er-Cassette besser 20 Sekunden auf 45 
Minuten Band bei mehrfachem komplettem Umspulen.

: Bearbeitet durch User
von Manfred W. (Gast)


Lesenswert?

Ich hätte eine Frage zu dem ITR8307, also der Reflexlichtschranke.

Dazu habe ich im Netz nur eine Beispielschaltung gefunden, in der dieser 
Bauteil verwendet wird:
http://blog-cc7107.over-blog.com/article-detection-des-trains-par-infra-rouge-itr8307-113443209.html

Was mich interessieren würde, wäre der Widerstand R2.
Wenn Google das Französisch richtig übersetzt hat, wird damit die 
Erfassungsreichweite definiert.

Meine Frage jetzt, wie berechnet man den? Oder kann man hier einfach nur 
ausprobieren.

Ich gehe mal davon aus, je höher der Widerstandswert umso geringer ist 
die Reichweite.

von Mike (Gast)


Lesenswert?

Manfred W. schrieb:
> Meine Frage jetzt, wie berechnet man den? Oder kann man hier einfach nur
> ausprobieren.
>
> Ich gehe mal davon aus, je höher der Widerstandswert umso geringer ist
> die Reichweite.

Den Widerstandswert von R2 sollte so gewählt werden, dass die 
Ausgangspegel für "hell" und "dunkel" symmetrisch zur Schaltschwelle von 
der Eingangsstufe liegten, d.h. der Wert hängt von Entfernung, 
Reflektivität, Umgebungshelligkeit und Beleuchtungsstärke durch deine 
LED ab.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

R2 hängt von der Empfindlichkeit des Phototransistors ab und von dem 
Störspannungsabstand, den man erreichen will. Hier ist Probieren 
angesagt, da die Reflexkoppler, die es inzwischen auch von vielen 
anderen Herstellern gibt, recht stark streuen. Von 1k bis 100k ist da 
alles möglich, also ein weites Feld. Mit zunehmendem Widerstand nimmt 
allerdings die Erfassungsgeschwindigkeit ab, so dass man beim schnellen 
Umspulen eventuell Pulse verpassen könnte. Es sollte also ein Kompromiss 
von R2 und dem LED-Strom geschlossen werden, um saubere und schnelle 
Signale zu bekommen. Hier spielt auch die Obeflächenbeschaffenheit der 
Reflektormarken eine wichtige Rolle, da jede Rauhigkeit oder Oxidschicht 
das Signal ziemlich verrauschen kann.

: Bearbeitet durch User
von Manfred W. (Gast)


Lesenswert?

Ich bräuchte nochmal eure Hilfe.
Und zwar verwende ich folgendes Beispiel um den Zähler meiner 
Segmentanzeige auf die Zahl 9999 zu begrenzen.
1
void Print(uint16_t num)
2
{
3
  uint8_t i=0;
4
  uint8_t j;
5
6
  if (num>9999) return;
7
8
  while (num)
9
  {
10
    digits[i]=num%10;
11
    i++;
12
    num=num/10;
13
  }
14
  for (j=i;j<4;j++) digits[j]=0;
15
}

Sprich wenn 9999 erreicht ist, springt er zu 0
Wie stell ich es an das er beim rückwärtszählen sich so verhält, das 
wenn 0 erreicht ist der nächste Schritt 9999 wäre und von dort an 
rückwärts weiter zählt?

von c-hater (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:

> Beim Abspielen ist der Capstan ("Tonwelle") bzw. die Andruckrolle die
> genaueste Möglichkeit

Ja. Nur ziemlich nutzlos.

> aber das versagt beim schnellen Vor- bzw.
> Rücklauf, denn da ist der nicht an die Bandbewegung gekoppelt.

Eben deswegen.

> Fazit: Die Bandposition lässt sich nicht genau bestimmen, das ist
> immer eine Schätzorgie.

Nein. Ich selber habe (mittlerweile vor Jahrzehnten) eine Lösung des 
Problems praktisch implementiert und jahrelang mit sehr guten 
Ergebnissen angewendet. Das Projekt war damals "VCR als Backupgerät" und 
zwar für einen Amiga. Zu meiner Entschuldigung: Das war zu Zeiten, als 
eine 40MB-Platte noch fast 1000 DM gekostet hat, da ergab das wirklich 
einen Sinn...

Der grundsätzlich von mir damals verwendete "Trick" wurde auch bereits 
im Thread erwähnt: an beiden Bandwickeln möglichst hochauflösend deren 
Rotation zu vermessen.

Aus diesen Meßwerten (über eine gewisse Zeit) ist es möglich ALLE 
variablen Parameter mit "hinreichender" Genauigkeit zu ermitteln, also 
Bandstärke, Bandlänge und die aktuelle Verteilung auf die beiden Wickel. 
Damit schafft man bei VHS deutlich besser als 1%, nämlich so ungefähr 
eine Minute bei einer Gesamtlaufzeit von 240 Minuten. Das ist schon 
deutlich besser als die von dir apostrophierte "Schätzorgie". Dann 
kannst du nämlich auch deine gesamten Meßgeräte als "Schätzgeräte" 
bezeichnen und wegwerfen!

Aber natürlich muß dazu die Sache eine ganze Weile laufen, die 
Genauigkeit der Messung hängt von der Meßzeit ab. Das muß man durch eine 
während der Suche ständig fortlaufenden Messung und Korrektur 
ausgleichen und die Suchroutine so programmieren, daß sie entprechend 
der aktuellen Unsicherheit sinnvoll handelt.

Das Nonplusultra ist dann übrigens ein zusätzliches, auf das Problem 
zugeschnittenes "Filesystem", eigentlich mehr so eine Art 
Soft-Sektorisierung. Unbedingt nötig ist das aber nicht. Hilft 
eigentlich nur in der Situation wirklich merklich, daß die frisch 
eingelegte Kassette schon von vornherein fast an der richtigen Stelle 
ist. Was allerdings gerade bei der Anwendung als Backup-Gerät durchaus 
der Normalfall war, weswegen ich es dann letztlich doch auch noch 
eingebaut habe. Die Sektorisierung landete auf der Audiospur und wurde 
einfach beim normalen Schreiben mitgeschrieben, es war also kein extra 
Formatierungslauf dafür nötig.
Da nachträglich hinzugekommen, war die Sache auch abwärtskompatibel, 
d.h.: er hat die Bandstelle auch gefunden, wenn die Audiospur nicht 
"lesbar" war, es hat dann eben nur länger gedauert...

von Stefan K (Gast)


Lesenswert?

Hallo Manfred,

wenn du noch etwas warten kannst, habe ich genau das richtige für dich 
:-)
Nachdem ich letztes Jahr mein Tapedeck neu eingemessen hatte entstand 
der Wunsch das mechanische Zählwerk durch ein digitales mit 
Echtzeitanzeige zu ersetzen.
Warum?
Weil es Spass macht!
Das Projekt ist fast abgeschlossen, es fehlen noch die Dokumentation und 
ein Platinenlayout zum Nachbau, dann werde ich das ganze mit Quellcode 
in Assembler veröffentlichen.
Features: Echtzeitanzeige ohne vorherige Eingabe der Kassettengröße nach 
einer kurzen Messphase. Normale Zählwerkfunktion mit Nullstoppausgang. 
Ich taste nur den Afwickelteller ab, das macht die Sache mechanisch und 
Softwaretechnisch etwas einfacher, mir genügt die erreichte Genauigkeit 
von besser 1%.

Am Rekorder muss Folgendes angebaut werden:
Schwarzweißmuster am Aufwickelteller mit 8 weißen und 8 schwarzen 
Feldern für eine Umdrehung, welche mit 2 Lichtschranken abgetastet 
werden. Wenn eine Lichtschranke die Mitte eines Feldes beleuchtet muss 
die zweite auf den Übergang zwischen zwei Feldern zeigen. Eine dritte 
Lichtschranke tastet das Kassettenfach ab: Kassette 
eingelegt/Kassettenfach offen oder nicht. Ein Taster zur Bedienung und 
ein 4- oder 5-stelliges LED-Display sind nach eigenen Möglichkeiten zu 
integrieren. Versorgungsspannung 12 Volt ~.
An Hardware ist im wesentlichen ein ATMEGA 8 und ein LM339 mit etwas 
Kleinkram verbaut.
Detailfragen vorab gerne per PM

von Karl H. (kbuchegg)


Lesenswert?

Manfred W. schrieb:

> Sprich wenn 9999 erreicht ist, springt er zu

in dem Code springt nichts zu 0 zurück. Wenn hier in Print eine Zahl 
ausgegeben wird, die größer als 9999 ist, dann verweigert Print ganz 
einfach.

Ausserdem ist das die falsche Stelle.
Die Funktion heißt Print, weil ihr Aufgabe die Ausgabe von Zahlen ist. 
Was auch immer diese Zahl ist. Das einzige was Print machen darf ist, 
das es sich dagegen 'wehren' darf, wenn die auszugebende Zahl nicht auf 
die Anzeige passt. Das ist ok (und das macht sie auch). Aber mit 
irgendwelchen Zählstrategien hat Print nichts am Hut. Das ist ganz 
einfach nicht sein Job.

Wo zählst du denn vor bzw. rückwärts? Dort ist die korrekte Stelle, die 
entsprechende Logik zu machen. Und wie macht man das? Na zum Beispiel 
mit einem Vergleich (hängt davon ab, wie du konkret zählst).

vorwärts zählen:
wenn der Zähler kleiner als 9999 ist, dann darf 1 addiert werden. 
Ansonsten wird der Zähler auf 0 gesetzt.

rückwärts zählen:
wenn der Zähler größer als 0 ist, dann darf 1 abgezogen werden. 
Ansonsten wird der Zähler auf 9999 gesetzt.

Wenn deine Zählerei anders funktioniert, dann musst du dir eben was 
anderes ausdenken. Wenn du zb grundsätzlich immer nur eine 
vor-aufbereitete +1 bzw. -1 addierst, dann muss man eben im Nachhinein 
feststellen, ob man den Zahlenbereich verlassen hat und entsprechend 
korrigieren. Zählt man zu 9999 noch 1 dazu, dann landet man bei einer 
Zahl die größer als 9999 ist. Zieht man von der dann 10000 ab, dann 
stimmt wieder alles. Denn
9999  plus 1 ergibt 10000. Davon 10000 abgezogen, ergibt 0. Und das ist 
ja auch korrekt.
9999 plus 5 ergibt 10004. Das ist größer als 9999, also werden 10000 
abgezogen und man erhält 4. UNd auch das ist richtig. Denn von 9999 um 5 
Pulse weiter gezählt ergibt 4.
Was ist in der anderen Richtung?
Ist man bei 0 und zieht 1 ab, dann landet man bei -1 (ich geh mal davon 
aus, dass der Zähler ein int ist, also ein Vorzeichen hat). Das ist aber 
leicht, denn wenn das Ergebnis offenar kleiner als 0 ist, dann zählt man 
entsprechnd die 10000 dazu und landet am anderen Ende der Skala. -1 plus 
10000 ergibt 9999. Aber auch wenn man von 1 6 Pulse abzieht, 
funktioniert das immer noch. 1 minus 6 ergibt -5. Das ist kleiner als 0, 
also werden 10000 dazu gezählt und man landet bei 9995. Kann das 
stimmen? Mal sehen
1
   9993 9994 9995 9996 9997 9998 9999 0000 0001 0002 0003
2
 ---+----+----+----+----+----+----+----+----+----+----+---
geh ich von der Zahl 0001 um 6 Zahlen nach links, dann lande ich bei, 
tata, 9995. Die Rechnung stimmt also.

1
int zaehler;
2
3
...
4
5
6
   zaehler += inkrement;
7
   if( zaehler > 9999 )
8
     zaehler -= 10000;
9
   if( zaehler < 0 )
10
     zaehler += 10000;
11
12
   Print( zaehler );
13
....

nicht alles wird dir fertig auf einem Silbertablett präsentiert (mist, 
jetzt hab ich es schon wieder gemacht). Manchmal musst du dir auch 
einfach selber was ausdenken.

: Bearbeitet durch User
von Route_66 H. (route_66)


Lesenswert?

Hallo!
sowas hatte ich auch mal vor einer Ewigkeit für einen Sinclair 
ZX-Spectrum.
Ein nettes Feature war die Voreinstellbarkeit des Zählers. Man konnte 
eine Kassette einfach in einer beliebigen Position einlegen und laufen 
lassen. Wenn dann am TV der Name eines Files auftauchte, verglich man es 
mit dem "Directory" (auf Papier) und stellt den Zähler auf diesen Wert. 
Von diesem Stand konnte ich dann jedes File auf der Kassette - mehr oder 
weniger genau - finden, indem ich etwas vor die gesuchte Position 
spulte.
Prozessor U882 (Zilog Z8 Clone)

Edit: mit zwei Lichtschranken für beide Wickel wäre eleganter gewesen, 
damals aus Platzgründen nicht möglich.

: Bearbeitet durch User
von Mount Everest (Gast)


Lesenswert?


von Mount Everest (Gast)


Lesenswert?

So isses besser:
Der 1. Link ist morgen schon veraltet.
http://hackaday.com/2014/08/09/commodore-1530-datasette-gets-a-digital-counter/

von Stefan K. (Gast)


Angehängte Dateien:

Lesenswert?

Wie versprochen hier nun die Software für mein digitales Bandzählwerk 
mit Echtzeitanzeige. Auf meiner Homepage
http://www.stefankneller.de/framesets/zaehlwerk.html
gibt es dazu weitere Informationen, Bilder und Pläne.
Die Software kann sicher noch verbessert werden (die Behebung eines 
kosmetischen Fehlers steht z.B. noch auf der Todo-Liste), für mich ist 
das Projekt aber erstmal abgeschlossen.
Viel Spass bei der Lektüre.

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.