【ArduinoでIoT入門】基本的な使い方から応用例まで解説
Arduinoで電子工作する方法やサンプルプログラム(ソースコード)を入門者向けに解説しています。
【Arduinoとは】環境構築
Arduinoとは、「組み込み系に詳しくない人でも簡単に電子機器を制御できる」プラットフォームです。
– |
Arduinoの基本構成 |
① |
AVRマイコン |
② |
I/O(入出力)ポートを備えた基板 |
③ |
スケッチと呼ばれるC++風の言語による統合開発環境
|
Arduinoを使ってモーターを動かしたり音を鳴らしたりすることができます。
また、赤外線センサー、温度センサー、超音波距離センサーなどを繋いで観測をおこなうこともできます。
観測したデータを、無線通信(Bluetooth、wifi)や有線通信(USB)で 他の電子機器(ノートPCなど)に送ることもできます。
Arduino以外のマイコン(PICなど)でも同様のことは出来ますが、Arduinoが優れているのは簡単にできるという点です。
うまく利用すれば、ロボットや、百葉箱のような本格的な観測機器を作成することができます。
– |
環境構築編 |
Arduino IDEの導入 |
WindowsやMacにArduino IDEをインストールし、Arduinoを操作できる環境を構築する方法を解説します。 |
点灯制御 |
ArduinoのI/OピンでLEDを点灯させて動作確認します。 |
シミュレーション |
Tinkercadと呼ばれる無料サービスでArduinoを使った電気回路のシミュレーションを行います。Webアプリなので特別なソフトが不要で簡単に利用できます。 |
【センシング】温度、湿度、距離、光、Pm2.5計測など
【制御】DCモータ、RCサーボモータ、電流リレーなど
【通信】シリアル、SPI、CANなど
– |
項目 |
PCとシリアル通信 |
シリアル通信でArduinoマイコンとPC(Arduino IDE、Processing、Pythonなど)の間でデータをやり取りします。 |
ラズパイとシリアル通信 |
シリアル通信でArduinoマイコンとラズパイ(Pythonなど)の間でデータをやり取りします。 |
LCD |
LCDに文字を表示させます。 |
ビット演算 |
ビット演算(2進数)を行うための関数について解説します。 |
区切り文字で分割 |
区切り文字で文字列を分割します。 |
【応用】パソコン、ラズベリーパイとの接続
「パソコン」や「ラズベリーパイ」と「Arduino」をUSB接続すれば、シリアル通信により相互にデータをやり取りしたりできます。
– |
パソコン(Python)とArduinoで連携 |
気温のリアルタイム測定 |
温度センサで気温をリアルタイム測定し、その結果をリアルタイムにグラフ化させてみました。 |
傾斜角のリアルタイム測定 |
加速度センサで傾斜角をリアルタイム測定し、その結果をリアルタイムにグラフ化させてみました。 |
サーボモータ制御 |
サーボモーターの回転制御をPC側(Python)から行う方法を紹介します。 |
簡易レーダー |
赤外線距離センサを回転させて、簡易レーダーを作成しました。 |
距離・SN比を表示 |
超音波距離センサで距離を測定し、SN比と併せて表示させました。 |
【その他】Arduinoの特殊関数や便利ツール