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

23
某社 arduino勉強会 ハンズオン - LEDをチカチカさせてみよう - @hidesuke

Upload: yusuke-hideshima

Post on 13-May-2015

1.060 views

Category:

Technology


2 download

DESCRIPTION

大崎らへんの某社で行われているArduino勉強会のハンズオン用資料です。 今回は、LEDをチカチカさせます。

TRANSCRIPT

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

某社 arduino勉強会 ハンズオン

- LEDをチカチカさせてみよう - @hidesuke

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

参考書 Arduinoをはじめよう 第2版 Massimo Banzi 著 船田巧 訳 アマゾン:http://amzn.to/YoA9UW

Arduinoをはじめようキット スイッチサイエンス アマゾン:http://amzn.to/10AuhWC 上記の本の内容に準拠した、Arduinoと各種センサ、ブレッドボードワイヤーのセット

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

今日の目標 •  Arduinoを使ってLEDをチカチカさせる •  Arduinoを触って、なんとなく雰囲気をつかむ。

•  慣れてきたら勝手に拡張してみましょう。

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

Arduino IDEのセットアップ •  Arduinoを動作させるためのスケッチ(小さなプログラム)を書くためのソフトウェアです

•  公式サイトからダウンロードしましょう – http://arduino.cc/en/Main/Software

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

ごたくはいいからさっさとLED光らせようぜΨ(`∀´)Ψ

•  用意するもの – Arduino UNO – LED – USBケーブル

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

ハードウェア実装

男らしくぶち刺す

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

LEDを刺す場所 •  LEDの脚の短い方をGNDに刺す – GNDとはグラウンドのこと。接地とかアースとか言われるあれ。

•  LEDの脚の長い方を13に刺す

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

補足:LEDについて •  順方向に電圧を加えると光る半導体素子

•  カソード – 外部回路へ電流が流れだす電極のこと

•  アノード – 外部回路から電流が流れこむ電極のこと

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

ソフトウェア実装 •  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秒待つ }

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

コンパイル / 書き込み

(1) 検証を押す

(2) エラーが無いことを確認

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

(5) Arduinoに転送

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

これでLEDちかちかできた (∩´∀`)∩ワーイ

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

しかし…… •  長時間チカチカさせたい場合は抵抗を噛ませなくてはいけません。

•  抵抗挟むようなスペースはArduinoに無い……

•  LEDチカチカしつづけていて単調

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

スイッチを使ってLEDをつけたり消したりしましょう

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

V(電圧) = R(抵抗) * I(電流)

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

何故、抵抗をかますか •  大きな電流がながれるとLED熱くなっちゃう(;́∀`)

•  LEDには流す電流の推奨値があるらしい – 5mAくらいながせば充分あかるいらしいですが……

•  V = R*Iを思い出すのじゃ…… – USBは電圧 5V – 5mA = 0.0005A流せば充分ということは。 –  R = 5 / 0.0005 = 10000 = 10kΩ

•  10kΩの抵抗をかましたら幸せになれる

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

抵抗器の読み方 •  抵抗器には4本の色の線が書いてある •  この組み合わせで抵抗の数値を読み取る

•  金色 or 銀色の線を右側にする。 – これはその部品の精度を表している

•  左から3桁目は末尾につく0の数を表している

•  左から1桁目、2桁目は普通に数字

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

色と数値の早見表

wikipediaより転載 http://ja.wikipedia.org/wiki/抵抗器

15000±5%Ω

10kΩは 茶黒橙金

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

ブレッドボードって? •  ハンダ付けしたり、基盤プリントしたりたいへんじゃないですか

•  抜いたり差したりするだけで簡単に回路がつくれる手抜きプロトタイピングのための道具

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

ブレッドボードの仕組み •  右図の緑の線のように導電体がつながっている

•  これを意識してブスブス刺していくといろいろ捗る

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

ハードウェア実装

5V

GND

LED  カソードをGND  アノードを13版  

タクトスイッチ

10kΩ抵抗器

7番

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

ソフトウェア実装 //Example  03C    const  int  LED  =  13;  const  int  BUTTON  =  7;    int  val  =  0;  int  old_val  =  0;  int  state  =  0;    void  setup()  {      pinMode(LED,  OUTPUT);      pinMode(BUTTON,  INPUT);    }    

void  loop()  {      val  =  digitalRead(BUTTON);            //変化があるかチェック if((val  ==  HIGH)  &&  (old_val  ==  LOW))  {          state  =  1  -­‐  state;          delay(10);        }            old_val  =  val;      if  (state  ==  1)  {          digitalWrite(LED,  HIGH);      }  else  {          digitalWrite(LED,  LOW);      }  }

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

スイッチで LEDちかちかできた (∩´∀`)∩ワーイ

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

まとめ •  Arduino IDEでのスケッチ •  ブレッドボードを使ったハードウェアの実装

•  抵抗の読み方 •  V = R*I