Fragen und Antworten

Regelmäßig erreichen mich Rückmeldungen zum "Franzis Maker Kit - Grafikdisplays programmieren". Häufig handelt es sich dabei um Anregungen für neue Projekte. Viele Zusatzartikel, Gastbeiträge und Projektideen sind auf diese Weise schon entstanden. Ein herzliches Dank dafür.
Franzis LCD am Arduino MEGA
Manchmal sind auch interessante Fragen zum aktuellen Lernpaket oder auch aufgetretene Fehler zu klären. Diese sind nachfolgend zusammengefasst.
AnalogWatch: Fehler in der Dokumentation
Gerald Kreisler hat mich die Tage auf einen Fehler in der Dokumentation hingewiesen. Es betrifft die Erläuterungen zur Berechnung der Zeigerstellungen im Beispiel "AnalogWatch". Leider ist uns nach mehrfachem Gegenlesen der Fehler nicht aufgefallen und ist auch in der 2. Auflage des Buches vorhanden. Herzlichen Dank für den Hinweis und die beigefügte Berichtigung.
"Zur Zeit lese ich in Ihrem kleinen Franzisbuch "Grafikdisplays Programmieren" Ihren Beitrag zur Analog Watch (Seite 69). Hier ist mir aufgefallen, dass bei der vereinfachten Erkärung der Arbeitsweise der gesteuerten Uhrzeiger auf Seite 73 ein Fehler aufgetreten ist. Es muss unten auf der Seite heißen:
63 + 27 * cos(α)
Für den Y-Wert gilt dann:
32 + 27 * sin(α)
Damit einher werden auch die Erklärungen auf der folgenden Seite für die Fälle a=0 Grad, α=90 Grad und α= 180 Grad alle falsch, weil ja die Mitte eines 128/64 Pixel Displays bei 64/32 liegt. Das Ergebnis müsste lauten für:
α=0 Grad: x=90, y=32
α=90 Grad: x=63, y=59
α=180 Grad: x=36, y=32
α=270 Grad: x=63, y=5"
Kompilierungsfehler unter Arduino 1.6.5 und 1.6.7 (Linux)
"Der Sketch Metering.ino kompiliert unter der IDE arduino-1.6.7 doch der Compiler gibt trotzdem den folgenden Kommentar aus:"
sketch\TextDisplay.cpp: In member function 'void TextDisplay::print(char)':
sketch\TextDisplay.cpp:39:8: warning: case label value exceeds maximum value for type [enabled by default]
case 255:
"Die IDE-1.6.5 macht den unten genannten Fehler nicht aber der Sketch blockiert trotzdem im “loop” nach dem ersten Durchlauf"
von Bruno Hoegger
Der Fehler geht auf eine unterschiedliche Interpretation des Datentyps Char zurück. Zur Lösung dieses Problems kann unter der genannten IDE der Datentyp der Funktion "print" auf Byte geändert werden. Das nachfolgende Beispiel Metering verwendet eine abgeänderte Version der Klasse "TextDisplay".