https://www.vstone.co.jp/robotshop/index.php?main_page=product_info&cPath=270_367&products_id=4612
こちらのキットを使ってArduinoの使い方を学んでいるところなのですが、サンプルスケッチの記述によくわからない部分があります。
https://www.instructables.com/id/Getting-Started-of-Arduino-Kit-Absolute-Beginner/
サンプルは全てこちらのリンク先の「Download Code~」からダウンロードできます。
Arduinoに関して分からない点はたくさんあるのですが、特に知りたいのは2点です。
#include <boarddefs.h> #include <IRremote.h> #include <IRremoteInt.h> #include <ir_Lego_PF_BitStreamEncoder.h> #define DEBUG /* Part9 USE IRreceive and IR remote Displayed on the segment code */ #include <IRremote.h>//load IRremote library #include "TM1637.h"//load Segment display library #define CLK 4//pins definitions clk for TM1637 #define DIO 5//pins definitions dio for TM1637 TM1637 tm1637(CLK,DIO);//get Segment display controler IRrecv ir(A0);//an instance of the IR receiver object,A0 is IRreceive pin; decode_results result; // container for received IR codes long codes[10]= // this array is used to store infrared codes {0xFD708F,0xFD08F7,0xFD8877,0xFD48B7,0xFD28D7,0xFDA857, //0 1 2 3 4 5 0xFD6897,0xFD18E7, 0xFD9867,0xFD58A7}; // 6 7 8 9 void setup(){ tm1637.init(); tm1637.set(BRIGHT_TYPICAL); ir.enableIRIn();} void loop(){ if(ir.decode(&result)){ delay(100); int i=-1; while(!(i>9||result.value==codes[++i])); ir.resume(); // resume receiver if(i<10){ tm1637.clearDisplay(); tm1637.display(3,i);//IRremote value }}}
これはサンプルの「Part9」で、リモコンで押したボタンの数字をセグメント式のディスプレイに表示させるものです。
質問1
「tm1637.init」や「ir.resume」のような関数?の表記はどういう意味ですか?
「Serial.begin」のようにドットを使った関数が使えることはわかるのですが、上記のような関数は検索してもでてきません。
どこで定義してある、どのような働きをする関数なのでしょうか。
「tm1637.~」についてはヘッダファイル?がインクルードされているようですし、そのことなのかなと思っています。
しかし「ir.~」に関してはどこを探しても見つからないのでわかりません。
質問2
loop関数中の動きが知りたいです。
関数外で定義されている「codes」の中にそれぞれのリモコンからの信号が入っているのはわかりましたが、数字を表示するためのデータがどこに入っていて、どのようにしてそれを引き出しているかがわかりません。
このプログラムを書き換えてリモコンの他のボタンでも数字が表示できたり、数字を増やしたりしてみたいと思っています。
C言語を使って少しPICを動かしたことがあるので、比較的簡単にできると思っていたのですが…
分かりやすく教えていただけると助かります。
追記
TM1637 tm1637(CLK,DIO);//get Segment display controler IRrecv ir(A0);//an instance of the IR receiver object,A0 is IRreceive pin;
この(CLK,DIO)や(A0)は何を意味しているのでしょうか?
なにかの引数ですか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/04 00:25