初めての 
Arduino
今日の目標 
1. Arduino の使い方 
 統合開発環境 
 ブレッドボード、電子回路 
 デジタル出力、PWM出力 
 デジタル入力、アナログ入力 
2. PC でのグラフ表示 
 Processing ( Firmata )
自 己 紹 介 
@ohwada 
大和田健一 
日本Androidの会 横浜支部 支部長 
ファブラボ 関内 ディレクタ
ファブラボ関内センサボード 
環境 (温度、湿度、照度、騒音)
今日の勉強会
準備するもの 
(1) Windowsパソコン あるいは MAC 
開発環境 
(1) Arduino IDE 
(2) Proccesing ( Firmata Library ) 
(2) Arduinoをはじめようキット (相当品) 
http://www.switch-science.com/catalog/181/ 
(1) Arduino UNO 
(2) UNO 用USBケーブル 
(3) ブレッドボード 
(4) ジャンパー線 
(5) LED 
(6) タクトスイッチ 
(7) 抵抗 (1KΩ, 10KΩ) 
(3) マイナスドライバー 
(4) 可変抵抗 
http://akizukidenshi.com/catalog/g/gP-03277/
Arduino とは 
Atmel AVR 
 ( 8bit CPU, Clock 16 MHz、 
  Flash 32 KB、SRAM 2 KB ) 
USB 
 (電源供給、プログラム書き込み、シリアル通信) 
IOピン 
 (デジタル入力・出力、アナログ出力) 
統合開発環境 (IDE) 
言語 C++ ライク
Arduino IDE 
1. ダウンロード&インストール 
2. マイコンボード選択 
3. シリアルポート選択 
4. スケッチ選択 
5. マイコンボードに書き込む
Arduino IDE ダウンロード 
http://arduino.cc/en/main/software
Arduino IDE 起動直後
Arduino IDE マイコンボード選択
Arduino IDE シリアルポート選択
Arduino IDE 
スケッチ選択Basics -> Blink
マイコンボードに書き込む 
Arduino IDE 
クリックする 
終了メッセージ
デジタル出力 
目標:LED点滅 
通称「Lチカ」 
最初にやることの定番 
課題 
 Arduinoの使い方 
 digitalWrite 
http://arduino.cc/en/Tutorial/Blink
手 順 
デジタル出力 
1. 回路図 
2. 配線図 
3. Arduino IDE 
 3.1 スケッチ選択 
 3.2 マイコンボードに書き込む 
4. 動作確認
デジタル出力回路図 
1KΩ 
http://arduino.cc/en/Tutorial/Blink
デジタル出力注意 
直刺しは間違い 
抵抗が必要 
Arduino をはじめよう 
http://www.amazon.co.jp/dp/487311537X/
配線図 
http://arduino.cc/en/Tutorial/Fade 
デジタル出力 
LED 長い足 D13 
D9 -> D13 短い足 GND
PWM出力カラーコード 
黒 0 
茶 1 ±1% 
赤 2 ±2% 
橙 3 
黄 4 
緑 5 
青 6 
紫 7 
灰 8 
白 9 
金 X ±5% 
銀 X ±10% 
2 1KΩ = 1 0 × 10 = 茶 黒 赤 
10KΩ = 茶 黒 橙
PWM出力 
ブレッドボードの内部結線
デジタル出力IDE スケッチ Blink
動作確認 
点滅する 
デジタル出力
デジタル出力コードの解説 
// Pin 13 has an LED connected on most Arduino boards. 
// give it a name: 
int led = 13; 
// the setup routine runs once when you press reset: 
void setup() { 
// initialize the digital pin as an output. 
pinMode(led, OUTPUT); 
} 
// the loop routine runs over and over again forever: 
void loop() { 
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) 
delay(1000); // wait for a second 
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW 
delay(1000); // wait for a second 
}
PWM出力 
目標:LEDの明るさを変える 
課題 
 ブレッドボードの使い方 
 PWM 
 analogWrite 
http://arduino.cc/en/Tutorial/Fade
原 理 
PWM出力 
点灯する時間でLEDの明るさを調整する 
暗い 
明るい 
PWM(Pulse Width Modulation)
回路図 
1KΩ 
PWM出力 
http://arduino.cc/en/Tutorial/Fade
PWM出力配線図 
http://arduino.cc/en/Tutorial/Fade
残りの項目 
PWM出力 
1. スケッチ選択 
2. マイコンボードに書き込む 
3. 動作確認
シリアルモニタ 
目標:PCからLEDを操作する 
課題 
 シリアル通信 Serial 
 通信プロトコル 
 スケッチのダウンロード
通信プロトコル 
USBシリアル 
コマンドの定義 
 「0」消灯 
 「1」点灯 
ASCIIコード 
 “0” 0x30 
 “1” 0x31 
シリアルモニタ
シリアルモニタスケッチ 
ダウンロード 
https://github.com/ohwada/Arduino_Serial_Sample_1 
SerialSample1 を下記に配置する
操作画面 
「0」消灯 
「1」点灯 
シリアルモニタ
デジタル入力 
目標 
 ボタンのON/OFFを 
 シリアルモニタに表示する 
課題 
 digitalReadSerial 
http://arduino.cc/en/Tutorial/DigitalReadSerial
回路図 
ボタン 
10KΩ 
デジタル入力 
http://arduino.cc/en/Tutorial/DigitalReadSerial
配線図 
デジタル入力 
自分で考えてみよう 
http://arduino.cc/en/Tutorial/DigitalReadSerial 
ボタンの外観と回路
配線図 
デジタル入力 
すぐに配線せずに、紙に書いてみよう 
https://github.com/ohwada/Arduino_circuit_template
アナログ入力 
目標 
 可変抵抗の値を 
 シリアルモニタに表示する 
課題 
 AnalogReadSerial 
http://arduino.cc/en/Tutorial/AnalogReadSerial
回路図 
アナログ入力 
10KΩ 
http://arduino.cc/en/Tutorial/AnalogReadSerial
配線図 
アナログ入力 
自分で考えてみよう 
http://arduino.cc/en/Tutorial/AnalogReadSerial 
ボリームの外観と回路 
http://akizukidenshi.com/catalog/g/gP-03277/
Proccesing 
目標 
 可変抵抗の値を 
 グラフ表示する 
課題 
 Proccesingの使い方 
 Arduinoとの通信 
 グラフ表示
Proccesing とは 
特徴 
グラフィック機能 
操作 
Arduino IDE 
とほぼ同じ 
言語 
JAVA ライク 
http://processing.org/
Arduinoとの通信 
USBシリアル 
Proccesing 
メッセージの定義 
 AnalogReadSerial のまま 
 数値+改行 
複数のときは、カンマ区切り
ソースコード 
ダウンロード 
Proccesing 
https://github.com/ohwada/Processing_arduino_serial_analog/ 
arduino_serial_analog を下記に配置する
Proccesing 
スケッチ選択arduino_serial_analog
Proccesing 実行結果
おまけ
書 籍 
http://www.amazon.co.jp/dp/487311537X/ 
http://www.amazon.co.jp/dp/4873114772/
センサキット 
GROVE TinkerKit 
http://www.switch-science.com/catalog/1812/ 
http://www.switch-science.com/catalog/681/

20140910 Arduino for beginners