気の向くままに辿るIT/ICT/IoT
IoT・電子工作

Arduino互換機ほかIoT・電子工作パーツ類の追加購入2

ホーム前へ次へ
電子工作って?

Arduino互換機ほかIoT・電子工作パーツ類の追加購入2

Arduino互換機ほかIoT・電子工作パーツ類の追加購入2

2017/04/04

 先日、初めての電子パーツ購入買い忘れほか追加購入に続き、また、Amazon/HiLetgoでポチってしまいました。

 到着は、注文時04/18、Amazon的表記では04/06〜04/30の間予定ですが、入金は明日するので単純計算で1日プラス。

 実用品を作ること、ここにレビューを載せること、DIY欲求、好奇心、学習意欲を満たすことなど数多くの目的があれば、これは浪費ではなく投資ですし、それに激安互換機なので、それでも安価とは言え公式品を買うのに比べたら、それなりの対応は迫られる可能性はあるものの、それも学習であり、相当安く購入できているから、むしろ得した気分!、まして実用品が2つ3つもできたら元が取れたどころじゃないでしょと自分に言いきかせて!?います。

 ちなみに前回までに買ったのは、Arduino互換Uno、Pro Mini、FTDIシリアルUSB変換モジュール(FTDI232用FT232RL互換のFTD1232)、イーサネットシールドW5100、テスターLCR-T4、赤外線リモコンモジュールキット、赤外線LED&受信管、400穴ブレッドボード、ミニブレッドボード、ジャンパワイヤ(オス-オス/メス-オス/メス-メス)、DC-DC昇圧モジュール(XL6009)、DC-DC降圧モジュール(LM2596)、カーボン抵抗、LED3mm/全5色、タクトスイッチ、コンデンサ各種、トランジスタ各種、人感センサーHC-SR501、超音波センサーHY-SRF05の21点。

 さて、今回発注したのは、最初から個別発注してきた自身は買うことはないだろうと思っていたセットやキット類の37センサー・モジュール入りキット(2000円)を含む以下9点で計4940円。

  1. Arduino UNO R3互換機(Atmega328P/ATmega16U2開発ボード)
  2. 1.8インチTFT液晶(KMR-1.8 ST7735R SPI)
  3. ステッピングモーター&ULN2003ドライバボード
  4. DCモーター140型(5個入り)
  5. 金属皮膜抵抗(41種x20個=820個)
  6. CR2032電池ボックス(5個入り)
  7. ベークライトPCBユニバーサルボード(10枚入り)
  8. カプトンテープ
  9. 37センサー・モジュールキット

 キット、セットだと不要なものや手持ちと重複するものがあったりするんでしょ?と思われるでしょうが(って通販番組か!)、それでもセンサー・モジュール37個が2000円って1個100円しないというか50円強となると仮にそうでも買いでしょ、それ以外のものに目を向けてみても正規品ならUNO互換機とTFT液晶だけで余裕で越えるであろう2940円で、これだけのものと数が揃うとなると激安としか言いようがありません。

 37個の中身ですが、リレーモジュール、レーザーセンサー、障害物回避センサー、衝撃感知センサー、マイクロフォンセンサー(音をスイッチ化)、ライトカップセンサー・ボールセンサー・チルトセンサー(角度・傾き検知)、心拍センサー、ホールセンサー(アナログ・磁気・線形)、火炎検知センサー、光センサー(フォトレジスタ)、光遮蔽センサー、ロータリーエンコーダー、リードスイッチセンサー2種、タップ/ノックセンサー、タッチセンサー、トラッキングセンサー、ジョイスティック、アクティブブザー、圧電ブザー、赤外線送信モジュール、赤外線受信モジュール、2色BiColorセンサー2つ、自動7色LED、SMD LED、RGB LED、ボタンモジュール、温湿度モジュール、温度モジュール(アナログ・デジタル・ほか計3種)など。

 尚、実用品1号は無難なところで?デジタル温湿度計付きの時計かな?ということで追加でWifiモジュール、RTCモジュール、LCD16x2、LCD128x64を、また、この店にはなさ気だったのでAmazon配送品などでシートミラー、シートルーペ(時計画面が小さかった時の加工用を想定)、サーボモータも購入予定、サーボモータは単価からして(名前が多少ん?って感じがしなくもないですが)OSOYOの10個セットにしようかと、10個もいるか!?って一瞬思いましたが、考えてみれば、3Dプリンタ、CNC系装置類、ソーラートラッキング装置、ドローン、ラジコンカー、ロボット等々いろいろ使い途がありますからね。

 (って作れるのかよ!作るよ!ほとんど他人真似とは言え、届いたものは速攻で片っ端から動作確認してるし、作れるよ、不器用だけど、たぶん、きっと、もしかしたら、そんな気がするようなしないような。。。いやいや、そのために始めたみたいなところもあるし大丈夫っしょ。って初の電子工作・IoT、思い立ってからまだ1ヶ月、初めてモノが届いてから2週間しか経ってませんけどね。)

目視/動作確認・レビュー

2017/04/18以降 => 2017/05/01の予定 => 2017/04/16到着
[2017/04/16〜2017/04/19]

 届いたので一気に動作確認及びレビューしていきます。

Arduino UNO R3互換機・1.8インチTFT液晶・ステップモーター・DCモーター

 まずは、Arduino UNO R3互換機、TFT液晶、ステッピングモーター、140モーターのレビューから。

Arduino UNO R3互換機

 今回は、同じUNO R3互換機の中からATMEGA16U2開発ボード(610円)というのを買ってみました(前回はATmega328Pとありましたが、16U2という表記はなし)。

 付属品は、USBケーブル(A-B)があり、前回あったピンヘッダが今回はないだけですね。

 前回買ったものとの比較のために選んだのですが、USBチップだけの違いかも。。。?と思ったら大間違いの模様。

 ATmega8U2/ATmega16U2/ATmega32U2とシリーズ化されており、8/16/32は、実装書き換え可能なフラッシュメモリ容量を指すようでATmega32U2はLeonardo、ATmega16U2はUnoに搭載されている模様。

 つまり、前回買ったこれら表記のなかったUNO互換機は、フラッシュメモリへの書き込み・書き換えができませんが、これはできると。。。で、それができると何が嬉しいのか。。。ちょっとしたデータならSDカードを使うまでもないっていう他は。。。詳細については、非公式ながらATmega8U2/16U2/32U2(PDFファイル)に詳しすぎるくらい詳しく書いてありました。

Arduino Uno Atmega16U2ボードと前回買ったUnoを比較(表面)

 このATmega16U2ボード(写真上)には、WWW.ARDUINO.CC、MADE IN ITARYなどとあり、背面も前回のUNO互換機と違い、本家と同じらしき白ベースに青字、これも前回と異なり、R3で追加されたというAREF横の6ピン、RESET横にIOREFピン(コネクタ)があるタイプでした。

Arduino Uno Atmega16U2ボードと前回買ったUnoを比較(裏面)

 裏面、同じく写真上が今回買ったATmega16U2開発ボード(DCコネクタも付いているが出っ張りが少ない)、写真下の前回買ったUNOが少し浮いて見えるのはネットワークシールドW5100を装着した状態の為。

 何れにしても自身は、今のところ以前のものでも十二分に満足で、その違いに飛びつくほど理解が追いついていない為、そのままの知識レベルなら次回買うときは、より安価な前回と同様のものになるでしょう。。。

 目視チェックの上、電源投入、デフォルトでLチカが動作することも確認しましたが、ボードへの書き込み確認の為、サンプルスケッチFadeをアップロード、実行確認しました。

 現在、UNO2台、Pro Miniが1台あるので検証用にUNO1台として、激安品だけにATTinyほかICを使うまでもないだろうから2つは実用品に使える状態、Pro Miniは後段リンクにある製作中の鳥除けマシーンに使うことにしました。

