関数の引数を使って、関数の呼び出し時に値を指定して実行してみよう


関数を利用してRGBフルカラーLEDのコードを整理してみようで複数のブロックをまとめて関数を作り、コード全体のわかり易さを高めました。



※前のコードから一部分だけを取り出しています。


前のコードでは、RGBフルカラーLEDで赤を点灯させる場合は、アナログ値を255が固定されていて、更に明るくしたい時には別途他の関数を作って呼び出しといった形になり、使い勝手の良い関数とは言えません。


そこで今回は関数の引数(ひきすう)という機能を使って、更に使い勝手の良い関数に仕上げていきます。






関数を作る際に数値ボタンを押して、関数名の横に数値を追加します。

この数値のことを引数と呼び、数値の他にも様々な型が用意されています。「


この数値は名前の変更が可能で、今回は明るさにして話を進めます。



関数 赤を組み立てていきます。


関数名の横に赤いブロックで明るさが用意されていまして、このブロックは関数内でのみ使用できる変数のようなものになります。


この明るさブロックを該当箇所に入れて、関数 赤を仕上げていきます。



関数 赤は明るさの数値と合わせて呼び出しを行います。



関数 赤同様に、関数 緑と関数 青も仕上げます。



これで関数呼び出しに色と明るさを指定出来るようになりました。




MicroPythonのコード

from microbit import *

# 消灯
def off():
	pin0.write_analog(0)
	pin1.write_analog(0)
	pin2.write_analog(0)

# 赤の点灯
def red(light_level):
	pin0.write_analog(light_level)
	pin1.write_analog(0)
	pin2.write_analog(0)

# 緑の点灯
def green(light_level):
	pin0.write_analog(0)
	pin1.write_analog(light_level)
	pin2.write_analog(0)

# 赤の点灯
def blue(light_level):
	pin0.write_analog(0)
	pin1.write_analog(0)
	pin2.write_analog(light_level)

off()

while True:
	red(255)
	sleep(1000)
	green(255)
	sleep(1000)
	blue(255)
	sleep(1000)
京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
大阪府高槻市でプログラミング教室を開設しています。
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。