• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Projekt: Sprachausgabe von Distanz und Richtg. zu Wegpunkten

klausklaus

Geocacher
Erst einmal nur für mich selbst habe ich eine WAYPOINTER getaufte kleine Baugruppe bestehend aus
* einem GPS-Empfängermodul
* einem ATMEGA168-Prozessor ( Software in BASCOM-AVR )
* und einem Sprachmodul "SOMO-14D"
mit folgenden Eigenschaften aufgebaut:
* Vom Anwender im internen EEPROM-Bereich des Prozessors ablegbare Daten von bis zu 16 Wegpunkten bestehend aus Längen- und Breitengrad
* Berechnung von Distanz und Richtung zwischen aktueller GPS-Position und jeweils per Schalter angewähltem Wegpunkt mit anschliessender Sprachausgabe
* Lautsprecher und Line-Ausgang
* Sprachausgabe nach Tastendruck oder cyclisch in wählbaren Zeitintervallen
* dabei 8 mögliche Pausenzeiten von 10 Sekunden bis 2 Minuten
* Einmalige Ansage des gewählten Wegpunkes nach Programmstart
* Sprachausgabe von Richtungswerten ist bei Bedarf abschaltbar
* Auswertung von NMEA-Daten ( GGA-Protokolle ) separater GPS-Empfänger mit seriellem 4800 oder 9600bps-Ausgang ist auch denkbar

Nachdem ich selbst kein aktiver Geocacher bin und das Ganze nur aus Spass an "GPS-Spielchen" realisiert habe, würde mich interessieren, ob Ihr in Eurem Bereich vielleicht Anwendungen für so ein Ding seht. Bei positiver Resonanz würde ich auch eine detailliertere Beschreibung erstellen.
Kostenmäßig sind etwa Euro 30 für das GPS-Modul, Euro 25 für den Sprachbaustein und Euro 15 für den Rest einzuplanen. Angehängt sind zwei Muster der Sprachausgabe:
Klaus
 

Anhänge

  • WP_D2.mp3
    209,8 KB · Aufrufe: 46
  • WP_E2.mp3
    195,1 KB · Aufrufe: 72

Windi

Geoguru
Na klar besteht hier Interesse.
Immer her mit den Schaltplänen, Bildern und Sourcefiles. :roll:

Wo hast du denn das Soundmodul gekauft?
 
OP
K

klausklaus

Geocacher
Windi schrieb:
Na klar besteht hier Interesse.
Immer her mit den Schaltplänen, Bildern und Sourcefiles. :roll:

Wo hast du denn das Soundmodul gekauft?

OK, dauert aber noch ein paar Tage.... bin noch am Optimieren

Das Modul gibt es vom Hersteller in Australien, von Fa. Sparkfun in den USA und auch ganz einfach bei Fa. Watterott:
http://www.watterott.com/de/Audio-Sound-Module-SOMO-14D

Klaus
 

Schnueffler

Geoguru
Kann ich mir schon vorstellen, dass man damit einen netten Cache realisieren kann. Mir kommt da so gerade die Idee, dass man das Teil in einem Hilfscache deponiert, und dann gibt das Gerät nur die Entfernung zu einem Wegpunkt aus. Man muss nun diese Gerät durch den Wald tragen und immer wieder die Abfrage starten, um den Cache zu finden.
 
OP
K

klausklaus

Geocacher
Schnueffler schrieb:
Kann ich mir schon vorstellen, dass man damit einen netten Cache realisieren kann. Mir kommt da so gerade die Idee, dass man das Teil in einem Hilfscache deponiert, und dann gibt das Gerät nur die Entfernung zu einem Wegpunkt aus. Man muss nun diese Gerät durch den Wald tragen und immer wieder die Abfrage starten, um den Cache zu finden.

Na ja, nicht zuletzt hab ich das hier geschrieben, um eventuelle zusätzliche Einsatzmöglichkeiten auszuloten. Ich selbst kenne die Geocaching-Praxis zu wenig, um dazu etwas sagen zu können. Jederzeit besteht natürlich auch noch die Möglichkeit, am Programm etwas zu ändern bzw. zu erweitern. Der Flash-Speicher des ATMEGA168 ist zur Zeit zu etwa 90% belegt, so dass hier auch noch einiger Platz für Erweiterungen ist und wenn das nicht langt, dann gibt es den ATMEGA auch noch eine Nummer größer.
Gewünscht hätte ich mir auch noch eine flottere Ansage der Werte, aber leider spinnt die zur Wandlung der MP3- oder WAV-Sprachfiles in das vom Sprachspeicher benutze AD4-Format bereitgestellte Windows-Software bei der Verarbeitung von Sprachsegmenten mit einer Länge von <700mS, wodurch kürzere Laute immer auf diese Länge erweitert werden müssen, so dass dann bei der Wiedergabe immer kleine Pausen entstehen. Aber man kann halt nicht immer alles haben.
Klaus.
 