1.8インチTFT液晶

 680円で解像度128x160のTFT液晶ディスプレイ、16x2のLCDでも良かったのですが、これで練習して実用性を考える段になってから別途必要なら16x2なり、128x64なり、128x160なりを改めて選定しようかと(時計を作るにあたり、各種LCDを含め、追加発注しました)。

 今時点、電気のデバッガ?程度の知識しかないものの、実は、いつの日かオシロスコープやロジックアナライザを自作しようという野望を抱いているのであります。(というかロジアナについてはHiLetgoにPCと併用するらしき24MHz、8ch、USB接続で750円の激安基板があります。。。他をあたれば60MHz(オーバークロック)、8chなんてものもあるらしい。。。これらを使うならモニタは不要か、ならオシロ用ということで。)

画面が真っ白

 基板上にKMR-1.8とあったので検索してみると本家フォーラムTopic: New library for cheap KMR-1.8 SPI (S6D02A1 and ILI9163) TFT displaysに答えがありました。

 ST7735用は異なるライブラリがあるとのことで早速試してみたところ、真っ白いバックライトは点きますが、何も表示されない。。。Adafruit ST7735/Adafruit GFX、Arduino IDE標準サンルTFTも試してみるも同じ、壊れているのか?何か見落としているのか。。。まだ、ちょっと調査が必要そう。。。ペンディング。

[2017/04/25]

 いくらやってみても映像が表示されない、言語圏問わずネット上にKMR-1.8が何かを表示している画像や詳細がなく結果動いて使ってるよといった情報は数少ないながら数件ヒットするものの、動作した詳細環境(スケッチや配線)情報が全くないこともあり、HiLetgoに妙案を問い合わせ、提供する資料やライブラリで再確認を求められるも表示できなかった旨を伝え、良品発送か、返金の提案を受け、返金処理して頂くことに。

 というわけで更に追加で買った複数のLCD以外にもHiLetgoに新たにいくつかLCDが追加されているようなのでKMR-1.8は諦め、別のものを買って試してみようかと。

[2017/04/26]

 返金手順、手持ちのKMR-1.8をどうしたらよいのか確認するメールに対し、返金した旨の返信があり、確認するとちょうど当該商品販売価格が下がる前後でしたが、買った時の金額をAmazonギフト券で100%返金、手許のKMR-1.8も返送不要という期待以上の迅速かつ誠意あるご対応頂きました。

[2017/05/17]

 最近になってKMR-1.8 SPIが(たぶん正常に)表示できることがわかったので、現在、再支払い方法についてHiLetgoに相談中。

【判明した経緯】

 返金頂いたものの、KMR-1.8が表示できないのは、どうも解せない。。。と気になっていた折、後日上がっていた当該商品のAmazonカスタマーレビューにArduino MEGA ADKで1.8インチLCDを使ってみた!(ライブラリ:TFT18.rar)を元に利用できた旨の投稿が。。。試してみると確かに表示されました。。。

