Themabewertung:
  • 2 Bewertung(en) - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Digitales Zählwerk ( nur Counter ) AKAI GX 620
line # 203

Code:
// Formatting the output.
sprintf(buffer, "%05ld", val);

-->

Code:
// Formatting the output.
sprintf(buffer, "%05ld", (0>val)?-val:val);
[Bild: te-5.png]
[-] 3 Mitglieder sagen Danke an winix für diesen Beitrag:
  • dedefr, Rüsselfant, hyberman
Zitieren
(07.05.2020, 07:44)hyberman schrieb: AtDIYLAB: An welcher Stelle im Program kann man das Minus heraus nehmen und einfach nur vorwärst oder rückwärst zählen lassen? Geht das überhaupt?
Ich empfinde das Minus irgendwie als störend.

Moin,

gehen tut alles Thumbsup  .
Du sucht den Absolutwert, den Du mit abs() bekommst.
Die Methode zum Anzeigen auf dem Display:

Code:
/**
* Write OLED Display
*********************/
void WriteOled(unsigned long val) {
    // Buffer for all five digits.
    char buffer[5];

    // Formatting the output.
    sprintf(buffer, "%05ld", val);

    // Output on the display.
    oled.println(buffer);
}

ändern in:
Code:
/**
* Write OLED Display
*********************/
void WriteOled(long val) {
    // Buffer for all five digits.
    char buffer[5];

    // Formatting the output.
    sprintf(buffer, "%05ld", abs(val));

    // Output on the display.
    oled.println(buffer);
}

Aber den Sinn verstehe ich nicht.
Wenn ein positiver Zähler irgendwo in Bandmitte auf Null gesetzt wird und ich zurückspule, dann bekomme ich nun mal eine negative Zahl unter Null.
Nur weil mechanische Zähler das nicht können, muss es ja die Elektronik nicht nachmachen Denker

LG
[-] 2 Mitglieder sagen Danke an für diesen Beitrag:
  • hyberman, winix
Zitieren
(07.05.2020, 12:04)DIYLAB schrieb: Aber den Sinn verstehe ich nicht.
Wenn ein positiver Zähler irgendwo in Bandmitte auf Null gesetzt wird und ich zurückspule, dann bekomme ich nun mal eine negative Zahl unter Null.
Nur weil mechanische Zähler das nicht können, muss es ja die Elektronik nicht nachmachen  Denker

LG


Damit es authentischer bleibt zum analogen Display. Wenn man mitten im Band auf Null setzt und dann weiter zurück spult, dann zählt es halt ab 99999 rückwärts.
Empfinde ich persönlich als angenehmer. 

Werde das demnächst mal im Code umsetzen und testen.
Gruß André





Zitieren
(07.05.2020, 12:04)DIYLAB schrieb: abs()

Ah! Wusste nicht, dass irgendwo stdlib.h eingebunden ist. Wink3
[Bild: te-5.png]
Zitieren
Hat leider noch nicht so das gewünschte gebracht.

Das Minus ist zwar weg, zählt aber nun bis 00000 runter und fängt dann bei 00001 wieder an hoch zu zählen. Schöner wäre es, wenn 00000 auf 99999 umspringt und dann rückwärst also auf 99998 runter zählt. Oder nerve ich damit?

Ist das auch machbar?


[Bild: IMG-4034.jpg]
Gruß André





Zitieren
Code:
// Formatting the output.
sprintf(buffer, "%05ld", (0>val)?99999+val:val);
[Bild: te-5.png]
[-] 3 Mitglieder sagen Danke an winix für diesen Beitrag:
  • hyberman, , Rüsselfant
Zitieren
Bingo! Vielen Dank. So wollte ich das!


[Bild: IMG-4035.jpg]



Habe noch etwas den Kontrast vom OLED Display erhöht. Ist bei Verwendung von Farbfolien sicherlich vorteilhaft. Muss man dann austesten.
Gruß André





[-] 2 Mitglieder sagen Danke an hyberman für diesen Beitrag:
  • winix,
Zitieren
Hi, alles eingebaut, habe aber ein problem. . .

habe es in meinem thema erklärt !
Zitieren
Ich denk mal, dass ich bis zum Wochenende die neue Version fertig habe.
Dann kann auch jeder in der Userconfig einstellen, ob er ein Minus haben möchte oder nicht.
Dauert alles ein bisshen länger, bin ja tagsüber im Homeoffice.
Die neuen Zeichensätze für die verschiedenen Zeichengrößen habe ich nun selbst gepixelt und sie sind noch ein bisschen besser zu lesen, als die orignalen Zeichen.

