LoginSignup
0
0

More than 3 years have passed since last update.

第1回 Arduinoはじめました

Last updated at Posted at 2019-08-20

こんどはArduinoをさわってみました
第1回 Arduinoはじめました
第2回 ArduinoによるI2C パラレスインターフェース(GPIO)の操作

用意したもの

本体

  1. Arduino UNO
  2. USB A<-->Bケーブル
  3. windowsマシーン(macでもlinuxでも)
  4. lucky shield

開発環境

  1. Windows ZIP版のIDEをダウンロードして解凍
  2. ardionoをクリックしてIDEを起動

Hello Lチカ

手順

  1. IDEを起動
  2. USBでUNOと接続
  3. シリアルポートをセット(ツール/シリアルポート/COMx(Arduino/Genuino Uno)を選ぶ
  4. ボードを選ぶ(ツール/ボード/Arduino/Gunuino Uno)
  5. スケッチ例を開く(ファイル/スケッチ例/01.Basics/Blink)
  6. スケッチを検証(ツールバーのチェックマークアイコン)
  7. 書き込み(ツールバーの矢印アイコン)

スケッチを読む

  • コメントは//や/* */
  • void setup()に設定を書く。リセット後最初に一度だけ呼ばれる
  • void loop()ここを繰り返し実行する。

デジタルピンの使い方

pinMode(pin, mode) setup()にてデジタルピンを入力で使うか出力で使うかを設定
digitalWrite(pin,HIGH|LOW) デジタルピンへの出力
digitalRead(pin) デジタルピンの読み込み

アナログピンの使い方

そのうち調べて追記します。

定石

loop()
//最も単純なイベント処理の記述
void loop{
   if (イベント) {
        処理
        必要に応じてdelay(継続時間);
   } else if (イベント) {
        処理
        必要に応じてdelay(継続時間);
   } else {
        処理
        必要に応じてdelay(継続時間);
   }
}

Lucky shieldを試してみる

いろいろついているのが良さそうなので
回路図をみると、いろいろなセンサーやスイッチ類がI2Cで接続されている。I2C接続なので、digitalRead(),digitakWrite()のように単純にはアクセスできない。これらを隠蔽するライブラリが用意されているので、とりあえず、これを使う。

ライブラリのインストール

  1. ライブラリがあるので、githubのarduino-libray-lucky-shield からダウンロード
  2. スケッチ/ライブライをインクルード/.zip形式のライブラリをインストール

サンプルを動かす

  1. スケッチ例を開く(ファイル/スケッチ例/Lucky Shield/Lucky Test)
  2. スケッチを検証(ツールバーのチェックマークアイコン)
  3. 書き込み(ツールバーの矢印アイコン)
  4. シリアルコンソールをオープン
サンプル
Lucky Test LED、リレーカチカチ、LED,JoyStick,加速度センサー,磁気センサー,気温・気圧・湿度表示
PreseceAlarm PIRセンスでブザーをならす
SimpleGIO JoyStickの動きに応じてLED点滅、リレーON/OFF
WeatherStation 温度、湿度、気圧表示

一通りためしてみましたが、PIRがちゃんと反応しない。調整が必要なのか、壊れているのか。

ライブラリの使い方

#include<Lucky.h>
void setup(){
    lucky.begin();
}
void loop(){
    //digital
    luckygpio().digitalRead(pin);//JOY{L|R|U|D|C},LED{1|2},REL{1|2},PB{1|2}
    luckygpio().digitalWrite(pin,{HIGH|LOW});
    //analogue
    lucky.accelerometer().read();
    lucky.accelerometer().x();
    lucky.accelerometer().y();
    lucky.accelerometer().z();
    //
    lucky.magnetometer().read();
    lucky.magnetometer().x();
    lucky.magnetometer().y();
    lucky.magnetometer().z();
    //
    lucky.environment().temperature();
    lucky.environment().pressure();
    lucky.environment().humidity();
}

まとめ

  • 本体とUSBケーブルとPCがあればとりあえず始められる。
  • スイッチやLEDなどデジタルパラレルインターフェース(GPIO)の操作は極めて簡単。アナログも同様と思う。
  • センサー類やGPIOの拡張はI2Cで接続されているので、ライブラリを使おう。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0