20140910 Arduino for beginners

Preview:

DESCRIPTION

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

Citation preview

初めてのArduino

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

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

今日の目標

自 己 紹 介@ohwada

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

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

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

今日の勉強会

準備するもの(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/

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

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

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

Arduino IDE

Arduino IDE ダウンロード

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

Arduino IDE 起動直後

マイコンボード選択Arduino IDE

シリアルポート選択Arduino IDE

スケッチ選択 Basics -> Blink

Arduino IDE

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

クリックする

終了メッセージ

Arduino IDE

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

課題 Arduinoの使い方 digitalWrite

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

デジタル出力

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

デジタル出力

回路図デジタル出力

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

1KΩ

注意デジタル出力

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

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

配線図

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

デジタル出力

LED 長い足 D13D9 -> 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}

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

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

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

PWM出力

原 理

暗い

明るい

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

PWM(Pulse Width Modulation)

PWM出力

回路図

1KΩ

PWM出力

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

配線図PWM出力

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

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

残りの項目PWM出力

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

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

シリアルモニタ

通信プロトコル

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

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

USBシリアル

シリアルモニタ

スケッチシリアルモニタ

ダウンロード

SerialSample1 を下記に配置する

https://github.com/ohwada/Arduino_Serial_Sample_1

操作画面

「0」消灯「1」点灯

シリアルモニタ

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

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

課題 digitalReadSerial

デジタル入力

回路図

10KΩ

ボタン

デジタル入力

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

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

ボタンの外観と回路

デジタル入力

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

配線図デジタル入力

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

https://github.com/ohwada/Arduino_circuit_template

課題 AnalogReadSerialhttp://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 のまま 数値+改行複数のときは、カンマ区切り

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

arduino_serial_analog を下記に配置する

Proccesing

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

スケッチ選択 arduino_serial_analog

Proccesing

実行結果Proccesing

おまけ

センサキット

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

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