Bis den dann,
LG
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  • hyberman
Zitieren
Mal ne Frage an die Programmier-Profis hier...
Da der Nano mit dem Counter ja nicht ausgelastet ist wollte ich meine IR-Fernbedienung da "mit reinpacken". Von der Belegung kein Problem... nun habe ich schon mehrere Ansätze ausprobiert die beiden Sketche zusammenzuführen und schaffe es nicht da was lauffähiges hinzukriegen.
Hat jemand hier einen Tipp zu einer guten und nachvollziehbaren Beschreibung der Vorgehensweise... ich muss zugeben, dass meine Programmier-Bücher mit den sehr "trockenen" Formulierungen und meist ohne konkrete Praxis-Beispiele das nicht ganz leicht machen... zumindest für mich.
Gerne auch per PN um das hier nicht zuzumüllen.

viele Grüße
Andreas
Zitieren
Wenn wir jetzt noch beim Einschalten ein freundliches "Hallo" etc. mit ein programmieren könnten. :-)

Nur so als Späßle.
Gruß André





[-] 1 Mitglied sagt Danke an hyberman für diesen Beitrag:
  • winix
Zitieren
(07.05.2020, 14:04)DIYLAB schrieb: Ich denk mal, dass ich bis zum Wochenende die neue Version fertig habe.
Dann kann auch jeder in der Userconfig einstellen, ob er ein Minus haben möchte oder nicht.
Dauert alles ein bisshen länger, bin ja tagsüber im Homeoffice.
Die neuen Zeichensätze für die verschiedenen Zeichengrößen habe ich nun selbst gepixelt und sie sind noch ein bisschen besser zu lesen, als die orignalen Zeichen.

Bis den dann,
LG


Huhu Bruno,

gilt das Angebot noch die Ziffer zu vergrössern oder zu verkleinern?  Helligkeit wäre auch cool.

Ist nicht eilig wollte nur fragen.

Bin leider mit meinen Programmierkenntnissen noch nicht so weit Floet Kaffee

Hab vielen Dank Freunde

lG

Ingo
Gruß ausm Kohlenpott Freunde

Ingo
Zitieren
(07.05.2020, 15:22)Rüsselfant schrieb: gilt das Angebot noch die Ziffer zu vergrössern oder zu verkleinern?  Helligkeit wäre auch cool.

Hallo Ingo,

3 verschiedene Größen sind in der neuen Version dann drin, deswegen schrieb ich doch, dass ich neue Zeichensätze gemacht habe.

Und Helligkeit?
Die ist von Anfang an drin in der USER CONFIG SECTION unter BRIGHTNESS  Denker

Oder möchtest Du das alles mit einem Taster einstellen?
Da wird man schnell durcheinanderkommen  LOL .

LG

(07.05.2020, 14:13)akguzzi schrieb: Da der Nano mit dem Counter ja nicht ausgelastet ist wollte ich meine IR-Fernbedienung da "mit reinpacken".

Hallo Andreas,

schwer zu beurteilen, da müsstest Du schon den Code zeigen Thumbsup .

LG
Zitieren
Ingo: 

Kontrast kannste schnell selber verändern, wie Bruno schon schrieb.

Code:
// Software configuration:
#define PULSESPERCOUNT    1    // Number of pulses for one count.
#define BRIGHTNESS        250    // Display brightness (0 to 255)


Ich habe hier mal 250 eingetragen.
Gruß André





[-] 2 Mitglieder sagen Danke an hyberman für diesen Beitrag:
  • winix, Rüsselfant
Zitieren
(07.05.2020, 16:12)hyberman schrieb: Ingo: 

Kontrast kannste schnell selber verändern, wie Bruno schon schrieb.

Code:
// Software configuration:
#define PULSESPERCOUNT    1    // Number of pulses for one count.
#define BRIGHTNESS        250    // Display brightness (0 to 255)


Ich habe hier mal 250 eingetragen.
Cool Andre, danke.

hast di 250 einhestellt wegen der Folie, oder Ohne Folie?
Gruß ausm Kohlenpott Freunde

Ingo
Zitieren
Nee, erst mal nur so verändert. Ich habe noch keine Farbfolien.
Gruß André





[-] 1 Mitglied sagt Danke an hyberman für diesen Beitrag:
  • Rüsselfant
Zitieren
Hmm,

habe den Wert von 128 auf 250 hochgesetzt und bin auf "hochladen" gegangen.

