so langsam nähere ich mich einem echtem Projekt namens GEOGPS. Es wird ein GPS Gerät werden, welches auf das Geocaching zugeschnitten ist. Es wird ein Positionslogger mit SD Card haben, Cachepositionen von SD Card lesen können etc.
Leider musste ich wieder etwas zurückrudern: der SD Card Adapter verlor einige Beine beim beim Löten Passiert nun mal, auch wenn es dahingehend ärgerlich ist, da es schonmal lief
Hier ein erstes Demovideo, wo das Gerät noch nicht im Gehäuse ist:
Links die ATmega328 Platte, rechts der 1100mAh Akku. Oben das Nokia 3310 Shield.
Hier mit angeschlossenem EM 406 A:
Hier im Gehäuse - man sieht schön den Blütenstaub :
Habe nochmal eine neue Funktion eingebaut: Cacheradar. Ist noch mit fixen Werten, weil ich den ATmega328 immer zwischen Arduino Uno und DIY Platine hin-und-herstecke und am Arduino Uno kein GPS angeschlossen habe.
Einige Menüs sind momentan noch ohne Funktion. Werden es aber bald sein
BTW: Wenn jemand von Euch Nokia 3310 Display Eigentümern eine Idee hat wie ich einen 3x5 Font auf das Nokia 3310 Shield bekomme wäre ich sehr dankbar! Ich benötige das für die GPX Beschreibung der Caches von geocaching.com.
danke Dir. Ja, das Gelbe ist ein Platiskteil, welches ich aus einem Gehäuse abgeschnitten habe. Das sind die "Gnubbel", in die man die Platinen mit Schrauben schraubt. Ich habe keine Ahnung, wie die "Dinger" heißen. Das habe ich dann mit Kleber auf den Stick geklebt.
Aber ACHTUNG: den Kleber nur sehr vorsichtig benutzen, sonst läuft er in den Stick und nichts geht mehr!
DE8MSH:
Wenn jemand von Euch Nokia 3310 Display Eigentümern eine Idee hat wie ich einen 3x5 Font auf das Nokia 3310 Shield bekomme wäre ich sehr dankbar!
Also ich machs ohne Library, da ist es kein Problem. Mit Library weiß ichs nicht...
DE8MSH:
Wenn jemand von Euch Nokia 3310 Display Eigentümern eine Idee hat wie ich einen 3x5 Font auf das Nokia 3310 Shield bekomme wäre ich sehr dankbar!
Also ich machs ohne Library, da ist es kein Problem. Mit Library weiß ichs nicht...
Meine Idee wäre eine Bitmap, die alle Zeichen x 4px Breit /6px hoch ist. Dann in .h umwandeln. Momentan weiß ich nicht, die ich die Routine bastel. Die LIB ist kompliziert gemacht, finde ich.
Ich würde bei mir (ich habe ein Array mit 504 Bytes (welches das Display repräsentiert, quasi ein FrameBuffer) welche nacheinander die sechs einzelnen Zeile füllen) das entsprechende vertikale Byte des Buchstaben und die gewünschte Y-Koordinate nehmen, das Byte in zwei Variablen packen, passend shiften und aufs Display ODERn.
Ungefähr so:
Also die "obere" Variable um sechs Positionen nach unten shiften und die "untere" um die restlichen zwei (muss insgesamt 8 ergeben) nach oben.
(Bei der Richtung der ">>" bin ich mir jetzt nicht sicher.)
Das "|=" ist wichtig, weil Du sonst mit der nächsten Zeile die aktuelle überschreibst.
Da musst Du dann allerdings ganz zu Anfang einen "Reinigungslauf" machen, also alles auf "0x00" setzen.
Und wenn Du das maximale an Buichstaben bei der Anzeige rausholen willst könntest Du den Font "proportional" anlegen, indem Du die Breiten von Zeichen wie "i", "l", "1", "." oder "!" berücksichtigst und nicht immer fest 3 Pixeln annimmst.
Das sieht dann auch in der Ausgabe besser aus, kostet aber etwas Aufwand.
C:\Program Files\Arduino\libraries\nokia_3310_lcd\nokia_3310_lcd.cpp: In member function 'void Nokia_3310_lcd::writeMiniChar(unsigned char, char)':
C:\Program Files\Arduino\libraries\nokia_3310_lcd\nokia_3310_lcd.cpp:434: error: invalid operands of types 'const unsigned char*' and 'int' to binary 'operator>>'
Kann sein dass da noch ein cast fehlt.
Kanns hier in der Firma nicht testen.
Das müsstest Du generell noch etwas aufbohren, da in der ersten Zeile ja garkein Shift nötig ist, und in der dritten jeweils 4 Bits weit geshiftet werden muss (vorausgesetzt ich hab das jetzt im Kopf nicht falsch überschlagen) und so weiter...
Müsste eigentlich shift= 0, 6, 4, 2, 0, ... sein, bei der anderen Variable "8-shift" in die andere Richtung.