Arduinoはイタリア生まれのマイコンボードです。イタリア語ではアルドゥイーノといいますが、一般的にアルディーノで通用します。

Arduinoの説明

Wikiを参照してください。

本コースの概要

初心者から始めて、次第に高度なプロジェクトを進めていける内容にしています。各月で、基礎的な知識を習得しながら、実際に手を動かして学んでいく形式です。

1月: はじめてのArduinoとセットアップ

  • 1回目: Arduinoの紹介、開発環境のインストール、基本的な構成
  • Arduino IDEのインストール方法
  • Arduinoボードの基本構造と役割
  • LED点灯プログラム(”Blink”)を動かしてみよう
  • 2回目: 基本的なプログラミングの理解
  • 「デジタル出力」とは
  • 複数のLEDを点灯させる(パターン制御)
  • プログラムのフローを理解(delay、loop関数の活用)

2月: センサーと入力デバイスの使用

  • 1回目: ボタンを使ってLEDを点灯/消灯
  • ボタンを接続し、スイッチ操作でLEDの点灯・消灯
  • デジタル入力とデジタル出力
  • 2回目: 直感的なセンサー入力を扱う
  • ポテンショメータ(可変抵抗)の使用
  • アナログ入力の基礎(map関数を使ってLEDの明るさを調整)

3月: 基本的な制御構造を学ぼう

  • 1回目: if文とelse文を使った制御
  • ボタンの状態に応じてLEDを点灯させる
  • 2回目: forループとwhileループの使い方
  • LEDの点滅パターンを変える(速度調整)

4月: センサーの応用(温度センサー、距離センサー)

  • 1回目: 温度センサー(LM35)を使って温度計を作る
  • アナログセンサーの使い方
  • 温度の読み取りとディスプレイ表示
  • 2回目: 超音波センサー(HC-SR04)を使って距離測定
  • 超音波センサーの使い方
  • 距離に応じてLEDの明るさを変化させる

5月: 複数のデバイスの連携

  • 1回目: 複数のセンサーを連携させた簡単なシステム
  • ボタン+温度センサーの組み合わせ
  • 入力に応じて動作を変更する
  • 2回目: モーターを使った制御(DCモーター、サーボモーター)
  • サーボモーターで角度調整

6月: ディスプレイと外部モジュールの活用

  • 1回目: LCDディスプレイにデータ表示
  • 基本的なLCDの使い方
  • 温度やボタンの状態を表示
  • 2回目: サウンド出力(ブザーやスピーカーの使用)
  • 音を鳴らすプログラムを作成
  • サウンドとタイミングを組み合わせる

7月: プロジェクト(基本的なロボットを作成)

  • 1回目: モーターを使ったロボットの基礎
  • ロボットを動かすためのシステム(モータードライバの使用)
  • 2回目: センサーで自動運転ロボットを作る
  • 距離センサーを使って障害物を避けるロボット

8月: Wi-Fiとインターネットの活用

  • 1回目: ESP8266を使ってWi-Fi接続
  • ArduinoからWi-Fi接続し、データを送信
  • HTTP通信の基本
  • 2回目: Webページでデバイスを制御
  • Wi-Fi経由でLEDの点灯/消灯をウェブブラウザで操作

9月: Bluetoothを使った制御

  • 1回目: Bluetoothモジュール(HC-05)を使った制御
  • Arduinoとスマホ間のBluetooth通信
  • 2回目: スマホアプリを使ってArduinoを制御
  • スマホからのボタン操作でLEDを制御

10月: センサーとクラウドの連携

  • 1回目: センサーのデータをインターネットに送信
  • 温度や湿度データをクラウドにアップロード(ThingSpeakやBlynkを利用)
  • 2回目: クラウドでデータを可視化
  • クラウドでデータを表示し、リアルタイムで監視

11月: より高度なロボット制御

  • 1回目: モーターを使ったPID制御
  • ロボットのスムーズな動きのためのPID制御
  • 2回目: センサーによる自律移動ロボット
  • 赤外線センサーを使った自律走行

12月: 年末プロジェクト発表

  • 1回目: 最終プロジェクトの作成
  • これまで学んだ内容を組み合わせて自由にプロジェクトを作成
  • ロボットやセンサーを使った面白いプロジェクト
  • 2回目: 発表とフィードバック
  • 参加者全員が自分のプロジェクトを発表
  • 他の人の作品を見て学ぶ

総合的な学習ポイント:

  • Arduinoの基本的なプログラミング(C言語の基礎)
  • センサー、モーター、ディスプレイなどのハードウェア制御
  • IoT(インターネットオブシングス)や無線通信(Wi-Fi、Bluetooth)を使ったデバイス制御
  • 実際のプロジェクトで学んだ技術を活用する