开发教程
在开始开发之前,请查看设置您的工具链以首先设置工具。
硬件概述
固件概述
Grove
Wio Tracker 1110 开发板有6个Grove接口,可以连接300多个Grove模块。点击这里了解更多关于Grove模块的信息。
Grove I2C
开发板上有一个Grove I2C端口,SDA
在引脚27,SCL
在引脚26。
Grove UART
Wio Tracker 1110 开发板有两个UART外设,分别是uart0
和uart1
。uart0
引脚连接到CH340C用于调试目的,而uart1
作为Grove UART端口。
参考原理图,TXD位于引脚8,RXD位于引脚6。
#define LED1 13
#define LED2 14
#define TXD 8
#define RXD 6
#define UART_TX_RX_BUF_SIZE 256
Grove 数字接口
#include <Adafruit_TinyUSB.h>
#include <Wire.h>
#include <Ultrasonic.h>
// 定义超声波传感器连接的引脚
constexpr int ULTRASONIC_PIN = D0;
Ultrasonic ultrasonic(ULTRASONIC_PIN);
void setup()
{
delay(100);
Serial.begin(115200); // 以115200波特率启动串口通信
while (!Serial) delay(100);
void loop()
{
long RangeInInches; // 存储英寸距离的变量
long RangeInCentimeters; // 存储厘米距离的变量
Serial.println("The distance to obstacles in front is: ");
RangeInInches = ultrasonic.MeasureInInches(); // 使用超声波传感器测量英寸距离
Serial.print(RangeInInches);
Serial.println(" inch");
delay(250);
RangeInCentimeters = ultrasonic.MeasureInCentimeters();
Serial.print(RangeInCentimeters);
Serial.println(" cm");
delay(2500);
}
Grove 模拟接口
示例代码:
#include <Adafruit_TinyUSB.h> // for Serial
constexpr int ADCIN = A0;
constexpr float MV_PER_LSB = 3600.0f / 1024.0f; // 10-bit ADC with 3.6V input range
void setup()
{
delay(100);
Serial.begin(115200);
while (!Serial) delay(100);
}
void loop()
{
// Get a fresh ADC value
long sum = 0;
for (int i = 0; i < 32; i++)
{
sum += analogRead(ADCIN);
}
int adcvalue = sum / 32;
// Display the results
Serial.print(adcvalue);
Serial.print(" [");
Serial.print((float)adcvalue * MV_PER_LSB);
Serial.println(" mV]");
delay(1000);
}