某社 arduino勉強会
       ハンズオン
- LEDをチカチカさせてみよう -
      @hidesuke
参考書
 Arduinoをはじめよう 第2版
 Massimo Banzi 著
 船田巧 訳
 アマゾン:http://amzn.to/YoA9UW


 Arduinoをはじめようキット
 スイッチサイエンス
 アマゾン:http://amzn.to/10AuhWC

 上記の本の内容に準拠した、Arduinoと
 各種センサ、ブレッドボードワイヤーの
 セット
今日の目標
•  Arduinoを使ってLEDをチカチカさせる
•  Arduinoを触って、なんとなく雰囲気をつ
   かむ。
•  慣れてきたら勝手に拡張してみましょう。
Arduino IDEのセットアップ
•  Arduinoを動作させるためのスケッチ(小
   さなプログラム)を書くためのソフトウェ
   アです
•  公式サイトからダウンロードしましょう
 –  http://arduino.cc/en/Main/Software
ごたくはいいからさっさとLED光
  らせようぜΨ(`∀´)Ψ

•  用意するもの
 –  Arduino UNO
 –  LED
 –  USBケーブル
ハードウェア実装




男らしくぶち刺す
LEDを刺す場所
•  LEDの脚の短い方をGNDに刺す
 –  GNDとはグラウンドのこと。接地とかアース
    とか言われるあれ。
•  LEDの脚の長い方を13に刺す
補足:LEDについて
•  順方向に電圧を加えると光る
   半導体素子
•  カソード
 –  外部回路へ電流が流れだす電極
    のこと
•  アノード
 –  外部回路から電流が流れこむ電
    極のこと
ソフトウェア実装
•  Arduino IDEで以下のコードを入力しま
   しょう
       //Example	
  01	
  :	
  Blinking	
  LED	
  
       	
  
       const	
  int	
  LED	
  =	
  13;	
  
       	
  
       void	
  setup()	
  {	
  
       	
  pinMode(LED,	
  OUTPUT);	
  	
  
       }	
  
       	
  
       void	
  loop()	
  {	
  
       	
  digitalWrite(LED,	
  HIGH);	
  	
  	
  //	
  LEDを点ける	
            delay(1000);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  1秒待つ	
            digitalWrite(LED,	
  LOW);	
  	
  //	
  LEDを消す	
            delay(1000);	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  1秒待つ	
       }
コンパイル / 書き込み

      (5) Arduinoに転送
(1) 検証を押す




                       (3) USBで ArduinoとPCをつなぐ
                       (4) つないであるシリアルポートを指定
                       図はMacの場合




  (2) エラーが無いことを確認
これでLEDちかちかできた
  (∩´∀`)∩ワーイ
しかし……
•  長時間チカチカさせたい場合は抵抗を噛
   ませなくてはいけません。
•  抵抗挟むようなスペースはArduinoに無
   い……
•  LEDチカチカしつづけていて単調
スイッチを使ってLEDをつけたり
   消したりしましょう
V(電圧) = R(抵抗) * I(電流)
何故、抵抗をかますか
•  大きな電流がながれるとLED熱くなっちゃう
   (;́ `)
•  LEDには流す電流の推奨値があるらしい
 –  5mAくらいながせば充分あかるいらしいです
    が……
•  V = R*Iを思い出すのじゃ……
 –  USBは電圧 5V
 –  5mA = 0.0005A流せば充分ということは。
 –  R = 5 / 0.0005 = 10000 = 10kΩ
•  10kΩの抵抗をかましたら幸せになれる
抵抗器の読み方
•  抵抗器には4本の色の線が書いてある
•  この組み合わせで抵抗の数値を読み取る

•  金色 or 銀色の線を右側にする。
 –  これはその部品の精度を表している
•  左から3桁目は末尾につく0の数を表して
   いる
•  左から1桁目、2桁目は普通に数字
色と数値の早見表




 15000±5%Ω




10kΩは 茶黒橙金
                              wikipediaより転載
             http://ja.wikipedia.org/wiki/抵抗器
ブレッドボードって?
•  ハンダ付けしたり、基
   盤プリントしたりたい
   へんじゃないですか
•  抜いたり差したりする
   だけで簡単に回路がつ
   くれる手抜きプロトタ
   イピングのための道具
ブレッドボードの仕組み
•  右図の緑の線のように
   導電体がつながってい
   る
•  これを意識してブスブ
   ス刺していくといろい
   ろ る
ハードウェア実装
           LED	
  
        カソードをGND	
  
        アノードを13版	
  




5V	
                       10kΩ抵抗器	
GND	

            7番	
                   タクトスイッチ
ソフトウェア実装
//Example	
  03C	
                           void	
  loop()	
  {	
  
	
                                           	
  	
  val	
  =	
  digitalRead(BUTTON);	
  
const	
  int	
  LED	
  =	
  13;	
            	
  	
  	
  
const	
  int	
  BUTTON	
  =	
  7;	
          	
  	
  //変化があるかチェック	
	
                                                      if((val	
  ==	
  HIGH)	
  &&	
  (old_val	
  ==	
  LOW))	
  {	
  
int	
  val	
  =	
  0;	
                      	
  	
  	
  	
  state	
  =	
  1	
  -­‐	
  state;	
  
int	
  old_val	
  =	
  0;	
                  	
  	
  	
  	
  delay(10);	
  	
  
int	
  state	
  =	
  0;	
                    	
  	
  }	
  
	
                                           	
  	
  	
  
void	
  setup()	
  {	
                       	
  	
  old_val	
  =	
  val;	
  
	
  	
  pinMode(LED,	
  OUTPUT);	
           	
  	
  if	
  (state	
  ==	
  1)	
  {	
  
	
  	
  pinMode(BUTTON,	
  INPUT);	
  	
     	
  	
  	
  	
  digitalWrite(LED,	
  HIGH);	
  
}	
                                          	
  	
  }	
  else	
  {	
  
	
                                           	
  	
  	
  	
  digitalWrite(LED,	
  LOW);	
  
                                             	
  	
  }	
  
                                             }
スイッチで
LEDちかちかできた
 (∩´∀`)∩ワーイ
まとめ
•  Arduino IDEでのスケッチ
•  ブレッドボードを使ったハードウェアの実
   装
•  抵抗の読み方
•  V = R*I

第2回 某社Arduino勉強会 ハンズオン