TA的每日心情 | 开心 2024-10-14 08:33 |
---|
签到天数: 2451 天 连续签到: 1 天 [LV.Master]伴坛终老
|
本帖最后由 limale 于 2017-5-18 21:19 编辑
比较喜欢arduino的一个地方就是代码的通用性很强,因为底层的驱动库已经写好了从一个开发平台跨越到另一个开发平台时,代码几乎不需要更改就可以很好的运行。今天的这个例程就是以前fireduino的测试程序小改了一下,Curie Nano自带6轴的加速度和陀螺仪,有时候我们把Curie Nano穿戴起来需要查看实时的数据的时候串口显示显然是不行了,这个时候就需要一块屏幕来显示真是极好的。
LCD与Curie Nano的连线如下表,因为是模拟SPI通信,所以端口也可以自己在头文件中随意定义。
LCD | Curie Nano | GND | GND | 3.3V | 3.3V | SCLK | D4 | MOSI | D5 | RES | D6 | D/C | D7 | CS | D8 |
- #include "oled.h"
- #include "CurieIMU.h"
- void setup() {
- // put your setup code here, to run once:
- Sys_Init();
- // initialize device
- Serial.println("Initializing IMU device...");
- CurieIMU.begin();
- // Set the accelerometer range to 2G
- CurieIMU.setAccelerometerRange(2);
- // Set the accelerometer range to 250 degrees/second
- CurieIMU.setGyroRange(250);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- Main();
- char str[20] = {0};
- float ax, ay, az; //scaled accelerometer values
- float gx, gy, gz; //scaled Gyro values
- // read accelerometer measurements from device, scaled to the configured range
- CurieIMU.readAccelerometerScaled(ax, ay, az);
- // read gyro measurements from device, scaled to the configured range
- CurieIMU.readGyroScaled(gx, gy, gz);
- // display tab-separated accelerometer x/y/z values
- Serial.print("a:\t");
- Serial.print(ax);
- Serial.print("\t");
- Serial.print(ay);
- Serial.print("\t");
- Serial.print(az);
- Serial.print("\t");
- // display tab-separated gyro x/y/z values
- Serial.print("g:\t");
- Serial.print(gx);
- Serial.print("\t");
- Serial.print(gy);
- Serial.print("\t");
- Serial.print(gz);
- Serial.println();
- sprintf(str, "ax=%5.2f", ax);
- OLED_ShowString(0, 2, str, 8);
- sprintf(str, "ay=%5.2f", ay);
- OLED_ShowString(0, 3, str, 8);
- sprintf(str, "az=%5.2f", az);
- OLED_ShowString(0, 4, str, 8);
- sprintf(str, "gx=%7.2f", gx);
- OLED_ShowString(0, 5, str, 8);
- sprintf(str, "gy=%7.2f", gy);
- OLED_ShowString(0, 6, str, 8);
- sprintf(str, "gz=%7.2f", gz);
- OLED_ShowString(0, 7, str, 8);
- delay(200);
- }
复制代码 工程:
oled_display.zip
(6.92 KB, 下载次数: 4)
|
|