dx.com, spotgoedkoop voor arduino spul en dergelijke. ik gebruik de nano nu en koste iets van 6€ (verzending gratis).
de voeding moet superstabiel zijn. de referentiespanning voor de analoge ingangen hangt er namelijk rechtstreeks op. 0,1V verschil op de 5V voedingsspanning en daar gaan de analoge spanningen.
de temperatuursensor en brandstofvlotter zijn beide weerstanden. alleen maakt de auto (vermoedelijk de tellerunit) er iets anders van om die metertjes te laten uitslaan. als ik dat spul eruit gooi, kan ik men beide sensoren ook gewoon rechtstreeks uitlezen via de arduino. er staan geen boordspanningen op, dus met zijn propere 5V, gaan beide sensoren ook proper storingsvrij blijven.
alleen die toerenteller hé. bij een diesel hangt die op de dynamo en bij de benzine op de bobines. beide hoge stoorders.
voor de GPS sukkel ik een beetje, krijg ze maar niet uitgelezen met een arduino.
op het werk hebben we namelijk weerballonsondes. intern zitten druksensor, temp sensor, GPS, luchtvochtigheid,.... heleboel gezever dat me niet intresseerd. regelmatig is er zo een sonde waar 'iets' niet werkt. en dan vliegt die in de vuilbak (lees: die komt bij mij en daar verdwijnen stukken uit).
op men raspberry is het me al gelukt om een i-MET GPS unit te hacken en in te lezen. de chip intern is een UBLOX AMY-6 en staat op 57600kbs met een UBX binary message protocol (heeft ff geduurd voor ik die rare tekens leesbaar kreeg). message NAV-SOL, NAV-STATUS, NAV-SVINFO, NAV-CLOCK, INF, MON-EXCEPT10 57600 BUS Powered
we hebben ook een 2de soort sondes (GRAW) en ook deze zijn gehacked. die zijn gewoon op 9600bps en die stuurt zijn berichten gecodeerd via SiRF binary's. ook die is op een raspberry draaiende gekregen.
http://www.fordcapri.be/off/pics/eo/raspgps/ .
het voordeel is, raspberry draait een linux OS en daar installeer je wat GPS software op.
arduino is een dedicated machine zonder OS waar je gewoon een programma in laad. je moet dus libraries hebben om deze gegevens te verwerken. aangezien die niet bestaan, moet ik zelf nog een stap verder gaan en het bericht zelf decoderen (binair naar gps gegevens). ik ben al wat verder gegaan en heb gevonden dat de Sirf gps module bericht 41 gebruikt uit de manual:
Code:
A0 A2 00 5B 29 00 00 02 04 04 E8 1D 97 A7 62 07 D4 02 06 11 36 61 DA 1A 80 01 58 16 47
03 DF B7 55 48 8F FF FF FA C8 00 00 04 C6 15 00 00 00 00 00 00 00 00 00 00
00 00 00 BB 00 00 01 38 00 00 00 00 00 00 6B 0A F8 61 00 00 00 00 00 1C 13 14
00 00 00 00 00 00 00 00 00 00 00 00 08 05 00
dit is het begin van het bericht: A0 A2 00 5B
29 (0x29) is decimaal 41, dus message type 41
de rest zijn de gps gegevens
. go for it
ik ben nu op het werk met een basic NMEA gps muis bezig op 4800bps (NMEA zijn gewoon leesbare tekst berichten en niet ge-encodeerd), maar daar later mee verder. lukt het echt niet, koop ik een GPS module voor de arduino in de handel voor dit werkje (12€)
ik zou maar al te graag één van die werk gps'en draaiende krijgen. heb er gratis stock van (al 5 imets afgebroken) en 1 keer het bericht gedecodeerd raakt, kan ik de software 1000'den keren hergebruiken op al de rest
. kruipt alleen wat tijd in.
ik zie in men arduino al dat het bericht van de GPS gestuurd wordt, maar de arduino librarie doet er niks mee. eens ik het bericht daar zie binnenkomen, kan ik zelf de gegevens eruit halen.
BV 29
ik zou het gehelesysteem ongeveer 5min laten nadraaien in de auto (zonder scherm) en dan uitschakelen.
deze 'militaire' gps'en hebben op ongeveer 10-40sec een lock
. ik heb nog altijd een analoge snelheidsmeter, dat het gps signaal eens 10min wegvalt, boeit me niet (wel handig om een analoge teller te hebben als je eens in een tunnel rijd).
dit is het sirf bericht van hierboven gedecodeerd. ik zou er dus enkel mijn nodige gegevens kunnen uithalen (wat getallekes tellen)
Code:
29 message 41
00 00 0x0000 valid message
02 04 04 E8 gps week nr vanaf 6jan 1980
1D 97 A7 62 GPS time
07 D4 year
02 month
06 day
11 hour
36 minute
61 DA second
1A 80 01 58 sat ID
16 47 03 DF latitude
B7 55 48 8F longitude
FF FF FA C8 altitude
00 00 04 C6 altitude from MSL
15 map datum
00 00 speed over ground
00 00 course over ground
00 00 magnetic variation
00 00 climb rate
00 00 heading rate
00 00 00 BB horizontal position error
00 00 01 38 vertical position error
00 00 00 00 time error
00 00 horizontal velocity error
6B 0A F8 61 clock bias
00 00 00 00 clock bias error
00 1C 13 14 clock drift
00 00 00 00 clock drift error
00 00 00 00 distance
00 00 distance error
00 00 heading error
08 number of VS
05 DHOP
00 addition info