49
初めての Arduino

20140910 Arduino for beginners

Embed Size (px)

DESCRIPTION

初めての Arduino 2014年9月10日 横須賀市産業振興財団 関連ブログ http://android.ohwada.jp/archives/5153

Citation preview

Page 1: 20140910 Arduino for beginners

初めてのArduino

Page 2: 20140910 Arduino for beginners

1. Arduino の使い方 統合開発環境 ブレッドボード、電子回路  デジタル出力、PWM出力 デジタル入力、アナログ入力

2. PC でのグラフ表示 Processing ( Firmata )

今日の目標

Page 3: 20140910 Arduino for beginners

自 己 紹 介@ohwada

大和田健一日本Androidの会 横浜支部 支部長ファブラボ 関内 ディレクタ

Page 4: 20140910 Arduino for beginners

センサボードファブラボ関内

環境 (温度、湿度、照度、騒音)

Page 5: 20140910 Arduino for beginners

今日の勉強会

Page 6: 20140910 Arduino for beginners

準備するもの(1) Windowsパソコン あるいは MAC

(2) Arduinoをはじめようキット (相当品)

(3) マイナスドライバー(4) 可変抵抗

http://www.switch-science.com/catalog/181/

(1) Arduino UNO(2) UNO 用USBケーブル(3) ブレッドボード(4) ジャンパー線(5) LED(6) タクトスイッチ(7) 抵抗 (1KΩ, 10KΩ)

開発環境 (1) Arduino IDE (2) Proccesing ( Firmata Library )

http://akizukidenshi.com/catalog/g/gP-03277/

Page 7: 20140910 Arduino for beginners

Arduino とはAtmel AVR  ( 8bit CPU, Clock 16 MHz、  Flash 32 KB、SRAM 2 KB )USB  (電源供給、プログラム書き込み、シリアル通信)IOピン  (デジタル入力・出力、アナログ出力)

統合開発環境 (IDE)言語 C++ ライク

Page 8: 20140910 Arduino for beginners

1. ダウンロード&インストール2. マイコンボード選択3. シリアルポート選択4. スケッチ選択5. マイコンボードに書き込む

Arduino IDE

Page 9: 20140910 Arduino for beginners

Arduino IDE ダウンロード

http://arduino.cc/en/main/software

Page 10: 20140910 Arduino for beginners

Arduino IDE 起動直後

Page 11: 20140910 Arduino for beginners

マイコンボード選択Arduino IDE

Page 12: 20140910 Arduino for beginners

シリアルポート選択Arduino IDE

Page 13: 20140910 Arduino for beginners

スケッチ選択 Basics -> Blink

Arduino IDE

Page 14: 20140910 Arduino for beginners

マイコンボードに書き込む

クリックする

終了メッセージ

Arduino IDE

Page 15: 20140910 Arduino for beginners

目標:LED点滅通称「Lチカ」最初にやることの定番

課題 Arduinoの使い方 digitalWrite

http://arduino.cc/en/Tutorial/Blink

デジタル出力

Page 16: 20140910 Arduino for beginners

手 順1. 回路図2. 配線図3. Arduino IDE 3.1 スケッチ選択 3.2 マイコンボードに書き込む4. 動作確認

デジタル出力

Page 17: 20140910 Arduino for beginners

回路図デジタル出力

http://arduino.cc/en/Tutorial/Blink

1KΩ

Page 18: 20140910 Arduino for beginners

注意デジタル出力

Arduino をはじめようhttp://www.amazon.co.jp/dp/487311537X/

直刺しは間違い抵抗が必要

Page 19: 20140910 Arduino for beginners

配線図

http://arduino.cc/en/Tutorial/Fade

デジタル出力

LED 長い足 D13D9 -> D13 短い足 GND

Page 20: 20140910 Arduino for beginners

カラーコードPWM出力

黒 0 茶 1 ±1%赤 2 ±2%橙 3 黄 4 緑 5

青 6 紫 7 灰 8 白 9金 X ±5%銀 X ±10%

2= 茶 黒 赤1KΩ = 1 0 × 10

10KΩ = 茶 黒 橙

Page 21: 20140910 Arduino for beginners

ブレッドボードの内部結線PWM出力

Page 22: 20140910 Arduino for beginners

IDE スケッチ Blinkデジタル出力

