33 * @file imu.ino
44 * @author SeanKwok ([email protected] ) 55 * @brief M5AtomS3 IMU Test
6- * @version 0.1
6+ * @version 0.2
77 * @date 2023-12-13
88 *
99 *
10- * @Hardwares: M5AtomS3
10+ * @Hardwares: M5AtomS3 / M5AtomS3R
1111 * @Platform Version: Arduino M5Stack Board Manager v2.0.9
1212 * @Dependent Library:
1313 * M5GFX: https://github.com/m5stack/M5GFX
1717
1818#include < M5Unified.h>
1919
20- void setup (void ) {
21- auto cfg = M5.config ();
20+ void setup (void )
21+ {
22+ delay (2000 );
23+ auto cfg = M5.config ();
24+ cfg.serial_baudrate = 115200 ;
2225 M5.begin (cfg);
2326}
2427
25- void loop (void ) {
28+ void loop (void )
29+ {
2630 auto imu_update = M5.Imu .update ();
2731 if (imu_update) {
2832 M5.Lcd .setCursor (0 , 40 );
29- M5.Lcd .clear (); // Delay 100ms 延迟100ms
33+ M5.Lcd .fillRect ( 0 , 40 , M5. Lcd . width (), 40 , BLACK);
3034
3135 auto data = M5.Imu .getImuData ();
3236
@@ -41,19 +45,25 @@ void loop(void) {
4145 data.gyro .z ; // gyro z-axis value.
4246 data.gyro .value ; // gyro 3values array [0]=x / [1]=y / [2]=z.
4347
48+ if (M5.getBoard () == m5::board_t ::board_M5AtomS3R) {
49+ data.mag .x ; // mag x-axis value.
50+ data.mag .y ; // mag y-axis value.
51+ data.mag .z ; // mag z-axis value.
52+ data.mag .value ; // mag 3values array [0]=x / [1]=y / [2]=z.
53+ }
54+
4455 data.value ; // all sensor 9values array [0~2]=accel / [3~5]=gyro /
4556 // [6~8]=mag
4657
47- Serial.printf (" ax:%f ay:%f az:%f\r\n " , data.accel .x , data.accel .y ,
48- data.accel .z );
49- Serial.printf (" gx:%f gy:%f gz:%f\r\n " , data.gyro .x , data.gyro .y ,
50- data.gyro .z );
58+ Serial.printf (" ax:%f ay:%f az:%f\r\n " , data.accel .x , data.accel .y , data.accel .z );
59+ Serial.printf (" gx:%f gy:%f gz:%f\r\n " , data.gyro .x , data.gyro .y , data.gyro .z );
60+ Serial.printf (" mx:%f my:%f mz:%f\r\n " , data.mag .x , data.mag .y , data.mag .z );
5161
5262 M5.Lcd .printf (" IMU:\r\n " );
53- M5.Lcd .printf (" %0.2f %0.2f %0.2f\r\n " , data.accel .x , data.accel .y ,
54- data.accel .z );
55- M5.Lcd .printf (" %0.2f %0.2f %0.2f\r\n " , data.gyro .x , data.gyro .y ,
56- data.gyro .z );
63+ M5.Lcd .printf (" %0.2f %0.2f %0.2f\r\n " , data.accel .x , data.accel .y , data.accel .z );
64+ M5.Lcd .printf (" %0.2f %0.2f %0.2f\r\n " , data.gyro .x , data.gyro .y , data.gyro .z );
65+ M5.Lcd .printf (" %0.2f %0.2f %0.2f\r\n " , data.mag .x , data.mag .y , data.mag .z );
5766 }
67+
5868 delay (100 );
5969}
0 commit comments