プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

自作関数

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;}

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