stonewood

Geowizard
Ich träume ja immer noch von was das direkt auf 'ner SD-Card die Sounddaten aufzeichnet und abspielt - also nur Atmel, SD-Card und Lautsprecher (und hier natürlich GPS-Modul).

Ach ja, kennst Du das 'Reverse Geocache Puzzle'? http://arduiniana.org/projects/the-reverse-geo-cache-puzzle/

Ist in etwa sowas, aber ohne Sprachausgabe.
 
OP
K

klausklaus

Geocacher
stonewood schrieb:
Ich träume ja immer noch von was das direkt auf 'ner SD-Card die Sounddaten aufzeichnet und abspielt - also nur Atmel, SD-Card und Lautsprecher (und hier natürlich GPS-Modul).

Ich kenne so Dinger leider auch nur als Player

Ach ja, kennst Du das 'Reverse Geocache Puzzle'? http://arduiniana.org/projects/the-reverse-geo-cache-puzzle/
Ist in etwa sowas, aber ohne Sprachausgabe.

Ne, kannte ich nicht, aber nachdem es hierzu eine Unmenge von Infomaterial gibt, muss ich mich hinsichtlich der Fähigkeiten und Möglichkeiten erst einmal einlesen. Grundsätzlich ist so etwas aber unschwer auch in Bascom realisierbar..... und wenn man anstelle des bei mir noch verwendeten relativ teuren Sprachbausteins auch nur ein handelsübliches LC-Display nimmt, dann ist es auch für ein paar Euro nachbaubar.
Immerhin zeigt die riesige Resonanz zum "Reverse Geocache Puzzle", dass grundsätzlich Interesse an so etwas besteht.

Klaus
 
OP
K

klausklaus

Geocacher
So,
habe mich inzwischen etwas über die Funktion des "Reverse Geocache Puzzle" schlau gemacht. Wenn ich es richtig verstanden habe, dann gibt es eine Start-Taste, nach deren Betätigung immer die von einem GPS-Modul stammende aktuelle Position eingelesen und daraus die Entfernung zu einem im Programm abgelegten, vorerst aber noch unbekannten Punkt auf einem LC-Display angezeigt wird. Auch über den Klappmechanismus des Elektronikkastens gesteuert, hat man dabei insgesamt 50 Versuche frei, um sich dem geheimnisvollen Endpunkt möglichst immer weiter zu nähern.
Auf jeden Fall ist das eine interessante Idee, die doch auch einige Cleverness auf der Suche nach dem Zielpunkt zu verlangen scheint.

Klaus
 
OP
K

klausklaus

Geocacher
Hallo,
da ich den Text meines letzten Beitrags leider nicht mehr korrigieren konnte, hier noch ein Nachtrag:
Also, der Kasten besitzt einen Verrieglungsmechanismus, der sein Öffnen erst dann erlaubt, wenn eine Distanz zur abgespeicherten Position von <2Km festgestellt wurde wozu man 50 Versuche frei hat.
Klaus
 
OP
K

klausklaus

Geocacher
So,
basierend auf der "Reverse Geocache Puzzle Box" habe ich die ( vorläufigen ) Ideen für die von mir angedachte Sprachversion noch einmal durchdacht und dazu auch eine Seite erstellt:
http://www.kh-gps.de/geospeak.htm

Kritik, Anregungen usw. sind willkommen.
Klaus
 

hcy

Geoguru
Coole Sache, nur würde ich das wahrscheinlich mit einem Arduino lösen. Weniger zu löten und die IDE inkl. C-Programmiersprache gefällt mir wesentlich besser als Basic. Aber das sind persönliche Vorlieben.
 
OP
K

klausklaus

Geocacher
hcy schrieb:
Coole Sache, nur würde ich das wahrscheinlich mit einem Arduino lösen. Weniger zu löten und die IDE inkl. C-Programmiersprache gefällt mir wesentlich besser als Basic. Aber das sind persönliche Vorlieben.