Page 23: 20140910 Arduino for beginners

動作確認

点滅する

デジタル出力

Page 24: 20140910 Arduino for beginners

デジタル出力 コードの解説// 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}

Page 25: 20140910 Arduino for beginners

目標:LEDの明るさを変える

課題 ブレッドボードの使い方 PWM analogWrite

http://arduino.cc/en/Tutorial/Fade

PWM出力

Page 26: 20140910 Arduino for beginners

原 理

暗い

明るい

点灯する時間でLEDの明るさを調整する

PWM(Pulse Width Modulation)

PWM出力

Page 27: 20140910 Arduino for beginners

回路図

1KΩ

PWM出力

http://arduino.cc/en/Tutorial/Fade

Page 28: 20140910 Arduino for beginners

配線図PWM出力

http://arduino.cc/en/Tutorial/Fade

Page 29: 20140910 Arduino for beginners

1. スケッチ選択2. マイコンボードに書き込む3. 動作確認

残りの項目PWM出力

Page 30: 20140910 Arduino for beginners

目標:PCからLEDを操作する

課題 シリアル通信 Serial 通信プロトコル スケッチのダウンロード

シリアルモニタ

Page 31: 20140910 Arduino for beginners

通信プロトコル

コマンドの定義 「0」消灯 「1」点灯

ASCIIコード “0” 0x30 “1” 0x31

USBシリアル

シリアルモニタ

Page 32: 20140910 Arduino for beginners

スケッチシリアルモニタ

ダウンロード

SerialSample1 を下記に配置する

https://github.com/ohwada/Arduino_Serial_Sample_1

Page 33: 20140910 Arduino for beginners

操作画面

「0」消灯「1」点灯

シリアルモニタ

Page 34: 20140910 Arduino for beginners

目標 ボタンのON/OFFを シリアルモニタに表示する

http://arduino.cc/en/Tutorial/DigitalReadSerial

課題 digitalReadSerial

デジタル入力

Page 35: 20140910 Arduino for beginners

回路図

10KΩ

ボタン

デジタル入力

http://arduino.cc/en/Tutorial/DigitalReadSerial

Page 36: 20140910 Arduino for beginners

配線図自分で考えてみよう

ボタンの外観と回路

デジタル入力

http://arduino.cc/en/Tutorial/DigitalReadSerial

Page 37: 20140910 Arduino for beginners

配線図デジタル入力

すぐに配線せずに、紙に書いてみよう

https://github.com/ohwada/Arduino_circuit_template

Page 38: 20140910 Arduino for beginners

課題 AnalogReadSerialhttp://arduino.cc/en/Tutorial/AnalogReadSerial

アナログ入力 目標 可変抵抗の値を シリアルモニタに表示する

Page 39: 20140910 Arduino for beginners

回路図

10KΩ

アナログ入力

http://arduino.cc/en/Tutorial/AnalogReadSerial

Page 40: 20140910 Arduino for beginners

配線図自分で考えてみよう

ボリームの外観と回路

アナログ入力

http://arduino.cc/en/Tutorial/AnalogReadSerial

http://akizukidenshi.com/catalog/g/gP-03277/

Page 41: 20140910 Arduino for beginners

Proccesing

課題 Proccesingの使い方 Arduinoとの通信 グラフ表示

目標 可変抵抗の値を グラフ表示する

Page 42: 20140910 Arduino for beginners

Proccesing とは

操作 Arduino IDE とほぼ同じ

言語 JAVA ライク

特徴グラフィック機能

http://processing.org/

Page 43: 20140910 Arduino for beginners

Arduinoとの通信USBシリアル

Proccesing

メッセージの定義 AnalogReadSerial のまま 数値+改行複数のときは、カンマ区切り

Page 44: 20140910 Arduino for beginners

ソースコードダウンロード

arduino_serial_analog を下記に配置する

Proccesing

https://github.com/ohwada/Processing_arduino_serial_analog/

Page 45: 20140910 Arduino for beginners

スケッチ選択 arduino_serial_analog

Proccesing

Page 46: 20140910 Arduino for beginners

実行結果Proccesing

Page 47: 20140910 Arduino for beginners

おまけ

Page 49: 20140910 Arduino for beginners

センサキット

GROVE TinkerKithttp://www.switch-science.com/catalog/1812/

http://www.switch-science.com/catalog/681/