Beiträge: 17.451
Themen: 91
Thanks Received: 24.921 in 9.158 posts
Thanks Given: 55.714
Registriert seit: Mar 2014
Bewertung:
80
07.05.2020, 08:02
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2020, 08:15 von winix.)
line # 203
Code: // Formatting the output.
sprintf(buffer, "%05ld", val);
-->
Code: // Formatting the output.
sprintf(buffer, "%05ld", (0>val)?-val:val);
3 Mitglieder sagen Danke an winix für diesen Beitrag:3 Mitglieder sagen Danke an winix für diesen Beitrag
• dedefr, Rüsselfant, hyberman
(07.05.2020, 07:44)hyberman schrieb: DIYLAB: 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 .
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
LG
2 Mitglieder sagen Danke an für diesen Beitrag:2 Mitglieder sagen Danke an für diesen Beitrag
• hyberman, winix
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
(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
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é
Beiträge: 17.451
Themen: 91
Thanks Received: 24.921 in 9.158 posts
Thanks Given: 55.714
Registriert seit: Mar 2014
Bewertung:
80
(07.05.2020, 12:04)DIYLAB schrieb: abs()
Ah! Wusste nicht, dass irgendwo stdlib.h eingebunden ist.
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
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?
Gruß André
Beiträge: 17.451
Themen: 91
Thanks Received: 24.921 in 9.158 posts
Thanks Given: 55.714
Registriert seit: Mar 2014
Bewertung:
80
Code: // Formatting the output.
sprintf(buffer, "%05ld", (0>val)?99999+val:val);
3 Mitglieder sagen Danke an winix für diesen Beitrag:3 Mitglieder sagen Danke an winix für diesen Beitrag
• hyberman, , Rüsselfant
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
07.05.2020, 13:52
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2020, 13:55 von hyberman.)
Bingo! Vielen Dank. So wollte ich das!
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:2 Mitglieder sagen Danke an hyberman für diesen Beitrag
• winix,
Beiträge: 1.615
Themen: 17
Thanks Received: 5.409 in 915 posts
Thanks Given: 27.970
Registriert seit: Oct 2013
Bewertung:
20
Hi, alles eingebaut, habe aber ein problem. . .
habe es in meinem thema erklärt !
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:1 Mitglied sagt Danke an für diesen Beitrag
• hyberman
Beiträge: 1.587
Themen: 114
Thanks Received: 3.314 in 828 posts
Thanks Given: 1.753
Registriert seit: Feb 2015
Bewertung:
20
07.05.2020, 14:13
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2020, 14:14 von akguzzi.)
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
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
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:1 Mitglied sagt Danke an hyberman für diesen Beitrag
• winix
Beiträge: 3.722
Themen: 413
Thanks Received: 2.935 in 1.006 posts
Thanks Given: 1.702
Registriert seit: Aug 2014
Bewertung:
24
07.05.2020, 15:22
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2020, 15:26 von Rüsselfant.)
(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
Hab vielen Dank
lG
Ingo
Gruß ausm Kohlenpott
Ingo
(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
Oder möchtest Du das alles mit einem Taster einstellen?
Da wird man schnell durcheinanderkommen .
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 .
LG
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
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:2 Mitglieder sagen Danke an hyberman für diesen Beitrag
• winix, Rüsselfant
Beiträge: 3.722
Themen: 413
Thanks Received: 2.935 in 1.006 posts
Thanks Given: 1.702
Registriert seit: Aug 2014
Bewertung:
24
(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
Ingo
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
Nee, erst mal nur so verändert. Ich habe noch keine Farbfolien.
Gruß André
1 Mitglied sagt Danke an hyberman für diesen Beitrag:1 Mitglied sagt Danke an hyberman für diesen Beitrag
• Rüsselfant
Beiträge: 3.722
Themen: 413
Thanks Received: 2.935 in 1.006 posts
Thanks Given: 1.702
Registriert seit: Aug 2014
Bewertung:
24
07.05.2020, 19:13
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2020, 19:29 von Rüsselfant.)
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
Ingo
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
07.05.2020, 19:31
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2020, 19:32 von hyberman.)
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é
Beiträge: 3.722
Themen: 413
Thanks Received: 2.935 in 1.006 posts
Thanks Given: 1.702
Registriert seit: Aug 2014
Bewertung:
24
Ääch,
ich müsste nochmal die COM wechseln.
Ich passe es nochmal an....aber erst morgen.
Hab schon ein Glas Rotwein an Hals und schaue im Ersten den Zürich Krimi.
Wisste Bescheid
LG und bis Morgen
Ingo
Gruß ausm Kohlenpott
Ingo
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
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:1 Mitglied sagt Danke an hyberman für diesen Beitrag
• Rüsselfant
André, guck mal in die kommende USER CONFIG - extra für dich .
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:2 Mitglieder sagen Danke an für diesen Beitrag
• winix, hyberman
(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:2 Mitglieder sagen Danke an für diesen Beitrag
• winix, hyberman
Beiträge: 17.451
Themen: 91
Thanks Received: 24.921 in 9.158 posts
Thanks Given: 55.714
Registriert seit: Mar 2014
Bewertung:
80
stimmt! für's Minuszeichen war es egal.
Beiträge: 9.790
Themen: 382
Thanks Received: 22.619 in 4.055 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
Bruno! Sehr nice!!
Setze ich morgen gleich mal um.
Gruß André
(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
|