奮闘記【1】シリアル通信

2018年06月08日 16:27:43 by fdkltd

新入社員のhataです

今回はシリアル通信と関数を利用したプログラムについて勉強しました。
課題の内容は、センサと人の距離が700㎜未満になったとき「こんにちは」、センサの反応がなくなったとき「さようなら」という発声をするシステムの作成です。

使用したもの

・Arduino Nano(マイコンボード)

・AquestTalk(音声モジュール)

・VL53L0X(距離センサ)

です。

マイコンボード、音声モジュール、距離センサを以下の写真のように接続しました。

シリアル通信の勉強をするため、PCとマイコンボードをUART方式、マイコンボードと音声モジュールをSPI方式で、マイコンボードと距離センサをI2C方式で通信しました。

プログラムの動きは

1. センサの値をとる

2. センサの値が700㎜未満かどうか判断する

・700㎜未満だった場合、直前のセンサの値が700㎜未満でなければ「こんにちは」を発声する
・700㎜未満でない場合、直前のセンサの値が700㎜未満であれば「さようなら」を発声する

このような動作フローでプログラムを作成しました。

また、これらのプログラムの「距離センサ・音声モジュールの初期設定」「距離の測定」
「発話内容の設定」「音声モジュールのReady状態の確認」の部分を関数を用いてプログラムを行ったので、問題を引き起こしている関数がすぐにわかり、関数を用いることの有用性もよく理解できました。