Das mag alles so stimmen, würde aber bedeuten, dass ich erst einmal ausreichend "C" lernen müsste ( was im Alter nicht mehr ganz einfach ist ). So kann ich schätzungsweise 90% ohnehin schon vorhandener Softwarebausteine weiterverwenden und das Ganze somit mühelos auf einer A....backe umsetzen.
Wenn aber irgendwo Lust an einer Arduino-Version mit diesem Soundmodul besteht, so bin ich gern zu Hilfestellungen bereit. Eine entsprechende C-Routine meine ich auch schon irgendwo gesehen zu haben.

Klaus
 
OP
K

klausklaus

Geocacher
hcy schrieb:
Wo hast Du den Pololu Switch gekauft?

Hier als inländische Quelle:
http://www.tinkersoup.de/product_info.php?products_id=415
http://www.tinkersoup.de/product_info.php?products_id=394

.... hier eine weitere:
http://www.lipoly.de/index.php?main_page=product_info&cPath=880_883_1811&products_id=104578&zenid=ltcpn1tono8t0hqh2b4si19h57

Um die Wahrheit zu sagen: Ich warte derzeit noch auf die ( aber bereits angekündigte ) Lieferung, sodass ich dann auch mit der Softwareerstellung weiter machen kann.

Klaus
 

hcy

Geoguru
Ah ok, ich hatte den auch nur bei Tinkersoup gesehen. Das nervt mich immer so, ein Teil gibt es nur bei Versander A, ein anderes nur bei B so dass man am Ende mehr Versandkosten als Warenwert hat.
Bei Watterott hilft aber manchmal einfach nachfragen und die organisieren dann schon was man braucht.
 
OP
K

klausklaus

Geocacher
hcy schrieb:
Ah ok, ich hatte den auch nur bei Tinkersoup gesehen. Das nervt mich immer so, ein Teil gibt es nur bei Versander A, ein anderes nur bei B so dass man am Ende mehr Versandkosten als Warenwert hat.
Bei Watterott hilft aber manchmal einfach nachfragen und die organisieren dann schon was man braucht.

Na ja, der Watterott wirbt auch damit, dass er alle SparkFun-Produkte relativ schnell besorgen will. Nur wird er sich für etwas, das noch nicht zu seinem Normalbestand gehört, nun auch nicht gerade ein Bein ausreissen, so dass man sich dann doch in Geduld fassen muss.
Ich habe auch schon häufig direkt in den USA bestellt, aber auch hierbei ist immer Geduld gefragt. Somit ist ein inländischer Lieferant in der Regel zu bevorzugen.... aber, obwohl von Tinker schon vor 2 Tagen als ausgeliefert deklariert, sind die Schalter auch heute noch nicht angekommen.
Klaus
 

hcy

