Operating Temperature range: -30 +85 deg-C
GPS
Linear accelerometer
Gyroscope
|
Compass
Barometer
|
Pin # | Signal | Direction | Description |
---|---|---|---|
1 | 3V3 | Power supply 3.3 Volt | |
2 | TXD | I | Cpu TXD serial line wired to GPS RX line |
3 | RXD | O | Cpu RXD serial line wired to GPS TX line |
4 | NC | Not connected | |
5 | NC | Not connected | |
6 | NC | Not connected | |
7 | SDA | I/O | I2C Bus DATA |
8 | SCL | I | I2C Bus CLOCK |
9 | NC | Not connected | |
10 | GND | Power supply GND |
The I2C bus is wired to the Compass, Accelerometer, Gyroscope and Barometer chips.
These are the usable connectors where to plug this board using the factory default Linux image:
Daisy connector | Serial device | I2C device |
---|---|---|
FOX Board G20 (+Daisy-1) D1 | /dev/ttyS2 | /dev/i2c-0 |
FOX Board G20 (+Daisy-1) D6 | /dev/ttyS4 | /dev/i2c-0 |
FOX Board G20 (+Daisy-1) D8 | /dev/ttyS3 | /dev/i2c-0 |
TERRA D10 | /dev/ttyS4 | /dev/i2c-0 |
Following are some examples of code in Python to read the data from the chip mounted on the DAISY-7 using a FOX Board G20 or a Terra Board.
They use Daisy classes defined inside the the Acme Systems ablib.py.
This example reads the NMEA message send by the GPS chip on the /dev/ttyS4 serial port (FOX.D6 or TERRA.D10 daisy connectors) and shows them on the Linux command line.
Run it by typing:
~/playground/python/daisy7# python readNMEA.py $GPGGA,115609.085,4157.9279,N,01204.6836,E,1,10,0.8,20.6,M,48.9,M,,0000*6D $GPGSA,A,3,09,12,15,29,17,25,27,04,02,14,,,1.4,0.8,1.2*3E $GPGSV,3,1,11,12,72,325,41,09,64,115,52,27,53,121,44,25,37,272,49*7D $GPGSV,3,2,11,14,31,308,44,02,21,117,38,04,20,078,35,29,17,205,51*78 $GPGSV,3,3,11,15,16,182,39,17,06,039,33,22,00,273,*47 $GPRMC,115609.085,A,4157.9279,N,01204.6836,E,000.0,041.6,170712,,,A*66 $GPVTG,041.6,T,,M,000.0,N,000.0,K,A*0E $GPGGA,115610.085,4157.9279,N,01204.6836,E,1,10,0.8,20.6,M,48.9,M,,0000*65 $GPGSA,A,3,09,12,15,29,17,25,27,04,02,14,,,1.4,0.8,1.2*3E ...
This example filters the NMEA messages GGA - Global Positioning Systems Fix Data and shows the Latitute and Longitude value on the system console provideing an URL to see on Google maps the current GPS position.
Run it by typing:
~/playground/python/daisy7# python googleCoordinates.py Latitude: 41.9654233333 Longitude: 12.07834 URL: https://maps.google.com/maps?q=41.965423,12.078340 Latitude: 41.9654233333 Longitude: 12.07834 URL: https://maps.google.com/maps?q=41.965423,12.078340 Latitude: 41.9654233333 Longitude: 12.07834 URL: https://maps.google.com/maps?q=41.965423,12.078340
Insert URL value on your browser and shown where the Daisy-7 is:
This example reads the X,Y and Z axis linear accelleration via I2C bus.
Run the example then move the DAISY-7 board so see linear speed variations.
~/playground/python/daisy7# python acc.py X= 1216 Y=-16528 Z= -2992 X= 1200 Y=-16272 Z= -2944 X= 1136 Y=-16288 Z= -3024 X= 1184 Y=-16272 Z= -2976 X= 1184 Y=-16304 Z= -2992 X= 1168 Y=-16352 Z= -2976
This example reads the X,Y and Z axis angular speed from the gyroscope chip via I2C bus.
Run the example then move the DAISY-7 board so see angular speed variations.
~/playground/python/daisy7# python gyro.py X= -10 Y= -18 Z= 8 X= -13 Y= -17 Z= 8 X= -2 Y= -16 Z= 6 X= -8 Y= -18 Z= 7 X= -7 Y= -18 Z= 8 X= -36 Y= -18 Z= 14
To read the Honeywell HMC5883L compass chip we have integrated in the ablib library part of the Think Bowl I2C Python Library.
Some features of this library are:
This is an example of code to use them:
~/playground/python/daisy7# python compass.py X= -147 Y= -184 Z= -437 X= -215 Y= -314 Z= -375 X= 57 Y= -292 Z= -420 X= 138 Y= -222 Z= -427 X= 315 Y= -128 Z= -353
The serial speed of GPS chip is fixed by hardware using the pin BAUD_SEL0 and BAUD_SEL1 visible on the schematic of GPS section. These pin are set at 3V3 via R19 and R17 resistors. R20 and R18 are Not Mounted.
This is the table of the serial speeds we can set changing the state of these pins:
Speed | BAUD_SEL0 | BAUD_SEL1 | R17 | R18 | R19 | R20 |
---|---|---|---|---|---|---|
4800 | 1 | 0 | No | Yes | Yes | No |
9600 | 0 | 0 | No | Yes | No | Yes |
38400 | 0 | 1 | Yes | No | No | Yes |
115200 | 1 | 1 | Yes | No | Yes | No |