[訂正:2017/06/13]

 だとすると、なぜ、以前試したAdafruit_ST7735/Adafruit_GFXはダメだったんだ?ということで、その違いを比較してみるとスケッチ上の[#define sclk 13]、[#define mosi 11]はそのままに、実際には、KMR-1.8 SPIのSCLとSDAピンをArduino UnoのSCL、SDA(これらがないUnoの場合A5/A4でもいけるかと)に接続、かつ、スケッチに書いてあるcsとdcのピンを逆に割り当てるとAdafruit_ST7735/Adafruit_GFXライブラリでもKMR-1.8で表示できました。

 ただ、SCL/SDAってIIC/I2Cで使うんだよね。。。?一方で、このKMR-1.8 SPIの場合、Adafruit_ST7735/Adafruit_GFXライブラリ上は、[#define sclk 13]、[#define mosi 11]としたまま、使用するピンは、液晶にはSCK、MOSIもあるのにArduino Uno共にSCL、SDAでいけるということは。。。あ!もしかしてArduino UnoにはSCK、MOSIピンソケットがないから代用してるってこと!?だとするとSPI接続できているってことか。。。

 だとすると、なぜ、以前試したAdafruit_ST7735/Adafruit_GFXはダメだったんだ?ということで、その違いを比較してみるとスケッチ上の[#define sclk 13]、[#define mosi 11]、Arduino Unoのピンもこの通り、13、11そのままに、実際には、(Unoの13、11をそれぞれ)KMR-1.8 SPIのSCLとSDAピンに接続、かつ、スケッチに書いてあるcsとdcのピンを逆に割り当てるとAdafruit_ST7735/Adafruit_GFXライブラリでもKMR-1.8で表示できました。

 確かに現在、いろいろ並行して作っている中に時計があって何れもI2CのRTC時計モジュールと液晶だとダメなようで表示はされるも時計がおかしなことになったりしていて、一方がSPIならいけるってこと?と思っていたところでSPIなKMR-1.8が動くことが判明した為、前述の通りのスケッチと配線で試してみたら、時計も正しく表示できたので、やはり、KMR-1.8はSPI接続できているということなのでしょう。

 より正確には、時計の流れでSPIな液晶で試してみたいが、手持ちが。。。そういえば、KMR-1.8がSPIか。。。これってホントに動かないのか!?と思い、先の情報にたどり着き、試してみたら使えることがわかったというのが実際のところ。

[後日...]

 本当は不要な同額品を含め、追加発注、注文番号と当該同額品を発送から外してもらうべく連絡にて相殺、再支払い完了。

[追記:2018/08/26]

 とある情報群を元に配線、ESP32とAdafruit_ST7735/Adafruit_GFXでTFT 1.8を使ってみるに至ったのですが、サンプルスケッチを実行できず、もしやと思い、この記事を探してスケッチ上の[SCLK]に当たるピン、[MOSI]に当たるピンをKMR-1.8 SPIのSCLとSDAピンに接続、ESP32をリセットしてみたところ(CS/DCを入れ替える必要もなく)、Adafruit_ST7735のサンプルスケッチの実行に成功しました。

 TFT 1.8液晶の個体差なのか?中でもKMR 1.8特有なのかは謎ですが、SPI通信じゃなくてI2C通信ってことな模様...。

ステッピングモーター&ドライバ

 サーボモータと用途を切り分けながら使いたいステッピングモーター&ドライバ175円。

 これは、ステップモーター28BYJ-48 5VDC、モータドライバはSBT0811なので入力電圧5Vで動作するもの。

 ステッパドライバのデータシートは4 Phase ULN2003 Stepper Motor Driver PCBっぽい。

 ステッピングモータを動かすを参考にさせて頂きつつ、ステップモータ側のピンは、IN1〜IN7の内、コネクタの付いたIN1〜IN4の4つをUNOのデジタルピン4〜7、+、-をUNOの5V、GNDに接続、手抜きでポテンショメータを使わず、単に回転させて動作確認。

 5秒程度の動画なのでピンク色のテープを貼って多少わかりやすくしてみました。

モーター

 140型DCモーター5個入り350円。

 子どもの頃のイメージからか、電子工作と言えば、モーターっていう印象がありましたし、ミニ扇風機・ミニ風車、直進のみの動くミニカー、ポンプとか、治具・工具として小型のドリル、回転サンダー、カッター、ルーターなど、いろいろ使い途がありそうで気になる存在。

 整流ダイオードを持っていないこともあり、単に単3電池1本。。。と思いましたが、『回す』だけなら電圧は3Vも必要ないものの、より高速に回転するでしょうし、今回せっかくCR2032用電池ケースを買ったということもあってCR2032電池で回してみよう。。。と思ったら、入力電圧9Vじゃないと動きませんでした。

 トランジスタや昇圧モジュールを使うまでもなく、つい先日、近所のホームセンターでコード出し9Vスナップとスナップ対応単3x4電池ボックスを買ってあったおかげでスナップと手持ちの9V電池で5個とも動作確認できました。

[訂正:2017/04/27]

 いやいや、単3x2本の3Vで動きました。。。一方でテスター計測で3Vちょっとあるボタン電池x1でも、6Vちょいある電池ボックスに入れたボタン電池x2でもボタン電池だと動かない。。。なぜ? => ボタン電池は小型機器用であって相応の電流を必要とするモータを回すには電流が足りないということらしい。

[訂正:2017/05/01]

 ...ありゃりゃ、単3x1本の1.5Vでも動きました。。。

 というか、改めて商品説明を見たら『定格電圧:3V』とありました。。。むしろ6Vや9Vで動かしちゃダメなんですね。

[2017/08/28]

 先日、別件で整流ダイオードを買ったこともあり、Arduino Unoで、このモータを動かしてみることにしました。

 と言ってもArduinoボードの電圧は5V/3.3V、電流値はせいぜい最大で数十mA、一方、DCモータは800mA(0.8A)〜1Aくらいはあった方がよさ気、その上で使うには、トランジスタやMOSFETで増幅する必要があるとのこと。

 これもあって逆流しちゃうとArduinoボードが壊れる可能性が高いから、電流が一定方向にしか流れない性質も持つダイオードを逆流防止に使うわけですね。

 前回買ったトランジスタのアソートセットの中で、なんとなくNPNとして、そのくらいの電流量に耐えるとなると...と調べてみると、ちょっと足りないものの、唯一、近い値の最大0.7AのS8050があったので、これを使うことに。

 というわけでコレクタ・ベース・エミッタの位置は異なるものの、第11回 Arduinoでモーターを制御する!(その1)モーターの基本を勉強してみる。のまんま、やらせて頂くことで、Arduinoでモータを動かすことができました。

 更に後述の37センサーキットにあるリレーを介したり、タッチセンサを使ってタッチした時だけモータを動かすなんてこともしてみましたが、それってボタンスイッチ(モーメンタリスイッチ)でも同じか...となると、このタイプのタッチセンサって何に使うんだろ...という疑問が...。

金属皮膜抵抗・電池ボックス・ユニバーサルボード・カプトンテープ

 次に抵抗、CR2032電池ボックス、ユニバーサルボード、カプトンテープのレビュー。

金属皮膜抵抗

抵抗Ω本数備考
120
1020
2020
3320
4721
5120
6820
7520
8220
9120
10020
20020
22020
33020
47020
51020
68020
75020
82020
91020
抵抗Ω本数備考
1k20
10k20
20k20
33k20
47k20
51k20
68k20
75k20
82k20
91k20
100k20
200k20
220k20
330k20
470k20
510k20
680k20
750k20
820k20
910k20
1M19

 金属皮膜抵抗41種20個で820個(410円)、前回の400個の倍以上、今度こそキンピを選びました。

 今回はΩの数値が前回のような手書きではなく、赤いスタンプで読みやすくなっています(が、向きが同じとは限らない)、数はこんな感じで前回より誤差が少なく優秀、41束、47Ωが1本多く、1MΩが1本少なかったので総数820は一致しました。

 全て1/4Wですが、これでカーボン抵抗と金属皮膜抵抗が結構な数揃ったので実験したい放題です。

CR2032電池ケース

 ここ数年、交換を要したPC2台のBIOS電池、気づけば浄水器の電池もCR2032で、100均などでいろいろ買ってみたら増えてしまいました。。。ということもあって電子工作でも使おうかと。

 CR2032電池ケース(5個300円)については、ブレッドボード上に抵抗220Ω、LED青を接続、点灯テストし、5個とも使用できることを確認できました。

CR2032x2/6V用フタ付き電池ボックス

 このCR2032電池ケース、初回はフタが固く開けづらいものの、2回め以降は、更にコツをつかめば、割りと簡単に開くようになり、入れた電池を外す際には、精密ドライバ程度の細いマイナスドライバを溝に挿し込むなどするのが妥当かと、まぁ大勢に影響はなく、こんなものでしょう。

 CR2032の電池ケースでフタ付きなのが、お気に入りポイントで購入しましたが、1個3V用ではなく、2個6V用だったのは想定外。。。といっても商品写真を見れば確かに1個用にしては細長いので自身の勘違いということでこれはこれでよいとして、1個用、かつCR2032に限りフタ付きにこだわらなければ、また、送料を考えなければ、電池ケース・電池ボックスは秋月電子通商の方が価格も比較的安く、種類も豊富なようです。

ユニバーサルボード

 ベークライトPCBユニバーサルボード5x7cm(10枚入り)135円。

 本来は、実用品にはプリント基板でしょうが、プライベートユースならユニバーサルボードをそのまま、もしくは適当な大きさにカットして使うのもありかなと。

 つまり、実用品を作りたくてうずうずし始めた証。

ユニバーサルボード

 若干反っているものもありますが、めちゃめちゃ安価ですし、ご愛嬌ということで。

カプトンテープ

 100ftカプトンテープ150円。。。100ftの意味もわからず(ってもしかして100フィート/30.5m?)、電子部品をAmazon/HiLetgoで探していたら、たまたま見つけてなんだこれ?と思ったら耐熱性も高い絶縁テープとのことで必ずどこかで使うことがあるはずと購入。

 あ、よく見たら2種類ありました。。。どっちがどうなのかわからないし、まぁ、いっか。。。

Kaptonテープ

 というか遅まきながらレビューを読むと耐熱性がいまいちでカプトン(ってメーカー?品名?)の模造品らしくkoptanって表示があったとか。。。どれどれと見てみると、少なくとも今回届いたものについては、(敢えてなのか?)切れ切れで一語として表記された部分はないものの、この表示から想定するにKaptonと書かれていると考えて良さそうな感じです。(よく見ると他方の商品画像にはKoptanとありました。)

37センサー・モジュールキット

 続いて37種類のセンサー・モジュールセットの動作確認とレビュー。

 赤いボードが7つありますね、あれ?36袋しかない。。。と思ったら、Amazon/HiLetgoの商品画像では、2個入りは、Light Cupのみですが、現物を見ると、これ以外にもTap moduleとLight Blockingセンサーも1袋に入ってるからだ。

 届いた商品は確かにあるので良いですが、同梱されていたキットの商品写真(英語と中国語の品名併記)を見るとLight Cupセンサーは1つになっています。

 っていうか商品画像確認してみたら、発注した、つい先日まで2000円だったのが1800円に値下がりして更に買い得になってる。。。Light Cup1個減らしたにしても1個換算50円強のキットだけにそれ以上に感じる値引き額。。。レビューもついてなかったし、売れないからか?在庫処分?

(同機能、複数種のセンサーを数種類まとめてレビューしているものもあるため、リスト行は37件ないが全て網羅。)

 尚、VCC/GNDのみのものはもちろん、VCC(+)/GND(-)/S(Signal)から成るセンサ・モジュールについては、例えば、「LEDのアノードにSをつなぐ」などSが入力となるわけですが、モジュールがもつデフォルトの作用なら、スケッチを書く必要もないのでArduinoボードやマイコンがなくても電源となるものさえあれば、機能させることができます。

  1. ボタンモジュール
  2. ミニBiカラーLEDモジュール
  3. RGB LEDモジュール
  4. 7色オートフラッシュモジュール
  5. SMD RGBモジュール
  6. フォトレジスタ
  7. 光遮蔽・透過型光センサモジュール
  8. リードスイッチ・ミニリードスイッチモジュール
  9. 温度・湿度検出センサー1種/温度センサー3種
  10. ロータリーエンコーダーモジュール
  11. ノック・タップセンサー
  12. タッチセンサー
  13. アクティブブザーとパッシブブザー
  14. マイクロフォン サウンドモジュール(ビッグ・スモール各1)
  15. アナログホールセンサー・ホール磁気センサー・線形ホールセンサー
  16. チルトスイッチセンサー
  17. ボールセンサー
  18. ライトカップモジュール
  19. 振動・衝撃感知センサー
  20. トラッキング・追跡センサー
  21. 障害物検知・衝突回避センサー
  22. レーザー送信モジュール
  23. ジョイスティックモジュール
  24. リレーモジュール
  25. 火炎検知センサー
  26. 心拍センサー
  27. 赤外線送信モジュール・赤外線受信モジュール

ボタンモジュール

 ボタン押下を感知するボタンモジュール。。。って、これモジュール化する意味あるのかな?

 モジュールのSをプラス、-をマイナスと解釈してArduino UNOの3.3V/5V(何れか)とGNDに接続、ブレッドボード上でSのラインに抵抗220Ω、LEDアノード、LEDカソードとモジュールの-(マイナス)のラインに接続。

 そのままUNOに挿したら、デフォルトでLED点灯だったのでボタン押下でLED消灯を以って動作確認終了。

 タクトスイッチとか、タクタイルスイッチと言うらしいですね。

ミニBiカラーLEDモジュール

 商品画像には、BiColor MiniとMini BiColor LEDっていうのがありますが、もしかして、どっちも同じかな?同じだとすると36センサーキット?と思ったらLEDの大きさの違いで大小1個ずつでした。

 どうやら2色を単色、または混合、AC電流を通すことで擬似的に2色同時発光?なんてことができるらしい。

Two Color/BiColor/2色LEDモジュール

 モジュール上に抵抗はのっているようなのでブレッドボード上でモジュールのSをUNOの3.3V、-(マイナス)をUNOのGNDに接続、大は緑っぽく、小は黄色にLEDが点灯することを以って動作(というか機能ではなく点灯だけの)確認。(写真は大。)

[訂正・追記:2017/11/11]

 機能を活かす正しい配線及びスケッチは、Arduino KY-011 2-color LED moduleのようで、これだとモジュール上のLEDにおいて緑と赤が、徐々に交互に点灯します。

RGB LEDモジュール

RGB Color/3色LED

 RGB LEDモジュールは、フルカラーの発色に対応するLEDモジュール。

 これもモジュール上に抵抗はあるようなので、ブレッドボード上でモジュールのR・G・B何れかをUNOの3.3V、-(マイナス)をUNOのGNDに接続、Rは赤、Gは緑、Bは青に単にLEDが点灯することを以って動作確認。(写真は青。)

[訂正・追記:2017/11/11]

 機能を活かす正しい配線及びスケッチは、Arduino Lesson 3. RGB LEDsのようで、これだとモジュール上のLEDにおいて緑、青、赤(、紫)が、交互に点灯します。

SMD RGBモジュール

SMD RGBモジュール

 SMD RGBモジュールは、R(赤)/G(緑)/B(青)の3端子から成り、PWM/Pulse Width Modulation(入力電圧のON/OFF周期のON時間を変えること)によりフルカラーを調整・表現可能とのこと。

 これまたモジュール上に抵抗があるようなのでブレッドボード上でモジュールのR・G・B何れかをUNOの3.3V、-(マイナス)をUNOのGNDに接続、Rはレッド、Gはグリーン、Bはブルーに点灯することを以って動作確認。(写真はグリーン。)

[訂正・追記:2017/11/11]

 SMDとは表面実装部品を指し、これはRGB LEDの表面実装部品版をモジュール化したものの模様、よって同様の配線・スケッチであるArduino Lesson 3. RGB LEDsのようにするとモジュール上のLEDにおいて緑、青、赤(、紫)が、交互に点灯します。

7色オートフラッシュモジュール

 7色フラッシュモジュールは、LEDが自動で7色ランダムに輝くモジュール。(結構素早く切り替わるので苦手な人は動画は観ないほうがよいでしょう。)

 ブレッドボード上でモジュールのSと-(マイナス)をそれぞれUNOの3.3V、GNDに接続しただけで7色フラッシュ状態になることを確認。

フォトレジスタ

 周囲の明るさ・暗さを検知する光センサーであるフォトレジスタ、暗くなると自動で電気が灯る街路灯には、この仕組みを使っているとのこと。

 先日、購入した赤外線LEDと受信管のセットにおいて受信管の抵抗が大きく街路灯の逆原理しか検証できなかったので、このフォトレジスタで確認してみました。

 センサーの先端を指で触ったり、手で覆ったりする(暗くする・光を遮る)とトランジスタを使わなかったこともあり、仄暗いながらもLEDが点灯しました。

 この場合、スケッチを書く必要はなく、UNOなどArduinoボードなどから5VとGNDをブレッドボードのコモン列に配線、フォトレジスタのマイナスをGND、真ん中のプラスをプラスコモン、もう1本のSピンから220Ω程度の抵抗を介してLEDのアノード、カソードからマイナスコモンにつなげば機能しました。

[2017/06/06]

 一昨日、夜間機能させる必要がないPro Miniを使った自作鳥除け装置で、このモジュールを使ってみたら、配線するだけで簡単に実装でき、気づけば、このモジュールに載っているのは、CdS(硫化カドミウムセル)センサでした。

 同機能を実現できる光センサーにもいろいろある中、CdSが簡単という情報もあるものの、近年、カドミウムは、人体に有害とされ、敬遠されることも多くなってきていることもあって入手しづらくなっているようです。

 一方で光センサーは何かと使う気がするので今日、同機能があるらしき、フォトダイオードを追加発注してみました。(到着まで2週間前後はかかるかと。)

[追記:2017/04/11]

 フォトレジスタの使用例1

[追記:2017/08/20]

 フォトレジスタの使用例2

光遮蔽・透過型光センサモジュール

 光が遮られたことを検知する透過型、光ブロック・遮蔽センサーモジュール。

 このモジュール上の二股になっている突起部の間に光が照射され、この間に何かを挟んだり、通過させたりして光を遮ることで反応します。

 Wiring Light Blocking / Photo Interrupter Sensorの通りにやらせて頂き、動作確認することができました。

 センサー自体が小さく、隙間となる間隔も狭いこともあり、動画では、約15mm幅の紙片で遮っています。

[追記:2017/11/12]

 フォトインタラプタと呼ばれることもあります。

リードスイッチ・ミニリードモジュール

 リード線に磁気を近づけると反応するリードスイッチモジュールとミニリードスイッチモジュール。

 動画では、S(Signal)ピン、-(マイナス)ピンの間にVCCピンがあるミニリードスイッチにおいてブレッドボードのプラス配列にUNOの3.3V、プラス配列上からリードスイッチのSピン、同じピン配列上に抵抗220Ω、抵抗のもう一方をLEDアノード、LEDカソードをブレッドボード上のマイナス配列、そこからUNOのGNDに接続、100均で買った4個100円の強力磁石を4個くっつけたものを近づけてLEDの点灯を確認。

 ポテンショメータ付きでA0/GND/+/D0ピンのある方は、A0をArduinoのアナログピン、D0をデジタルピン、+(プラス)を5V、GNDをGND、LEDは同様につなぐと同様の挙動となり、アナログピンには入力値が、デジタルピンには判定に使える0,1の値が返り、モジュール上のポテンショメータで感度設定が可能な模様。

[追記:2017/08/20]

 リードスイッチの使用例

[追記:2018/02/20]

 遅まきながら、アナログピンがあるか否かだけの違い程度だと思っていましたが、実は、NC/Normaly Close・通常:回路閉であるミニリードスイッチとは逆に、ポテンショメータ付きリードスイッチの方は、磁石を近づけると信号がON(NO/Normaly Open・通常:回路開)となるものでした...。

[追記:2020/07/27]

 あ、ミニリードスイッチ、うっかりリード部分の手を載せてしまい、潰して割ってしまいました。

温度・湿度検出センサー

 温度・湿度関連の検出モジュールには、温度・湿度モジュールのほかにも温度モジュール、アナログ温度モジュール、デジタル温度モジュールと4つありますが、そうなると単なる温度モジュールとは一体なんぞや。。。

温度・湿度センサーDHT11互換モジュール

 温度・湿度関連の検出モジュールDHT11については、How to Set Up the DHT11 Humidity Sensor on an ArduinoのDisplay Humidity and Temperature on the Serial Monitorをそのまま利用させて頂き、動作確認できました。

温度・湿度付きデジタル時計・アナログ温湿度計とブレッドボード上のDHT11互換モジュール

 写真は、温度・湿度センサーDHT11互換?モジュールでGND、DATA、VCCピンをブレッドボードを介してそれぞれUNOのGND、デジタル7pin、3.3Vに接続。

 センサー部分をつまんでいると少なくとも湿度に変化があります。

 計測時点の温度/湿度は、DHT11が29度/35%、家にあるそこそこの見栄えのアナログ温湿度計が28度/36%、100均で買ったと思われるアナログ温湿度計で28.5度/42%、結構古くセンサーエラーが表示され壊れ気味のデジタル温湿度&時計で27度/43%ほど(温度はどれも近い数値ですが、湿度については、どれが正確かわからない為、どれがどの程度なのか精度不明。)。

 アナログ温度センサーについては、モジュールのSピンをA0などのアナログ入力、-(マイナス)ピンをGND、もう1本を5Vに接続、よくわかっていないのですが、LM35 and Arduinoのように、どうも入力電圧に対して10mV単位で日本で一般的な摂氏温度を取得できるということらしく、入力電圧が5Vなら5000mV/10mVで500度まで、アナログ入力が0から1023の1024個の値で表現される為、アナログ入力からの値に500をかけて1024で割る(500/1024=0.48828125なのでこれをアナログ入力の値にかける)と摂氏温度を、これに1.8をかけて32(摂氏0度=華氏32度)を足すと華氏を算出できるようなのですが、なぜか、そのままだと灼熱地獄で更に10で割ると他の複数の温度計がほぼ同じ温度であるのと比べると2〜3度高めというそこそこの値になるんですよね。。。なんでかな?

2020/07/16

 リンク先は、まさに温度センサー[LM35]のものであり、37センサーキットに入っている何れともマッチしません...。

 すみません、今もたいして成長してはいませんが、当時は、そんなことすら気づかないど素人でした。

 やりたかったことはやり尽くした感もあり、次の一手が思いつかず、手持ち無沙汰になって実用品として37センサーキットのセンサーも未だに使い切ってないことだし、手始めにわかりやすい温度計からとりかかろうかな...という経緯で見直したことで発覚しました。

 デジタル温度センサーについては、モジュールのA0をArduinoのアナログピン(A0など)、D0を同じくデジタルピン(7など)、+(プラス)を5V、GNDをGNDに接続、適切なスケッチ(動作確認の為などデジタルピンを使わないならアナログ温度センサーと同じでも可)を書き、シリアルモニタに表示された値をモジュール上のポテンショメータで調整(ブレッドボードに直挿ししてポテンショメータに向かって左回りで増、右回りで減)でき、イマイチぴんときませんが、デジタル入力は、とある閾値に達した場合のみセンサーを機能させるような使い方をする際に0,1を判定することができるようです。

2020/07/16

 小さな黒い団子状のものが付いたアナログ温度センサーとデジタル温度センサーのその団子状のものは、温度が上がると抵抗値が下がる性質を持ち、その特性から温度センサーとしても使われるサーミスタといわれる電子部品、これらは、そのモジュールであり、サーミスタの仕様を確認の上、利用する必要があります。

 スケッチは、いくつか異なる計算式のものもあるようですが、自身の場合、KY-013 Analog Temperature Sensor Moduleが、係数(coeficient)含め、しっくりきました。

 サーミスタの温度モジュールにおける必要な抵抗の値については、「サーミスタの抵抗値と周辺温度」を取得のスケッチで回路において10kのカーボン抵抗を10kの半固定抵抗に変えることで確認できるかなと思ってやってみました。

 半固定抵抗を回してみたところ、自身の場合、何れも9.65kΩ近辺で、他の2つの温度計と同じくらいの温度となることを確認できたので近い抵抗は、やはり、10kΩということでよいようです。

 ちなみにここで使うのは、サーミスタ単体ではなく、モジュールなのでプラス端子がありますが、リンク先同様、カーボン抵抗を使う場合、モジュールのプラスを「つながない」ように(Sと-のみ配線)するとうまくいきます。

 デジタル温度計モジュールについては、実装済みの半固定抵抗(ポテンショメータ)で値を調整できたので比較のために用意した他の温度計と同じくらいになるように調整するために使用しました。

 当該モジュールのD0ピンは、調べてみても「設定値(、極値、しきい値)に到達すると」とあったりするものの、それってポテンショメータの設定だよねと考えると、これを温度合わせに使用した自身の場合、それが何を意味するのか、未だにピンときません...。

[2020/07/19]

 温度計のつもりでArduino時計で使ってみたのですが、どうもポテンショメータで設定した値前後のみで正確に温度を表示しているわけじゃなさそう...。

 と思ったら、あんまり情報がないみたいですが、前掲のKY-013の参考リンクと同じサイトのKY-028のページKY-028 Digital Temperature Sensor Moduleをよく読むと「ポテンショメータで設定したしきい値に達するとデジタル信号が...」「KY-013と違って温度の計算はできない...」、「ポテンショメータの設定値に対し、相対的な変化を測定...」。

 というわけでポテンショメータ付きのこのモジュールに関しては「温度計としては」使えない模様...。

 単なる温度(Temp)センサーについては、先のアナログ温度センサーやデジタル温度センサーで使ったスケッチはそのままに、モジュールのSピンをUNOのA0、-(マイナス)ピンをGND、もう1本を5Vに接続してシリアルモニタで見ると手持ちの他の複数の温度計と比べ、7〜8度高く表示されますが、誤差なのか、何か間違っているのかの判断ができません。。。

2020/07/16

 3本足(3端子)の温度センサーモジュールは、その3端子センサーの平らな面を拡大鏡とかでよーく見ると[DALLAS 18B20](3桁めは8でなくB/ビー)という型番があり、これを元に仕様確認の上、利用する必要があります。

 スケッチは、これも何パターンかあるようですが、自身の場合、ライブラリとしてOneWireとArduino-Temperature-Control-Libraryを使ったDS18B20(1-Wire)で温度計測が、しっくりきました。

 整数部分しか出ない温度計で25度、小数点第1位までの温度計で26.0度の時、26.81度と1度程度、高く出ますが、前者に至っては小数点以下切り捨てかもしれず、比較のために用意した温度計の温度が正しいとも限らないので許容範囲でしょう。

 尚、自身のセンサーには、[DALLAS 18B20]とありましたが、[DS18B20]というのが一般的な呼称の模様、前者がオリジナルなのか、後者と同じものなかの、派生なのか、ばったものなのか、略した結果のDSなのかについては不明です。

 ちなみに削れたり、汚れたり、薄れたりして型番が読み取れない場合などには、OneWire Libraryにあるスケッチを利用させて頂くとアドレスを調べてDS18B20系なのか、DS18S20系なのか、認識不能な何かなのかを判定してくれます。

 同様にDS18B20なのか、DS18S20なのか、はたまたDS1820なのかについては、PaulStoffregen / OneWireのサンプルスケッチ[DS18x20_Temperature]で確認できるようです。

 というわけで温湿度センサー1つ、温度センサー3つが動作することは確認することができました。

[追記:2017/04/23]

 温度・湿度センサDHT11の使用例

[追記:2020/07/17]

 サーミスタタイプ温度センサの使用例

[追記:2020/07/20]

 ...、サーミスタタイプのアナログ温度センサーは、ショートさせてしまったのか、値が常に-127、DALLAS 18B20は、なぜか、50度ほど高い値を示すようになってしまったので、とりあえず破損品ケース行きに。

 サーミスタタイプのデジタル・アナログ温度センサーは、使いみちがわからないので放置...。

ロータリーエンコーダーモジュール

ロータリーエンコーダー

 音調・調光・速度コントロールなど回転の機械的変位量を電気信号に変換し、この信号を処理して位置、速度などを検出するセンサに利用可能なロータリーエンコーダーモジュール。

 単品の可変抵抗が欲しかったところでもあり、キットにあってちょうどよい。

***↑2020/07/18修正↑***
↓当時、自分でやった動作確認で気づけよって話ですが...↓

 GND、プラス、SW、DT、CLKピンのあるロータリーエンコーダーモジュール、モノに記載はありませんが、同じもの・互換モジュールらしく、Keyes KY-040 Arduino Rotary Encoder User Manualの通りにさせて頂くことで動作確認できました。

ロータリーエンコーダのシリアルモニタ表示結果

 シリアルモニタ上は、こんな感じ。

 手許のモノは?ツマミの平らな面が下になった時、0になり右(時計)回りで増、左(反時計)回りで減でした。

[2018/04/06]

 今更ながら、ツマミはスイッチにもなっていて押すと0に初期化されるらしい。

タップセンサー

 ノックしたことを感知するタップ・ノックセンサーモジュール。

 動画では、センサーを指で直接はじかないとうまくいかなかったので、そうしていますが、振動も伝わる必要があるかもしれませんが、テーブルを軽く叩くなど周囲のノックでもいけるはず?

 Knock/Tap Sensor (KY-031)の通り、やってみることで動作確認できました。

 一気にレビューしながらなのでブレッドボード上は込み入ってますが、リンク先の通り、タップセンサーのみ、かつボード上のLED(13pin)を使えば、ジャンパワイヤ3本で済み、実際には、とてもシンプルです。

タッチセンサー

 触れたことを感知するタッチセンサー、スイッチの代わりに使うことができます。

 なぜかタッチセンサーのみリレーといっしょくたになってますが、Summerfuel Roboticsの中段にある『Expansion: Metal Touch Sensor KY-36』のスケッチ『Touch Sensor Code』をそのまま使わせて頂くことで動作確認できました。

 モジュールのA0をArduinoのアナログピン(A0など)、D0をデジタルピン(3など)、+(プラス)を5V、GNDをGND、Arduinoの13ピンなどから抵抗220Ω経由でLEDアノード、LEDカソードからGNDと接続すれば、モジュールに触れるとLEDが点灯します。

 タッチセンサーモジュール上のポテンショメータは、感度調整かな?

アクティブブザーとパッシブブザー

 アクティブブザー(active buzzer)とパッシブブザー(passive buzzer)、前者は組み込みの振動源を持っているため、DC電圧入力のままでも音(トーン)を作り出すことができますが、後者は、これを持っておらず、2K〜5Kの周波数を持つ矩形波(AC電圧入力、もしくは、これに相当するor見せかけた信号)から音を生成するようになっているとのこと。

 これは、Arduino IDE上のスケッチにおいて、アクティブブザーは、HIGH/LOW(tone()/noTone())で音を出す出さないを指定できる一方、パッシブブザーは、tone()関数を使って引数に周波数を渡す方法をとる必要があり、手間はかかる一方、前者だと音の出力のON/OFFだけ、後者だともう少しプログラミングは必要にはなるものの、自由に音(メロディ)を奏でることができるということになり、往々にして前者が安価で後者が高価なことを勘案して使い分けがなされる模様。

 Lesson 12 Buzzer by SUNFOUNDERの通り、と言っても解説とスケッチにデジタルピンの齟齬がありますが、パッシブはデジタル3、アクティブをデジタル11に修正したところ、アクティブブザーは、ウィ〜ンウィ〜ンウィ〜ン...、パッシブブザーは、キュイーーィイン...といった音を確認できました。

[追記:2017/10/15]

 パッシブブザーの使用例

マイクロフォン ビッグ・スモールサウンドモジュール

 サウンドセンサーは、マイクロフォンサイズの大小(Microphone Big/Microphone Small)で各1個あります。

 Sound Sensor Exampleのように+(プラス)をArdunoの5V、GNDをGND、A0をアナログピン、D0をデジタルピン、13ピンなどから抵抗220Ωを介してLEDアノード、LEDカソードからGND(ブレッドボード上のサウンドセンサーのGNDピンと同じ列)で接続、スケッチをアップロードして手をパチパチ叩いたり、テーブルや当該ブレッドボードを叩いたりすると、その音を感知してLEDが点灯したり、消えたりします。

 ただ、リンク先のスケッチ、修正しなくても動きますが、分裂してた時の慌ただしさを物語っているのか、ちょっと雑。。。

 そのスケッチならソフト的にも閾値を設定できますし、サウンドセンサーモジュール上のポテンショメータでも感度調整できますが、結構難しいです。

 とりあえず、マイクロフォンセンサー大・小共に動作確認はできました。

[2018/01/21]

 今更ながら...、音楽に合わせてLEDの明滅なんて使い方もあるんですね、なるほど...。

[2019/01/31]
const int ledPin = 13;
const int digiPin = 5;
 
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(digiPin, INPUT);
}
 
void loop()
{
int sig = digitalRead(digiPin);
 
 if(sig == 1) {
   digitalWrite(ledPin, HIGH);
 } else {
   digitalWrite(ledPin, LOW);
 }
}

 リンク先がなくなったみたいなので載せておくと、当時のスケッチは、たぶん、これです。

[2020/03/22]

 おー、やっと出会えた...声を拾ってくれるサンプル...マイクだもんそうだよね、そうじゃなくちゃね...って以前から存在していたようですが。

 マイクモジュールをArduinoに繋ぎPCでProcessingを使って録音する、これこれ!ノイズは取り切れないにしても素晴らしい。

 リンク先では、マイクモジュールへの電源を降圧、それよりも3.3Vにしたらノイズが減ったとあり、確かに入力電圧5Vよりも3.3Vの方が低減しました。

 が、その3.3VとGNDの間にパスコン(バイパスコンデンサ)を入れて試してみたところ、0.01uF(極性のないセラミックコンデンサ103)を入れることで更にノイズが低減したように感じました(気のせいじゃないはず)。

 パスコン検証では、任意に選択したアルミ電解コンデンサ0.22uF、0.47uF、470uF、セラミックコンデンサ102(0.001uF)、103(0.01uF)、104(0.1uF)を試してみました。

 尚、マイクモジュール(小)には、LEDがありますが、これが点灯する前後にポテンショメータを合わせないと録音できませんでした(大の方は、たまたま良き位置になってたっぽく、そのまま録音できました)。

 あと、ボリュームは、マックスくら結構上げないと聴こえませんでした(自身の場合、OSのスピーカー音量100%かつ、外付けUSBスピーカーのボリュームMAXでやや小さいか程よい感じでした)。

 ちなみにProcessing IDEのコメントなどに文字化けがあって気になる場合、Processing IDEから[ファイル/File]、[設定/Preferences]で変更するとよいでしょう。

 が、(Linuxホストの)自身もそうでしたが、IDE上の[エディタとコンソールのフォント/Editor and Console font]がグレーアウトされ、選択できない状態の場合には、Processingを起動していない状態で[preferences.txt]を編集する方法でフォントを変更します。

 何れの場合もフォント([preferences.txt]については、editor.font.family)に[DialogInput]の他、[IPAゴシック]や[IPA明朝]など日本語を表示できるフォントを設定するとスケッチ上の日本語コメントも正常に表示されるようになります。

 Linux上のProcessing-3.5.4という自身の環境の場合、[preferences.txt]編集後、Processing IDEの[設定]メニューの[エディタとコンソールのフォント/Editor and Console font]が選択可能になったり、グレーアウトしたままだったり、なぜか安定しませんが、何れにしても日本語は表示されています。

 一方、もし仮にProcessingアプリに日本語を使いたい場合には、[ツール]メニューから[Create Font/フォント作成]で日本語対応フォントを作成後、スケッチにおいてloadFont()を使います。

アナログホールセンサー・ホール磁気センサー・線形ホールセンサー

 電流に垂直(2次元)に地場磁場をかけるとこれら双方に対して垂直方向(3次元)に起電力が発生、これを発見した人物ホール氏の名に由来するホール効果を利用したホールセンサー、商品画像や同梱されていた商品リストには、アナログホールセンサー・ホール磁気センサー・線形(リニア)ホールセンサーとありますが、どうもシンプルな線形ホールセンサーとアナログピン、デジタルピンを持つ線形ホールセンサー、スイッチホールセンサーに分類される模様。

 この内、シンプルな線形ホールセンサーとスイッチ式ホールセンサーは実物を前にしても外見が全く一緒に見えるので見分けがつかず、Lesson 1 Hall Sensor by SUNFOUNDERの通りに動作確認をしてみて、その説明と一致するか否かで判断することになりました。

[2017/11/12]

 あ...、よく見たら、表面実装の抵抗(1kΩ/102)&LEDが載っているものと載っていないものという差がありました。

 が、一方でシンプルな線形とスイッチ式に分けるのが妥当なのか疑問が...そこでザッと調べてみたところ...。

 磁気感度や温度特性などによりInSb/GaAs/InAsなどがあるホール素子は、その効果から非接触で検知可能、そのホール素子がIC化されたものには、小型モーターや回転や時速変化の検出に用いられる磁極のS極でON、N極でOFFするラッチ式、磁石の有無などでON/OFFを出力するスイッチ式(S極/N極何れかに反応する単極検知/ユニポーラと何れにも反応する両極検知/オムニポーラ)があり、これらはデジタル信号を出力、更に個体ごとに決まったの感度を持つホールIC素子では出力が小さい場合、本来、アナログ信号を出力するホール素子を使ったり、更にアンプで増幅したり、このアンプが載ったリニアホールICを使う模様。

 よって、この37センサーキットに入っているホールセンサの内、Analog Hallとあるものは、基板にホール素子しか載っていないため、モジュールというか、ホール素子そのもの、Hall magnaticとある方はLEDが載っていることからON/OFFのデジタル信号を出力するラッチ式かスイッチ式と思われるも汎用的なセンサーを集めたものと思われるキットに入っていることからしておそらくスイッチ式、Linear Hallとあるのは、まさにリニアホールICである模様。

 ん?改めて実際にやってみるとLEDが載っているHall magnaticは、+にあたる真ん中のピンと-ピンを5VとGNDにつないで磁石を近づけると確かにモジュール上のLEDが点灯するのですが、一方でホール素子の両面で反応する極が異なる(面と極が異なると反応しない)のですが、これは何でだっけ...?

 と思ったら、これは、磁気センサ.com @疑問氷解で言うところの「S/N区別可能な2出力ホールIC」、「両極検知」、「2出力タイプ」である模様...というか、これはこれで、これらが全て同じ仕組みを表すのか違う仕組みなのかが、よくわかりませんが...同じく、@疑問氷解でホール素子は、磁束の大きさとその極性を判別(区別)することができ、...そのあとの信号処理回路で、うまく両極検知ができるように信号処理をしているとあるので両極検知については他の2つと意味が違いそうな気がします。

 3種類全てリンク先に沿って確認しましたが、デジタルピン・アナログピン付きモジュールの線形ホールセンサーのみ発注済みもまだ届いていない16x2のLCDではなくシリアルモニタで確認すべく、ただ、そのままだと視認性がよろしくないので後述のようにちょっと工夫してスケッチを編集しました。

 スイッチ式ホールセンサーのスケッチでは、モジュール上のSピンをデジタル8ピン、-(マイナス)をGND、残りの真ん中を5Vに接続、LEDを13ピンとするようになっています。

 スイッチ式ホールセンサーは、磁石を近づけるとUNO上で消灯しているLEDランプが点灯します。

 リニアホールセンサーのスケッチでは、モジュールのSピンをArduinoのA5ピン、-(マイナス)をGND、残りの真ん中を5Vに接続、LEDを13ピンとするようになっています。

 リニアホールセンサーは、磁石を近づけるとUNO上で点滅しているLEDランプの点滅速度が速くなります。

線形ホールセンサー/デジタルピン・アナログピン付きモジュール

 デジタルピン・アナログピン付きモジュールの線形ホールセンサーは、モジュールのA0をArduinoのA0、D0を8ピン、+(プラス)を5V、GNDをGNDに接続、前述のリンク先でLCD1602を使っていたところを無理やりシリアルモニタで確認すべく書き換えた以下のスケッチをアップ、完了後、シリアルモニタを開き、センサーに磁石を近づけるとアナログ値とデジタル値(1)を確認でき、併せてモジュール上の緑のLEDが点灯することで動作確認できました。

const int ledPin = 13;
const int A0Pin = A0;
#define D0Pin 8
 
void setup()
{
pinMode(ledPin,OUTPUT);
pinMode(D0Pin, INPUT);
Serial.begin(9600);
}
 
void loop()
{
double analogVal = analogRead(A0Pin);
int digitalVal = digitalRead(D0Pin);
 
 if(digitalVal == 1) {
    Serial.print("Analog Value: ");
    Serial.println(analogVal);
 
    Serial.print("Digital Value: ");
    Serial.println(digitalVal);
 }
}

 デジタルピン・アナログピン付きモジュールの線形ホールセンサーのスケッチ。

 連続出力されるとわかりづらい為、0,1のデジタル値が1の時(磁石を近づけた時)のみ表示。

チルトスイッチセンサー

 傾き、傾斜、角度を感知するチルトスイッチセンサー。

 このモジュールには電源ONで点灯するLEDがついており、真ん中の+(プラス)と-(マイナス)を、それぞれArduinoの3.3V/5V、GNDにつなぐだけでガラス管内のボールが転がって移動する程度にモジュールを傾ければ、このLEDが消灯します。

 ただ、SピンをArduinoのデジタルピンにつなげば、別途ブレッドボード上に用意したLED(一般に赤なら電圧3.3V、それ以外なら5V)を点灯させるなどデジタルピン入力の状態に応じたアクションをとることができます。

const int ledPin = 13;
const int digiPin = 5;
 
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(digiPin, INPUT);
}
 
void loop()
{
int sig = digitalRead(digiPin);
 
 if(sig == 1) {
   digitalWrite(ledPin, HIGH);
 } else {
   digitalWrite(ledPin, LOW);
 }
}

 チルトセンサーモジュールを傾けるとモジュール上のLEDが消灯、逆にブレッドボード上(、また、UNOなどにおける13ピンなどデジタルピンによってはArduino上)のLEDが点灯するスケッチ。

ボールセンサー

 方向や傾きを検知するボールセンサーは、用途などに応じてチルトセンサーと使い分けされる模様。

 チルトセンサと同じスケッチ、LED含め、ブレッドボード上も基本同じ配線で動作確認できました。(モジュール上のピンの並びが異なるので必要ならブレッドボード上で差し替えは必要。)

 モジュール上のSピンをArduinoのデジタルピン、-(マイナス)ピンをGND、真ん中のピンを5V/3.3V、Arduinoの13ピンからブレッドボード上の抵抗220Ω、LEDのアノード、LEDのカソードをGND(ここではモジュールのGNDと同列)に接続。

 モジュール上の青い突起物の形状を考慮しつつ、傾けるとブレッドボード上の(LEDデフォルト(UNOなどで13ピン)を使っているならArduino上も)LEDが点灯します。

 尚、傾ける時も戻す時も軽くスイングして振る感じにした方が、より確実。(そういうものなのか、感度がいまいちだからなのかは不明。)

ライトカップモジュール

 水平ではなく傾いたガラス管内の球が転がることを利用した2個の角度・傾斜検知モジュール・センサー。

 なぜ2個なのか、商品画像からすると同じものに見えるが。。。届いた実物を見るとガラス管の傾きが逆?ということはON/OFFも逆?ということか。。。それと-(マイナス)、+(プラス)、S、Lというピンがありますが、Lって何?LED用?

 と言ってもリード線の曲げ方・曲がり方の違いですが、くねくねやってたら折れちゃう可能性があるから2つなのかも。

 というわけでLは不明もやってみると、やはり、傾きが異なる2つはON/OFFが逆で先端に球がある方はデフォルトでON、反対にある方はデフォルトでOFF。

 動画は、デフォルトがONの方。

 これもチルトセンサと同じスケッチ、LED含め、ブレッドボード上も同じ配線で動作確認できました。(Lはともかく、モジュール上のピンの並びも同じ。)

[2019/02/01]

 今更ながら...、これは、2個1組が前提で傾きによって、また、PWM/Pulse Width Modulation(パルス幅変調)で一方のLEDが徐々に点灯すると他方が徐々に消えていく(同時に点灯している瞬間もある)手品のようなモジュールなんだそうです...。

 スケッチは、例えば、KY-027 Magic Light Cup Module

 よって郵送時の梱包状態によっては、水銀スイッチの角度が適当ではなく、うまくいかない場合もあるかもしれませんが、その場合は、傾きが逆になるように、うまく水銀スイッチの角度を変えてあげる必要があります。

振動・衝撃感知センサー

 衝撃や振動を感知するセンサー。

 モジュール自体、もしくはブレッドボード、周辺の台などを叩くとブレッドボード上の(LEDデフォルト(UNOなどで13ピン)を使っているならArduino上も)LEDが瞬間的に点灯します。

 機能は若干異なるものの、図らずも汎用性があって、これもチルトセンサ用に作ったものと同じスケッチ、LED含め、ブレッドボード上も同じ配線で動作確認できました。(チルトと違ってLピンはない。)

[2019/02/01]

 キットには、shock sensorと書いてあり、たしかに衝撃や振動でも感知しているようですが、多少なりとも衝撃が加わるからか後ろ方向は微妙も、どの方向に倒しても検知するようなので転倒時の対策センサーとしても使えなくもなさそう...というかホントはそっち?それともどっちも?

トラッキング・追跡センサー

 追跡センサーは発光素子と受光素子が付いていて明るい色には反射し、受光しますが、黒のような暗い色には吸収され反射しない性質を利用し、任意のコースを太い黒線で書くことでミニレーシングカート・ミニ四駆などにも使えるセンサー。

 動作確認上はデフォルトでOKでしたが、モジュール上のポテンショメータで感度調整ができる模様。

 これまた機能は若干異なるものの、汎用性のあったチルトセンサ用に作ったものと同じスケッチ、LED含め、ブレッドボード上も同じ配線で動作確認できました。(チルトと違ってLピンはないし、センサーの可動域を広げる為、ジャンパワイヤ(メス-オス)で延長。)

[追記:2017/11/12]

 発光素子からの光が対象物に反射して受光素子で感知するものは、フォトリフレクタと呼ばれることもあります。

障害物検知・衝突回避センサー

 ラジコンカー、ドローンやロボットなどに利用可能で障害物を検知できるため、事前に衝突を回避することなどができるセンサー。

 動作確認上、モジュール上の205という印字のあるポテンショメータ(発光素子用?)を右回り90度程度、103と印字のある方(受光素子用?)を右回り45度程度への感度調整が必要でした。

 ENピンを何に使うのか調べていませんが、これまた機能は異なるものの、汎用性のあったチルトセンサ用に作ったものと同じスケッチ、LED含め、ブレッドボード上も同じ配線で動作確認できました。(チルトと違ってLピンはないし、センサーの方向を変える為、ジャンパワイヤ(メス-オス)で延長。)

[追記:2017/11/12]

 これも発光素子からの光が対象物に反射して受光素子で感知するもので、フォトリフレクタと呼ばれることもあります。

レーザー送信モジュール

レイザーセンサーモジュール

 レーザー光を遮ったことを検知可能なレーザー送信モジュール。

 とりあえず、KY-008 Arduino Laser Moduleの通りに真似させて頂き、レーザー光を発することができることを以って動作確認。(直視厳禁・人や動物への照射も厳禁)

 レーザー光を発するだけならSピンにArduinoの5Vか、指定したデジタルピン、-(マイナス)ピンにGNDを接続すればOK、センサーとして使うならSピンに指定したデジタルピン、真ん中のピンに5Vを接続。

[追記:2017/11/09]

 レーザーセンサの使用例

ジョイスティックモジュール

ジョイスティックモジュール

 ゲームやラジコンでお馴染み?アーム操作なんかにもよさそうなジョイスティックモジュール。

 モジュールとスティックカバーが分離されている状態だったので、まずはこれをはめました。

シリアルモニタ上のジョイスティックモジュールの操作結果

 微妙にモジュール上の印字は異なりますが、読み替えて配線、スケッチ共にリンク先(うわ、失念。。。スケッチはJoystick by leliospadoniと全く同じ)の通りにさせて頂くことで連続表示にはなるものの、シリアルモニタにこのように表示され、ジョイスティックを操作するとX軸、Y軸に対する数値(移動量)が表示され、これを以って動作確認完了としました。

[追記:2018/04/01]

 ジョイスティックモジュールの使用例

リレーモジュール

リレー

 このリレー、[SRD-05VDC-SL-C]と書いてあります。

 リレー(継電器)は、何らかの入力をトリガとして電磁気、リードスイッチ、プログラムなどにより接点の開閉をすることで動作し、小さな電圧で数十倍とか数百倍とかの大きな電圧でも制御可能、電源用の電力供給をすることも可能なスイッチであり、高い電圧を制御・供給できることから必要に応じた安全対策を講じる必要がある模様。

 常々気になっていたリレーモジュール、ブレーカーボックス内でもこれで制御しているらしい。

 つまり、Arduinoボードだと5V、電流はmA単位ですが、リレーを使うとそんなArduinoボードからでもDC(直流)のみならず、家庭用のAC(交流)100V電源のON/OFF操作ができるということ。

 Control real devices using relayそのままにやらせて頂き、カチカチとスイッチが切り替わる音が鳴ったこと、モジュール上のLEDの点灯・消灯を以って動作確認としました。

 っていうか、出力側の端子台、保護のため?のストッパ?が入ってて、これを外さないとダメなんですね、気づくまで、いくら締めても固定されなくてハテナ状態でした。

[追記:2017/09/20]

 リレー使用例

火炎検知センサー

 火炎検知センサー。

 Lesson 11 Flame Sensor by SUNFOUNDERの通りでライターの火を近づけると数値が変わることを以って動作確認としました。

 ただし、感度調整の問題かLEDは終始点灯しっぱなし、また、シリアルモニタの表示速度が速いため、デジタル値の表示は省きました。

心拍センサー

 耳たぶや指に貼り付けたり、つまむことで心拍数を計測することができるセンサー。

 が、うまくいかない。。。ペンディング。

[2017/04/25]

 赤外線送信モジュールに引き続き、心拍センサーもテスターLCR-T4でチェックしたところ、レジスタとして認識されたので、これもきっと壊れているのでしょう。

[訂正:2017/05/06]

 Arduino KY-039 Detect the heartbeat moduleのスケッチ通りにやらせて頂いたら、シリアルモニタでちゃんと確認できました。

 これをProcessingなどと組み合わせてグラフ化すれば、更に良い感じになるわけですね。

 抵抗のあるモジュールがテスターLCR-T4でレジスタとして認識されるのは、ある意味正常な挙動の模様。

 Heartbeat at Arduino PlayGroundでやってみたらスケッチで指定したタイミングでLEDが光るだけで意味ないじゃん。。。と、ずっと思っていました。。。うまく機能したリンク先のようにアナログピンの入力が必要ですよね。。。心拍データ取るなら。

赤外線送信モジュール・赤外線受信モジュール

 赤外線送信モジュールと赤外線受信モジュール。

 これは前回、別個に買って動作確認したものと同じ方法で確認。

 と思ったら、受信はできましたが、rawデータを送ろうと試みたものの、意外と送信が難しい?ちょっとペンディング。

[2017/04/25]

 単にIR送信モジュールが壊れていた模様。

 代わりに赤外線LEDを使ってやってみたら同じく上手くいかず、カメラで見ても発信時にLEDが光らない、いやいやそりゃおかしいだろ?と思い、テスターLCR-T4でチェックしてみるとダイオードのはずが、キャパシタと認識されています。。。たまたま使った赤外線LEDが壊れてた。。。別の赤外線LEDに代えてやってみたらテレビの操作などもできました。

 そこでIR送信モジュールもテスターLCR-T4でチェックしてみると。。。トランジスタとか、レジスタとして認識され、受信モジュールはダイオードと認識されるので送信モジュールが壊れていると見てよいでしょう。
 => 電子部品単体のテスターであり、複数のパーツから成るモジュールは計測対象外であって期待する反応がないのは当たり前である模様。

[追記:2018/08/01]

 赤外線送信モジュールと赤外線受信モジュールの使用例

備考

 ここまで動作確認やレビューしてみると数だけでもすごい。。。いろいろあるにしても、ほんと爆安。。。

[2017/04/25〜26]

 ペンディングとなっていて機能しなかった赤外線送信モジュールと心拍センサー、前者は赤外線LEDの在庫もあるし、後者は使う予定もなかったし、37センサーキットの内の1つだし、何れも単純割りで1個50円ちょっとだし、大勢に影響なし。。。それにKMR-1.8は100%返金、手許のものは返送不要と言ってくれてる( => Amazonギフトで返金を受けた => その後、KMR-1.8が正常に機能することが判明 => 同額品を発注、発送しないことで相殺・再支払い完了)したし、これからも買う予定。

ホーム前へ次へ