今回も、Arduinoの互換製品である「ELEGOO UNO R3」のチュートリアルを進めていった。使用するプログラムも同梱されている物を使用する。Lesssonは33まであるが、同梱されているキットだけで可能な箇所まで進める。

 

  Lesson 5 「デジタル入力」

ここでは付属するプッシュボタンを使って、LEDを点灯、消灯をさせる。

しかしただ通電したことでLEDを光らせるのではなく、ボタンを2つ用いて「ON」「OFF」をUNO側に認識させ制御する。

 

このように接続し

----------------------------------------------------

int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;

byte leds = 0;

void setup() 
{
  pinMode(ledPin, OUTPUT);
  pinMode(buttonApin, INPUT_PULLUP);  
  pinMode(buttonBpin, INPUT_PULLUP);  
}

void loop() 
{
  if (digitalRead(buttonApin) == LOW)
  {
    digitalWrite(ledPin, HIGH);
  }
  if (digitalRead(buttonBpin) == LOW)
  {
    digitalWrite(ledPin, LOW);
  }
}

----------------------------------------------------

この様に書き込む。その状態で左側のボタンを押すと下図のようにLEDが点灯した。

そして右側のボタンを押すと下図のように消灯した。

 

 

  Lesson 6 「アクティブブザー」

次はブザーで音を鳴らしてみる。と言っても下図のようにブレッドボードも使わない程シンプルな接続方法で鳴らすことができる。

この様に繋いだうえで

----------------------------------------------------

int buzzer = 12;//the pin of the active buzzer
void setup()
{
 pinMode(buzzer,OUTPUT);//initialize the buzzer pin as an output
}
void loop()
{
 unsigned char i;
 while(1)
 {
   //output an frequency
   for(i=0;i<80;i++)
   {
    digitalWrite(buzzer,HIGH);
    delay(1);//wait for 1ms
    digitalWrite(buzzer,LOW);
    delay(1);//wait for 1ms
    }
    //output another frequency
     for(i=0;i<100;i++)
      {
        digitalWrite(buzzer,HIGH);
        delay(2);//wait for 2ms
        digitalWrite(buzzer,LOW);
        delay(2);//wait for 2ms
      }
  }

----------------------------------------------------

と書き込むことで音を鳴らすことができる。

音を鳴らす動作なので、画像で見てもよくわからないがこの様に繋ぎ書き込んだ時点で音が鳴りだす。

 

  Lesson 7 「傾斜ボールスイッチ」

次は傾きを検知してLEDを光らせてみる。こちらも接続する方法は簡単で下図のようにする。

プログラムは以下のようにする。

----------------------------------------------------

int buzzer = 12;//the pin of the active buzzer
void setup()
{
 pinMode(buzzer,OUTPUT);//initialize the buzzer pin as an output
}
void loop()
{
 unsigned char i;
 while(1)
 {
   //output an frequency
   for(i=0;i<80;i++)
   {
    digitalWrite(buzzer,HIGH);
    delay(1);//wait for 1ms
    digitalWrite(buzzer,LOW);
    delay(1);//wait for 1ms
    }
    //output another frequency
     for(i=0;i<100;i++)
      {
        digitalWrite(buzzer,HIGH);
        delay(2);//wait for 2ms
        digitalWrite(buzzer,LOW);
        delay(2);//wait for 2ms
      }
  }

----------------------------------------------------

書き込みを傾斜ボールスイッチを立ててみると下図のように本体の橙色のLEDが点灯する。

傾斜ボールスイッチをさかさまにするとLEDが消灯することが確認できる。