Both sides previous revision Previous revision Next revision | Previous revision |
lwc:hardware:sensors [2023/03/16 20:47] – John Harrison | lwc:hardware:sensors [2023/08/17 12:07] (current) – John Harrison |
---|
* [[https://www.amazon.com/dp/B08NY9JSZ3|product]] (with GPS running at 38400 baud) | * [[https://www.amazon.com/dp/B08NY9JSZ3|product]] (with GPS running at 38400 baud) |
* [[https://ozzmaker.com/faq/how-do-i-change-the-baud-rate-on-the-gps-module/|change GPS to 9600 baud]] | * [[https://ozzmaker.com/faq/how-do-i-change-the-baud-rate-on-the-gps-module/|change GPS to 9600 baud]] |
| |
| ===== QMC5883L Magnetometer ===== |
| * device can switch between standby mode and continuous mode via writing to registers via I2C |
| * the [[https://github.com/mprograms/QMC5883LCompass|mprograms library]] supports this |
| * [[https://nettigo.pl/attachments/440|datasheet]] explains that reading/writing via I2C is still possible in standby mode |
| |
| ===== Accelerometers ===== |
| * [[https://wolles-elektronikkiste.de/en/adxl345-the-universal-accelerometer-part-1|nice library and sample code for ADXL345]] |
| |
| ===== GPS ===== |
| * [[https://www.instructables.com/GPS-Monitoring-With-OLED-Display-Project/|uC (circuit and c code) with ATGM332d]] |
| ==== Ublox Commands ==== |
| * You can get the commands for hot start, cold start, etc. by opening up the ''messages'' window from the ''view'' menu |
| * hot start and cold start are in ''CFG'' under 'RST' |
| * click ''show hex toggle'' (icon at the bottom) to see the hex values for the command to be sent |
| * cold start: B5 62 06 04 04 00 FF A1 02 00 B0 47 |
| * hot start: B5 62 06 04 04 00 00 00 02 00 10 68 |
| * warm start: B5 62 06 04 04 00 01 00 02 00 11 6C |
| |
| ===== Gyroscope ===== |
| ==== MPU6050 ==== |
| * [[https://github.com/electroniccats/mpu6050|arduino library]] which is more popular and seems more sophisticated (in a good way) from Adafruit's |
| * [[https://howtomechatronics.com/tutorials/arduino/arduino-and-mpu6050-accelerometer-and-gyroscope-tutorial/|excellent tutorial]] |
| * [[https://arduino.stackexchange.com/questions/48424/how-to-generate-hardware-interrupt-in-mpu6050-to-wakeup-arduino-from-sleep-mode|some clues]] for how to get MPU6050 in cycle mode and maybe use sleep mode for MCU instead of shutting down |
| * [[https://github.com/jrowberg/i2cdevlib/issues/665|a peek]] in how to set registers using the MPU6050 library |
| * [[https://github.com/jrowberg/i2cdevlib/issues/559|a discussion]] on those pesky interrupts and how the library might not do it correctly |
| * [[https://mjwhite8119.github.io/Robots/mpu6050|in-depth look at the MPU6050]] although basically it's the example code explained, which already seems to ignore its own interrupt routine |
| * [[https://arduino.stackexchange.com/questions/85896/mpu6050-arduino-jeff-rowberg-library-interrupt-issue|getting the arduino to recognize the interrupts]] |
| * [[https://www.eluke.nl/2016/08/11/how-to-enable-motion-detection-interrupt-on-mpu6050/|a complete walkthrough without code on motion detection interrupt for MPU6050]] |