【Arduino入門】サンプル集

このページでは、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計測など

記事リンク 項目
気温測定 温度センサ(LM35DZ)とArduinoで室温を測定します。
PM2.5測定 ダストセンサ(Groveコネクタ)でPM2.5の濃度を計測します。
距離測定(赤外線センサ) 赤外線センサ(GP2Y0A21)とArduinoで距離計測を行います。
超音波センサ(SEEED) 超音波センサ(SEEED製)とArduinoで距離計測を行います。
超音波センサ(HC-SR04) 超音波センサ(HC-SR04)とArduinoで距離計測を行います。
人検知 焦電センサ:AKE-1とArduinoで物体検知を行います。
光量測定 CdsセンサとArduinoで自然光測定を行います。
傾斜角の測定 加速度センサ(KXM-52)とArduinoで傾斜角度の測定を行います。
圧力測定 圧力センサ(FSR-402)とArduinoで圧力測定を行います。
測定精度の向上 各種センサの測定精度を上げるためのポイントを解説します。
参考 気圧・気温から標高(高度)を計算
注意 I/OピンをGNDへ接続(故障原因)

【制御】DCモータ、RCサーボモータ、電流リレーなど

項目
DCモーター制御 DCモータの回転制御を行います。
RCサーボ制御 RCサーボの回転角度を制御します。
電流リレー 電流リレー(KY-019)を使って、電流をON/OFF制御します。

【通信】シリアル、SPI、CANなど

項目
シリアル通信 1文字の送受信文字列の送受信
CAN通信 CAN通信
ブザー 圧電スピーカ
LCD 文字表示
文字列 区切り文字で分割

【応用】パソコン、ラズベリーパイとの接続

「パソコン」や「ラズベリーパイ」と「Arduino」をUSB接続すれば、シリアル通信により相互にデータをやり取りしたりできます。

パソコン(Python)とArduinoで連携
はじめに LED制御(1文字)LED制御(文字列)
気温 気温測定①気温測定②気温測定(リアルタイムグラフ)
傾斜角 傾斜角測定(リアルタイムグラフ)
サーボモータ サーボモータ制御
赤外線距離センサ 簡易レーダー
超音波距離センサ 距離・SN比を表示
パソコン(Processing)とArduinoで連携
はじめに 文字列の送受信LED制御
ラズベリーパイ(Python)とArduinoで連携
初期設定 シリアル通信の有効化接続ポート確認①接続ポート確認②送信受信
LED制御 1文字文字列複数LED制御
超音波センサ S/N比の計算

【その他】Arduinoの特殊関数や便利ツール

項目
タイマー関数 割込処理
パルス関数 pulseIn
Fritzing HC-SR04追加
モータードライバー G2ハイパワーモータードライバ 24v21
参考サイト Computer Radio RF Tech

コメント

タイトルとURLをコピーしました