Habe lediglich den Wert ausgetauscht. Auf Andre's Screenshot sieht der Wert 250 nach rechts verschoben aus.

Folgender Fehler:

Arduino: 1.8.12 (Windows 10), Board: "Arduino Uno"

Der Sketch verwendet 7266 Bytes (22%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 142 Bytes (6%) des dynamischen Speichers, 1906 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xa6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xa6

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Gruß ausm Kohlenpott Freunde

Ingo
Zitieren
Falsches Board ausgewählt! Du hast einen Nano.
Hast du vorher den Sketch überprüfen lassen vor dem hochladen?

Ich habe keinen Sreenshot gemacht, sondern die Code Zeile hier eingefügt. Das sind zwei paar Schuhe.
Gruß André





Zitieren
Ääch,
ich müsste nochmal die COM wechseln.

Ich passe es nochmal an....aber erst morgen. Oldie

Hab schon ein Glas Rotwein an Hals und schaue im Ersten den Zürich Krimi.

Wisste Bescheid Raucher

LG und bis Morgen

Ingo
Gruß ausm Kohlenpott Freunde

Ingo
Zitieren
Vielleicht sollten wir mit dem Kontrast vom OLED Display doch etwas vorsichtiger umgehen. Ich bekam den Tip, sich von den OLED Displays (muss baugleich sein, auch von den Abmassen) eins als Ersatz hinzulegen. Die können schon nach zwei Jahren wesentlich schwächer werden.
Gruß André





[-] 1 Mitglied sagt Danke an hyberman für diesen Beitrag:
  • Rüsselfant
Zitieren
André, guck mal in die kommende USER CONFIG - extra für dich Lol1 .

[Bild: config.png]

PS: Bitte an PULSES_SECOND keinen Anstoß nehmen, diesen Abschnitt mach ich erst richtig komplett, wenn meine BM hier ist.
[-] 2 Mitglieder sagen Danke an für diesen Beitrag:
  • winix, hyberman
Zitieren
(07.05.2020, 13:18)hyberman schrieb: Schöner wäre es, wenn 00000 auf 99999 umspringt und dann rückwärst also auf 99998 runter zählt.

(07.05.2020, 13:37)winix schrieb:
Code:
// Formatting the output.
sprintf(buffer, "%05ld", (0>val)?99999+val:val);

Ich denke mal, da hat sich noch ein kleines Fehlerteufelchen eingeschlichen, denn im oben zu sehenden Code würde er so rückwärts zählen:

00001
00000
99998

So sollte es klappen:

Code:
// Formatting the output.
sprintf(buffer, "%05ld", (0>=val)?99999+val:val);
[-] 2 Mitglieder sagen Danke an für diesen Beitrag:
  • winix, hyberman
Zitieren
stimmt! für's Minuszeichen war es egal. Thumbsup
[Bild: te-5.png]
Zitieren
Bruno! Sehr nice!!

Setze ich morgen gleich mal um.
Gruß André





Zitieren
(07.05.2020, 22:44)hyberman schrieb: Setze ich morgen gleich mal um.

Ömm, du meinst die Sache mit dem Vorzeichen?
Denn die UserConfig ist ja nur ein Auszug aus der neuen Software, die da erst kommt ...

Jute Nacht Jungs Winke
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Lightbulb Digitales Zählwerk (universal, Arduino nano, OLED) für Bandmaschinen und Tapedecks DIYLAB 441 135.314 13.09.2024, 17:46
Letzter Beitrag: DJEEX
Lightbulb Unterschiede bei Musikwiedergabe feststellen - nur mit Hausmitteln Rincewind 56 15.369 04.05.2022, 13:54
Letzter Beitrag: Inquisition
  Digitales Zählwerk ( nur Counter ) reVox B77 dedefr 134 37.032 06.10.2021, 14:14
Letzter Beitrag: scope
Lightbulb Digitales Zählwerk ( Realtime, Meter, Counter ) reVox A700 DIYLAB 51 17.407 22.08.2021, 19:21
Letzter Beitrag: Wolf1
Lightbulb Digitales VU-Meter (Mikrocontroller, Display, LED) reVox A700 DIYLAB 1.596 371.946 20.05.2021, 22:00
Letzter Beitrag: Harry Hirsch
  Digitales Zählwerk ( nur Counter ) Sony TC 788-4 dedefr 14 5.460 10.07.2020, 10:50
Letzter Beitrag: dedefr



Benutzer, die gerade dieses Thema anschauen: 21 Gast/Gäste