【技術レポート】センサモジュールをArduino言語とRubyで使いこなす -データシートを読み解き、コーディングする方法-
2024年05月14日
しまねソフト研究開発センターでは、IoT分野における先端技術支援や研究活動の一環として、センサモジュールのデータシートを読み解き、ライブラリに頼らずにArduino言語とRubyで動かす方法を全7回で詳しく解説する技術レポートを公開します。
しまねソフト研究開発センター(以降「ITOC」)では、IoT分野における先端技術支援や研究開発を通じて、島根県内企業の新たな製品・サービス創出支援に取り組んでいます。その取り組みの一環として、ITOCでIoT分野に関する共同研究や相談対応を行う東専門研究員によって、10種類のセンサモジュールを搭載する「Grove Beginner Kit for Arduino」を用いて、Arduino言語とRubyで動かす方法を詳しく解説する技術レポートを公開します。
レポートの目的
- データを集めるためのセンサデバイス開発では、予めマイコンやセンサモジュールのマニュアルとデータシートを読んで理解する必要があります。しかしながら、データシートは項目と数値の羅列であり、詳しい説明がないことから、その数値の意味を取り違えてしまう場合があります。
- そこで、本レポートでは10種類のセンサモジュールを搭載する「Grove Beginner Kit for Arduino」を用いて、Arduino言語とRubyで動かすことを通じてデータシートを読み解くとともにコーディングの方法を正しく理解することを目的としています。
- なお、「Grove Beginner Kit for Arduino」は、センサデバイスのプロトタイピングからSTEAM教育など幅広く活用されており、電子工作の初学者でも簡単に扱うことができます。さらにArduino言語とRubyで動かすためのサンプルプログラムを交えて紹介しているので、センサデバイスやIoTデバイスを使い始める一助となれば幸いです。
学べること
- データシートを読んで、正しいセンサモジュールの扱い方が分かる
- センサモジュールをArduino言語とRubyで動かす方法が分かる
- データシートからライブラリに頼らず、コーディングする方法が理解できる
Groveとは?
Groveとは、Seeed studioが開発している「ケーブルでつなぐだけ」で扱えるセンサーやブザー、LCD表示器など様々なモジュールです。どのモジュールもGrove共通の端子(コネクタ)があり、ブレッドボードや各種電子部品をはんだごて等を用いて組み立てる必要がなく、電子工作の初心者でも手軽に扱うことができます。各種マイコンボードなどで扱うためのベースボードも用意されており、Arduino、micro:bit、RaspberryPiなどでのスピーディーな開発が可能です。
Grove Beginner Kit for Arduinoとは?
Grove Beginner Kit for Arduinoは、一つのボードにArduino Uno互換ボード(ATmega328pベースのSeeeduino Lotus)と10種類のセンサモジュールを搭載したキットです。全てのセンサモジュールは予め配線されており、はんだ付けはもちろん、ブレッドボードやジャンパワイヤは不要です。また、キットからモジュールを取り外してGroveケーブルで接続することもできます。特に電子工作の初心者やSTEAM教育において効率的な学習やプロトタイピングを実現します。
レポートの公開先
東専門研究員によって、エンジニアに関する知識を記録・共有するためのエンジニアコミュニティサービスである「Qiita」に、以下のとおり全7回の技術レポートを公開しています(※リンクをクリックすると外部サイト「Qiita」へ移動します)。
GroveBeginnerKit を、C++(Arduino)とRuby(ラズパイ,Rboard) で使う | |
---|---|
#1 | GPIO(デジタル入出力) |
#2 | ADC(アナログ入力) |
#3 | PWM(パルス出力) |
#4 | I2C - 加速度センサー(LIS3DHTR) |
#5 | I2C - 気圧センサー(BMP280) |
#6 | I2C - 温湿度センサー(DHT20) |
#7 | I2C - OLED ビットマップディスプレイ(SSD1315) |
お問合せ先
本レポートに関するお問合せ、またはIoT分野の製品・サービス開発における技術相談がございましたら、以下のお問合せ先へご連絡下さい。
公益財団法人しまね産業振興財団
しまねソフト研究開発センター
Phone:0852-61-2225
Email:itoc@s-itoc.jp
担当:渡部