開発チュートリアル
note
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
開発を始める前に、まず ツールチェーンのセットアップ を確認してツールをセットアップしてください。
ハードウェア概要
ファームウェア概要
Grove
Wio Tracker 1110 開発ボードには 6 つの Grove インターフェースがあり、300 以上の Grove モジュールに接続できます。Grove モジュールについて詳しくは こちら をご覧ください。
Grove I2C
DK には Grove I2C ポートがあり、SDA
はピン 27、SCL
はピン 26 に接続されています。
Grove UART
Wio Tracker 1110 開発ボードには 2 つの 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("前方の障害物までの距離: ");
RangeInInches = ultrasonic.MeasureInInches(); // 超音波センサーでインチ単位の距離を測定
Serial.print(RangeInInches);
Serial.println(" インチ");
delay(250);
RangeInCentimeters = ultrasonic.MeasureInCentimeters();
Serial.print(RangeInCentimeters);
Serial.println(" センチメートル");
delay(2500);
}
Grove アナログ
サンプルコード:
#include <Adafruit_TinyUSB.h> // シリアル通信用
constexpr int ADCIN = A0;
constexpr float MV_PER_LSB = 3600.0f / 1024.0f; // 10ビットADC、3.6V入力範囲
void setup()
{
delay(100);
Serial.begin(115200);
while (!Serial) delay(100);
}
void loop()
{
// 新しいADC値を取得
long sum = 0;
for (int i = 0; i < 32; i++)
{
sum += analogRead(ADCIN);
}
int adcvalue = sum / 32;
// 結果を表示
Serial.print(adcvalue);
Serial.print(" [");
Serial.print((float)adcvalue * MV_PER_LSB);
Serial.println(" mV]");
delay(1000);
}