【Arduino入門 第一弾】Webデザイナーでもできる電子工作~LED点滅~

2014年10月23日

Pocket

arduino_1

理工学を学んでない人、プログラミングに初挑戦という人でも簡単に入門しやすい電子工作ボードがアツイですね!
そこで今回は、Arduinoに挑戦してみました!
Arduinoの言語はCがベースですが、Arduino用の関数が多数用意されているので、難解とされるC言語がぜんぜんできない人でもプログラムしやすいです。
 
 
 

準備物

Arduino UNO
LED
USBケーブル
パソコン
 
 

IDEインストール

IDEはパソコン上でArduinoのプログラムを扱えるソフトウェアです。
http://arduino.cc/en/Main/SoftwareでArduinoのアプリをインストールします。
arduin_dl
それぞれお使いの環境に合ったソフトをインストールします。私は、Macを使用しているの『Mac OS X』をインストールします。
 
ArduinoとパソコンをUSBケーブルで繋ぎます。
先ほどインストールしたIDEを立ち上げ、使用ポートの設定をします。
ツール -> シリアルポート -> cu.usbmodem1421を選択します。
arduin_port
 
 

Arduino UNO基盤説明

arduin_bord
デジタル出入力ピン:入力、出力として使います。HIGH/LOWで設定が可能。
アナログ入力ピン:アナログの値で出力が可能です。
アナログ出力ピン:センサーなどからアナログの値を取ります。
LED:ピン13と連動しています。
 
 

回路を組む

今回はとりあえずLEDだけなので、回路を組むわけではないですが・・・。
デジタル出力ピン13にLEDのプラス極を刺し、マイナス極を隣のGNDに刺します。
LEDは長い方がプラス極、短い方がマイナス極です。
arduin_led
arduin_kairo
 
 

プログラムを組む

Arduinoでは、プログラムをスケッチといいます。
下記のプログラムを入れてみます。

const int LED = 13;

void setup(){
  pinMode(LED,OUTPUT);
}

void loop(){
  digitalWrite(LED,HIGH);
}

プログラムを書き終えたら、検証のボタンを押します。
arduin_botton
プログラムにエラーがなければ、下のエリアに「コンパイル終了」という文字が出ます。
エラーがなければ、書き込みボタンを押します。
「マイコンボードへの書き込みが終了しました」という文字が出ればArduinoのボードに書き込みが完了です。
arduin_error
無事LEDが光りました!!
点滅させたいので、プログラムを書き変えます。

const int LED = 13;

void setup(){
  pinMode(LED,OUTPUT);
}

void loop(){
  digitalWrite(LED,HIGH);
  delay(500);
  digitalWrite(LED,LOW);
  delay(500);
}

このプログラムをArduinoに書き込みます。
点滅しました!!
arduin_light
 
 

プログラム説明

const int LED = 13; //①

void setup(){  //②
  pinMode(LED,OUTPUT);  //③
}

void loop(){  //④
  digitalWrite(LED,HIGH);  //⑤
  delay(500);  //⑥
  digitalWrite(LED,LOW);  //⑦
  delay(500);
}

①ピン13に接続されていることをLEDという定数に代入しています。
②setupという関数を定義しています。この中には、初期設定のようなことをかきます。
③定数LEDは出力(OUTPUT)という設定をしています。
■pinMode(pin,value)
pinがOUTPUTかINPUTか設定
④Arduinoの電源がついている間ループします。
⑤LEDを点灯させます。
■digitalWrite(pin,value)はオンかオフを設定できます。
valueは、HIGHかLOWが入ります。
⑥光らせたい時間を設定します。
■delay(time)
プログラムを停止させる時間をミリ秒で設定します。
⑦LEDを消します。

 
 
 
簡単にArduinoでLEDの点滅が実装できました!

このサイトについて


『意識低い系女と高い系男の一年戦争』はクリエイティブ会社エアゼの代表2人が運営するブログです。エアゼは、アプリ・Web・IoT・インタラクティブコンテンツのデザイン・開発を手がけています。

エアゼ ホームページ