プログラミング素人のArduino

技術屋の末端。プログラミングは専門外。 電気回路も専門外です。 コードに間違いなど見つけられたら、気軽にコメントください。 VC#、ラズパイ始めました。

自作関数

LED Cubeを作るに当たって、たくさんのLEDを制御するには、関数を作ったほうが良いのではないかと考え、Arduinoで自作関数を作る方法を調べました。

LED Cubeにおいては、1つのLEDを点灯させるだけでも、digitalWrite()をひとつというわけにはいかず、すべてのLEDを制御するために接続しているdigital pinの状態を宣言しなければなりません。

そこで、N番目のLEDを点灯する関数を作成しようと思います。

void led (n)のようなイメージでN番目のLEDを点灯させます。
void ** とは、関数を表します。
実はvoid loop()、void setup()も関数なんです。

さらに void led(i,j,k,l,m,n)のように同時に点灯(ダイナミック点灯)するLEDも制御できるようにすることを目標にします。

自作関数については、arduinoでの方法を調べていたのですが、なかなか分かりやすい文献がなかったのでC言語の方法を調べました。

Arduinoでは基本的にC言語の記述が使えるそうですのでこれを参考にします。まだ実際にはためしてないですけど。

という訳で、今日はarduino言語ではなく、c言語です。

=============================
#include

void main(){
int sum(int,int);//sumという自作関数を作ったという宣言
int times(int,int);
int value,e,f;

scanf("%d",&e); //変数eとfにデータ入力を受付、数字として扱う
scanf("%d",&f);

value = sum(e ,f); //関数にdataを渡す
int value2 ;
value2 = times(e,f);
   printf("%d,%d\n",value,value2);
//数型、","、数型、改行、変数、変数

}
void sum(int a, int b){//関数の中身 変数としてaとbを定義
int c;
c = a+b;
return c; //return : void main()に対してcの値を入れる
}

void times(int a, int b){
int d;
d = a*b;
return d;}

=============================