mBlockを使ってArduinoを動かしてみた2:LEDライト点滅(小学生こう君のブログ )

父の解説: 前回はArduinoとPCを接続し、mBlock5 (V5.2.0)のプログラムを2行だけ書いて、LEDライトをONしました。本日はLED点滅です。今回の範囲(変数の定義)でmBlock5の使い方に少しややこしい箇所があったので、記事の最後に補足を書いておきます。

こんにちは! こう君です!

今日は、前回に続き、Arduinoの遊び方を紹介したいと思います。 今日は、LEDを点滅させてみたいと思います。

回路を作る時は、USBケーブルを抜きます。 今日の回路は前回のさいごと同じです。

プログラミングしていきます。まず、矢印のところにある「変数を作る」というボタンをクリックします。 すると、画像のような画面が出るはずです。 ここに、好きな名前を入れてください。 なんでもいいです。

今回、名前はredにしました

そして、画像のようにプログラミングしてください。 矢印のところにはピン番号の11を入れます。

父 注:「デジタルピン11を出力レベル『低』にする」も挿入しました。記事末尾の補足参照。)

そして、「制御」から「ずっと」を選択して、その中に画像のようにプログラミングを入れます。

そして、画像のようにプログラミングします。 先ほど作った変数を、下の図の「9」のところに入れます。

そして、Arduinoをパソコンにつないだら、「接続」をクリックして、「アップロード」をクリックします。

すると、LEDが1秒ごとに点滅するはずです。

ところで、途中で何回か出てきた「変数」とは何か、について説明したいと思います。 「変数」とは、名前の中に数字を入れておくことができます。 たとえば、先ほどのプログラムなら、redが11と指定したので、デジタルピンred =デジタルピン11というわけです。

別に、redでなくても11と指定すればいいので、分かりやすい名前なら何でも構いません。

次回は、LEDを3つ使って、道路の信号を作りたいと思います。

父の補足:

下図のところの補足です。

mBlock V5.2.0では、「デジタルピン11を出力レベル『低』にする」の行なしに「『red』を11にする」だけだと、ソースコード(画面右端の</>をクリック)を見ると以下のようになってしまいます。

pinMode(red,OUTPUT);
red = 11;

変数redが定義される前にredが登場してしまうため、pinModeコマンドが正常に機能しないようです。(バグなのか仕様なのかは不明です。)

そこで「デジタルピン11を出力レベル『低』にする」をあらかじめ挿入し、

pinMode(11,OUTPUT);

と強制的にpinModeを設定することとしました。もっとスマートな解決方法ありましたら教えてください。

続き: mBlockを使ってArduinoを動かしてみた3:LEDで信号機(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた4:スイッチ取り付け(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた5:早押しボタン(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた6:音を出す(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた7:モータを回す(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた8:パソコンのキャラクターと連動(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた9:液晶ディスプレイ(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた10:コードブレーカーゲームのルール(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた11:コードブレーカーの暗号を作る(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた12:コードブレーカーの暗号判定(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた13:コードブレーカー判定結果の出力(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた14:コードブレーカー正解/失敗時の動作(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた15:コードブレーカー答えの入力(小学生こう君のブログ )

mBlockを使ってArduinoを動かしてみた16:コードブレーカー完成して遊んでみた(小学生こう君のブログ )

バックナンバー:

mBlockを使ってArduinoを動かしてみた1:セットアップ(小学生こう君のブログ )

--

--

Hiraku Sakamoto
東京工業大学エンジニアリングデザインプロジェクト

Associate Professor; Engineering Sciences and Design (ESD) Graduate Major, Department of Mechanical Engineering, Tokyo Institute of Technology, Japan.