Palm PDA

Hier ein paar kleine Programm für den Palm PDA. Entwickelt mit Palmphi.
Link zu Palmphi: http://www.digital-kingdoms.net/palmphi/main_de.html
Inkl. Sourcecode. Unter GPL V2.

LMC - Litte Man Computer Simulation

palm_lmc.zip

Philo - Philosophische Sprüche

palm_philo.zip

Hammurabi - Simple Siedler Simulation

palm_hammurabi.zip

Mastermind - Knack den Code

palm_mm.zip

pilot-xfer Frontend für Windows

Unterstuetzt com1,2+8. Funktionen: Install/Backup/Restore
Umwandeln von Ascii-Textdateien ins pdb Format (ebooks).
Inklusive pilot-xfer.exe und txt2pdb.exe und Source.
Sourcecode ist im ZIP Archive (MinGW32+MinGWStudio).
pilot.zip


Hier einige kleinere Hardwarebasteleien. Die Bibel zum Thema is: "Messer, Steuern, Regeln mit PalmOS" von B.Kainka/L.Gollub.
Eingesetzt wird die Trial Version von HotPaw Basic (ybasic.prc).

Einfacher LED Blinker

Schaltplan:

Programm:

#blink.bas
open "com1:",9600 as #5
while 1
  put #5,-3
  a=fn wait(0.250)
  put #5,-2
  a=fn wait(0.250)
wend
close #5
end
put #5,-3 = TXD einschalten
put #5,-2 = TXD ausschalten
a=fn wait(0.250) = 1/4 Sekunde warten

Einfacher AD-Wander

Schaltplan:

Lochrasteraufbau und Programm in Betrieb:

Programm:

#adtime.bas
open "com1:",19200 as #5
while 1
  gosub adtimer
  ralt =t
  draw -1
  for x = 1 to 158
    gosub adtimer
    draw x-1,150-ralt,x,150-t
    ralt =t
    a=fn wait(1)
  next x
wend
close #5
end

sub adtimer
n=0
put #5,-3
start=timer(100)
in=0
while in=0
  in=fn serial(-5) and 2
  n=n+1
  if n>300 then in=1
wend
t=(timer(100)-start)
put #5,-2
return

fn serial(-5) and 2 = CTS auf high abfragen


Neigungssensor-/Gravitationsmesser am Palm

Nach Till Harbaum: http://www.harbaum.org/till/palm

Die wunderbare Seite von Till ist immer wieder einen Besuch wert! Die Programme sind GPL.

Ich hatte vor Jahren schon einmal diese tolle Seite besucht.. aber der verwendete Sensor ADXL202 war mit zu teuer.
In 2009 kostet er bei segor ca. 26€.. Über Kongkong habe ich mir einen für ca. 20€ inkl. Versand bestellt.
Dann habe ich durch weitere Internet Recherchen herausgefunden, das dieser Sensor auch im Microsoft Sidewinder Freestyle
verbaut ist! Und da kommt man heute nicht nur günstig dran, sondern es ist auch schon fast alles aufgebaut!

Hier die Schritt- für Schritt Anleitung in Bildern:

So sieht der Microsoft Sidewinder Freestyle aus. Der mit dem "Bewegungssensor"!

So sieht der geöffnete Sidewinder / die Platine aus (Rot umrandet der ADXL202 Sensor):

Hier sollte man die Platine trennen (Dremel). Die LED auf der anderen Seite einfach abkneifen/auslöten:

Hier ist sie ausgeschnitten:

Per Multimeter und Nachmessen der Verbindungen, erkennt man, das eigendlich alles schon korrekt drauf ist.
Nur der Widerstand R13 ist mit 106 = 10 * 10^6 = 10MOhm ca. 100x zu groß! Aber auf den restlichen Platinenteilen
ist ein 104 = 10 * 10^4 = 100kOhm SMD Widerstand zu finden. Den 106 entfernen und den 104 anstatt dessen einlöten!
(Das übt man am besten zuerst an anderen SMD Teilen auf den Reststücken. Einfach beide Seiten mit dem Lötkolben erhitzen,
bis der Widerstand sich von den Lötpads einfach wegschieben läßt. Sollte er am Lötkolben kleben, einfach mit einer Pinzette abnehmen.
Es müssen dann auf einer Lochrasterplatine als Träger, ein Sub-D Stecker eingelötet und 4 dünne Kabel zur Sidewinder Platine
verbunden werden (+5V und GND zum 100uF Kondensator, RTS+CTS zum ADXL202). Die beiden SMD-Kondensatoren haben im orig. Schaltplan
übrigens 100nf.. keine Ahnung, welche Werte sie hier auf der Sidewinder Platinen haben.. aber es funktioniert.

Hier auf Lochraster (Mit Heißkleber fixiert):

Und hier ein Test mit tilt_dongel.prc + accel_test.prc tilt.zip ;

Und es geht auch noch kleiner.. im m100 Hotsync Dongel:
Unterseite Gummi entfernen. 2 Schrauben lösen. Öffnen. Kabel+Kondensator+Button entfernen (ablöten/abkneifen).
Die 4 Verbindungen werden auf die Unterseite/Lötseite des Steckers angebracht. Die alte Platine dient nur als Träger.


Ich hatte dann versucht, selbst ein kleines Programm zu schreiben, was die Tilt Lib nutzt. Dabei hatte ich zuerst massive Probleme.. Ich bin nach dem Quellcode von Accel_test.c gegangen.. Da wurde aber z.B Uint und Word als Variablentypen verwenden..? Diese gab es aber so nicht.. Nach einige Fehlversuchen habe ich mir den Quellcode der Lib selbst (tilt_dongel.c) angesehen.. Dort war auch die Bezeichnung zum finden der Lib anders (dongel anstatt sensor).. Nun letzlich habe ich es hinbekommen. Hier ist nun das Testprogramm unter Palmphi. Zuerst [Open]. Dann kann das Auslesen des sensors über [Start/Stop] aktiviert werden. [Close] schließt die Lib wieder. [Test] testet nur die Ball/Kugel Zeichnung. Bedeutung der Checkboxen:

x|y = X und Y-Achse werden vertauscht
-x = X Werte werden invertiert = aus links wird rechts.
-y = Y Werte werden invertiert = aus oben wird unten.


tilt_test.zip