Geoguru
Ich finde ja das Sprachausgabemodul das Du benutzt genial. Ich hatte für ein Projekt letztens auch nach einer Sprachausgabe gesucht und dann das Wave-Shield von Ladyada (http://www.ladyada.net/make/waveshield/) genommen, kostet ca. 3 EUR weniger als Dein Teil, ist aber nicht so schön klein. Dafür kann man einfach Wave abspielen und muss das nicht konvertieren.

Wie parst Du denn die NMEA-Daten, hast Du das selbst geschrieben oder gibt's da eine fertige Lib für den Atmel?
 
OP
K

klausklaus

Geocacher
hcy schrieb:
Ich finde ja das Sprachausgabemodul das Du benutzt genial. Ich hatte für ein Projekt letztens auch nach einer Sprachausgabe gesucht und dann das Wave-Shield von Ladyada (http://www.ladyada.net/make/waveshield/) genommen, kostet ca. 3 EUR weniger als Dein Teil, ist aber nicht so schön klein. Dafür kann man einfach Wave abspielen und muss das nicht konvertieren.

Das von Dir genannte Modul werde ich mir einmal anschauen. Na ja, das mit dem Zwang zur AD4-Convertierung ist bei dem SOMO zwar ein gewisser Nachteil, aber nach dem das ( unter Berücksichtigung der auf meiner Seite genannten Einschränkungen ) grundsätzlich aber problemlos machbar ist, denke ich, dass man diese Kröte schlucken kann. Preis, Verfügbarkeit und Einsetzbarkeit dieses Bausteins sind jedenfalls OK.

Angefangen hatte ich schon vor vielen Jahren mit den ISD-Bausteinen von ( später ) Fa. Winbond. Vorteil bei ihnen war, dass sie auch uC-gesteuerte Sprachrecordings erlaubten. Nachdem meine Anwendungen aber in der Regel nur die Wiedergabe vieler voraufgezeichneter kurzer Sprachsegmente erforderten und man diese dann bei jedem einzelnen Exemplar vorher mühsam einzeln aufsprechen musste, war das auch nicht DIE Lösung. Zudem war der NF-Frequenzumfang der Dinger lausig. Jetzt habe ich allerdings irgendwo gelesen, dass Winbond sie sowieso abgekündigt hat.

Mit anderen Sprachspeicherbausteinen habe ich auch experimentiert, aber sie waren entweder zu teuer ( Euro 80-100 ) oder nur schwer erhältlich. Da war der "VMUSIC2" von Fa. FTDI schon ein echter Fortschritt. Er kostet ca. Euro 35 und erlaubt das qualitativ hochwertige Abspielen von WAV- oder MP3-Files, die dazu auf einem einsteckbaren USB-Stick bereitzustellen sind, womit das Ganze allerdings relativ gross wird.

Wie parst Du denn die NMEA-Daten, hast Du das selbst geschrieben oder gibt's da eine fertige Lib für den Atmel?

Unter Bascom-AVR sind das nur wenige Programmzeilen. Das Grundprinzip war einmal in einem Buch von Dr. Kühnel beschrieben und wurde von mir schon ( gefühlt ) tausendfach verwendet. Bei Interesse könnte ich die Funktion näher beschreiben.

Klaus
 
OP
K

klausklaus

Geocacher
Hallo,
hier ein minimalisiertes NMEA-Einleseprogramm ( hier für GGA-Datensätze ), das sich in dieser Form bereits mit dem BASCOM-AVR-Simulator testen lässt.
Ein operativer Betrieb mit Verarbeitung seriell eintreffender Daten erfordert das Ausklammern bzw. Entklammern der entsprechend markierten Datenzeilen

Klaus

'--------------------------------------------------------------------------
'GPS-Parser
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 4800
$hwstack = 32
$swstack = 32
$framesize = 96
$sim '#### nur fuer Test ####

Dim A As Byte
Dim Gpsdata As String * 80
Dim Head As String * 6
Dim Ar(12) As String * 12
Dim Bcount As Byte
Dim J As Byte

Dim Lat As String * 12
Dim Ns As String * 2
Dim Lon As String * 12
Dim Ew As String * 2
Dim Qual As String * 2
Dim Sats As String * 3
Dim Hoehe As String * 8

'serielle Dateneinlesung von NMEA-Protokollen ( hier Typ: GGA )
' und Ablage in 'Variable "Gpsdata"
'--------------------------------------------------------------------
'Do '#### aktiviere fuer Betrieb ####
'A = Inkey() '#### dto. ####
'If A = 36 Then Input Gpsdata Noecho '#### dto. ####
'Head = Mid(gpsdata , 1 , 5) '#### dto. ####
'Loop Until Head = "GPGGA" '#### dto. ####
Gpsdata = "$" + Gpsdata

'GGA-Testfile fuer Simulationszwecke
'----------------------------------------------------------------------
Gpsdata = "$GPGGA,123456.0,4958.678,N,00812.123,E,1,08,0.94,1234,M,047,M,,*58" '#### nur fuer Test ####

'serielle Testausgabe von GGA-String
'---------------------------------------
Print Gpsdata
Print

'Stringzerlegung via Array
'-------------------------------------
Bcount = Split(gpsdata , Ar(1) , ",")
For J = 1 To Bcount
Next

'Variablenzuweisung ausgewaehlter Stringinhalte
'------------------------------------------------------------------
Lat = Ar(3)
Ns = Ar(4)
Lon = Ar(5)
Ew = Ar(6)
Qual = Ar(7)
Sats = Ar(8)
Hoehe = Ar(10)

'serielle Testausgabe ausgewaehlter Stringinhalte
'-----------------------------------------------------------------
Print "Breitengrad : " ; Lat
Print "N/S : " ; Ns
Print "Laengengrad : " ; Lon
Print "E/W : " ; Ew
Print "Validity : " ; Qual
Print "Satelliten : " ; Sats
Print "Höhe(m) : " ; Hoehe

End
 
Oben