Download - ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作
![Page 1: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/1.jpg)
~組込みマイコン VS Arduino(アルデュイーノ) -その、似て非なるもの-~
トライアングルエレクトロニクス
久保 幸夫
カンファレンス/ヒートアップセッション
7月30日(水) 12:30-13:30 【ルーム5】
組込み技術教育から見た「電子工作」
![Page 2: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/2.jpg)
カンファレンスの内容
• 組込み技術の入門として、Arduino(アルデュイーノ)などの電子工作用マイコンを使用することが増えている。また、hackathon(ハッカソン)などのイベントでの高速プロトタイピングツールとしても、良く使われている。初心者でも扱いやすく、手軽な反面、組込み技術教育の観点から見ると、落とし穴もある。組込みマイコンとArduinoの違いを把握して、組込みマイコン初心者からステップアップするための処方箋を示す。 と、大きく書いてしまった
![Page 3: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/3.jpg)
久保幸夫 @tentenV3って誰やねん?
• 自称 IT&組み込み講師・コンテンツライター
– 電子工作マガジン、エレキジャック、日経ネットワーク、などの雑誌記事や書籍を書いている人
– JASAでは ETEC試験関連のお仕事担当
• 最近は 地元・大阪日本橋(にっぽんばし)に生息
– 日本橋ロボット連絡会幹事
– 日本橋ものづくり拠点 robobaのメンバー
昨年から3Dプリンタ作りに嵌り…
http://roboba.jp/
![Page 4: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/4.jpg)
組込み技術の入門といえば・・・
昔々その昔 Z80マイコンなどを 自分で作る
シングルチップマイコンの ボードを使って実習 H8やPICマイコンがポピュラー
今どきは、ARM系
レゴマインドストーム
Arduino(アルドゥイーノ)など お手軽マイコンボード
![Page 5: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/5.jpg)
Arduino(アルドゥイーノ)
Arduinoは、AVRマイコン、入出力ポートを備えた基板、C++風のArduino言語とそれの統合開発環境から構成されるシステム。 (Wikiより引用)
![Page 6: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/6.jpg)
フィジカルコンピューティング
フィジカルコンピューティングとは? ものをコントロール、センシング いままで無かった、おもろい、楽しい、役に立つ、システムをつくる(考える) ちょっと先の未来を発想するワクワク感
Arduinoは、フィジカル コンピューティングのためのツール 新たな、モノ、サービスを 考えるための教育用訓練ツール
![Page 7: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/7.jpg)
Arduinoは、フィジカルコンピューティングのためのツール
実体は、AVRマイコン(ATmega168など)を使った、マイコンボード
専門家以外でも、 マイコンを扱えられるように工夫
ハードウェア知らなくても大丈夫
使いやすい開発環境
多くのサンプルプログラム
けっこう丈夫なハードウェア!
![Page 8: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/8.jpg)
Arduinoの開発環境
PC上で開発
C++言語風
簡単にサクサク プログラムを 作成できる
USBで基板に 書き込む
使いやすい
わかりやすい
![Page 9: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/9.jpg)
Arduinoの開発事例
• 使いやすい開発環境 – スケッチと呼ぶプログラム
• C言語風のプログラム言語 でスケッチを記述
• 豊富なサンプルで、手早く プログラミング
赤外線リモコン の信号を解析する スケッチとモータの PWM制御の事例
赤外線リモコン の信号を解析する スケッチ
9 yukio kubo 2010
![Page 10: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/10.jpg)
Arduinoは、使いやすい
開発環境の導入が楽
コストがやすい 2500円~
ブレッドボードでお手軽 電子工作
書籍など参考資料が多い
壊れにくい
いろんな意味で、敷居が低い 教える方も 楽
![Page 11: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/11.jpg)
学校の教育現場でも
ハードウェアの敷居が低い 非電子系(情報系)の大学での授業・実習
芸術・アート系の作品つくり
電気電子系の大学や専門学校でも 教えやすい
基板が安い
壊れにくい
ハンダ付け要らない 半田付けの体験が↓
![Page 12: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/12.jpg)
Arduinoと組込み教育
その1 Arduinoは組込み?
その2
Arduinoを使った 組込み技術の教育のポイント
その3 ブレッドボード電子工作のポイント
![Page 13: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/13.jpg)
その1 Arduinoは組込み?
ArduinoはAVRの組込みマイコンを 使っている
『Arduinoを使いこなせる』 ⇒『組込みマイコンを使いこなせる』 ⇒『組込み技術を身につけている』
という、勘違いが発生しやすい!
![Page 14: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/14.jpg)
例 Arduino のLED点灯プログラム
// 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)
}
LEDは13番ピン
13番ピンを出力に
13番ピンをHに
実質 4~5行で、スケッチを書けてしまう
![Page 15: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/15.jpg)
じゃ、組込みマイコンの場合
STM32ディスカバリの場合
STM32 Value line discovery
1000円のマイコンとして有名
ARMコア
STMicroelectronics のSTM32F100マイコンを 搭載した格安マイコン基板 インサーキットデバッガ・プログラマ内蔵(USB) 開発環境は、無償版を ダウンロード使用
Cortex-M3ベースFlashマイクロコントローラ
![Page 16: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/16.jpg)
STM32ディスカバリの場合
開発環境の整備
ネットからのダウンロード・インストール
半日仕事
マイコンの初期設定に10数行
ハードウェアの知識が必要
LEDの点灯まで 準備が長い
![Page 17: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/17.jpg)
LEDの点灯までの長い旅… //ペリフェラルのライブラリのインクルード
#include "stm32f10x.h"
//ペリフェラルの初期化用構造体を用意
GPIO_InitTypeDef GPIO_InitStructure;
int main(void)
{
volatile int i;
//ペリフェラルのクロックをオンにして起動
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
//ペリフェラルの初期化用構造体を初期化
GPIO_StructInit(&GPIO_InitStructure);
//ペリフェラルの初期化用構造体にパラメータを設定
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //pin8に設定
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //出力モードpush-pullに設定
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //スイッチング速度 50MHz(MAX)
//ペリフェラルの初期化関数の呼出し
GPIO_Init(GPIOC, &GPIO_InitStructure);
//ペリフェラルの操作
GPIO_WriteBit(GPIOC, GPIO_Pin_8, Bit_SET);
while (1);
}
いろいろと準備
IOポートにクロック供給
8番ピンを指定 プッシュプル モードで出力
IOポートのクロックを50MHzに IOポートの
初期化
![Page 18: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/18.jpg)
GPIOの初期化でモードを設定
ディジタル・デザイン・テクノロジ No.14 マイコンでハードウェア制御 超入門 久保幸夫著(2012年CQ出版)より引用
![Page 19: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/19.jpg)
GPIOのモード設定には ハードウェアの知識が必要
![Page 20: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/20.jpg)
最近のシングルチップマイコン
高機能・高性能 豊富な内蔵ペリフェラル
1個のピンが、複数の機能を持つ 適切に設定切り替える必要がある
省電力のため、 細かい有効、無効の設定
細かいクロック設定
ハードウェアの知識が必要
![Page 21: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/21.jpg)
今どきマイコンを生で使うには int main(void) { <省略> 以下はEMI/EMC対策のため、いったん全GPIOのポートをアナログ入力に設定 /* Configure all unused GPIO port pins in Analog Input mode (floating input trigger OFF), this will reduce the power consumption and increase the device immunity against EMI/EMC *************************************************/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); RCC_APB2PeriphClockCmd() 関数で、ペリフェラルバスB(APB2)に属するGPIOにクロックを与え、一時的に有効にしている GPIO初期化用構造体のメンバ変数への代入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIOの全ピンを指定 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIOのモードをアナログINに GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO Aの初期化 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO Bの初期化 GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO Cの初期化 GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO Dの初期化 GPIO_Init(GPIOE, &GPIO_InitStructure); GPI0 Eの初期化 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
ハードウェアの設定
メインクロック・サブクロック
プロセッサの設定
省電力の設定
割込みの設定
・・・・・
お膳立てしてから、やりたいことを記述
![Page 22: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/22.jpg)
Arduinoと組込みマイコン
Arduinoは、やりたいことをすぐに 記述できる
細かい面倒なことは、横に置いて…
すぐに結果がでる
組込みマイコンは、 そこへ行くまでが大変
初心者は、途中で挫折! orz
![Page 23: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/23.jpg)
Arduinoと組込みマイコン
Arduinoの 環境
組込みマイコン ハードウェア
スケッチ
C言語 プログラム
マイコンの初期化クロック・動作
モード 割込み・省電力
容易
難
![Page 24: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/24.jpg)
プロとして組込みマイコンを扱うには
便利なAPI
ハードウェア
アプリケ―ション
めんどうな ところ ここを、きちんと意識する必要がある
RTOS
割込みハンドラ
デバイスドライバ
![Page 25: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/25.jpg)
と、言っても・・・・
現場の先生の声
教える時間が足らない
学生のハードウェアのスキルが 年々、下がっている
学生のモチベーションが続かない
教える(若い)先生の方も、 ハードウェア苦手の人が増える傾向
ハードを基礎から教えることができない
![Page 26: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/26.jpg)
少なくとも 少なくとも、 以下のことを理解させてあげたい Arduinoと組込みマイコンは違う!
プロとして組込みマイコンを使うには、 もっと細かいことが要求される
組込みで飯を食うには、ハードウェアの どろどろしたところも知っておきたい。
違いを解った上で、 使うとArduinoも立派な組込み技術の教材に
できれば、 ちょとだけでも、裸のマイコンを弄る体験も
![Page 27: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/27.jpg)
Arduinoと組込み教育
その1 Arduinoは組込み?
その2
Arduinoを使った 組込み技術の教育のポイント
その3 ブレッドボード電子工作のポイント
![Page 28: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/28.jpg)
Arduinoで組込み
なんだかんだ言っても、 Arduinoは教育現場で便利なツール
Arduinoを組込み教育のツールとして 使うときの注意点
![Page 29: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/29.jpg)
Arduinoの工作記事
Arduinoを使った電子工作の記事は、
良くも悪くも
やってみた 的なものも多い
手早く動かすことを優先 細かい仕組み とかは、横に置いて
趣味の電子工作や 発想(アイデア)のトレーニング なら、それでよいが …
![Page 30: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/30.jpg)
組込み教育のツールとして使う場合
行き当たりばったり やってみた ×
組込み開発の教育ツールとして使うには… 設計する
V字モデルの開発工程を意識させる
ドキュメントを書く 簡単なもので良い
テスト・評価を行う
簡単でも良いから、これらを体験
![Page 31: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/31.jpg)
設計する・開発工程を意識させる
要求分析
外部設計
内部設計
詳細設計
実装
単体テスト
結合テスト
システムテスト
システム評価
デバッグ
V字モデル型開発モデルを体験
要求定義
![Page 32: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/32.jpg)
古臭くてもいいから、設計させよう
ディジタル・デザイン・テクノロジ No.14 CQ出版 2012年 P.108より引用
例えば、状態遷移図を書いてみる
できれば、イレギュラーやエラーも考慮
![Page 33: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/33.jpg)
ディジタル・デザイン・テクノロジ No.14 CQ出版 2012年 P.108より引用
状態遷移図をステートマシンとして実装
それをソフトに 落とし込む
ステートマシンをソフトで実装
古くさいけど、FPGAなどでハードウェア化するときに、移植しやすい
![Page 34: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/34.jpg)
オブジェクト指向もいいけど
古くさいやり方の方が、わかりやすい
基本を理解するには、適している
と、五十路オヤジ(私)は考える
もっとも、学習ではなく、大規模開発や ソフトウェア部品の再利用…などを考えると今どきのオブジェクト指向などなど 必要かと
![Page 35: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/35.jpg)
Arduinoの落とし穴 全ての処理をループで考えてしまう // the loop routine runs over and over again forever:
void loop() { hoge; delay(500); hoge; delay(200); hoge; }
組込みのプログラムは コンテキストスイッチにより、細切れのプログラム実行にな
ることがよくある
割込みハンドラ RTOSの タスクスイッチング
![Page 36: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/36.jpg)
ぶつ切れ、非同期のプログラム
組み込みマイコンのプログラムには、 ループだけではなく、ぶつ切れ、非同期のプログラムもある 割り込み
RTOSによるタスクの切替え
RTOSまで、言わないが、 「割り込み」は(少しでも)体験して欲しい
Arduinoで割り込みを使うのは、 なにかと制約がある
できれば、 裸の組込みマイコンで体験して欲しい
![Page 37: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/37.jpg)
Arduinoの落とし穴
変数
メモリが少ないので、charを多用
へんな癖がつく
ARM系Arduinoでは、この心配がない。
クリティカルセクション
割込み制御に制限
排他制御がやりにくい
デバックしくい(デバッガが無い)
Serial.println() ; でIDEヘ送信する手法が多い
![Page 38: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/38.jpg)
Arduinoと組込み教育
その1 Arduinoは組込み?
その2
Arduinoを使った 組込み技術の教育のポイント
その3 ブレッドボード電子工作のポイント
![Page 39: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/39.jpg)
Arduinoのハード拡張
シールド(専用の基板)で拡張
機能が固定
動作が安定
ブレッドボードで電子工作
お手軽 半田付け不要
自由に電子回路を試すことができる
不安定
半田付けの スキル必要
![Page 40: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/40.jpg)
ブレッドボードで電子工作
半田付け不要 お手軽!
![Page 41: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/41.jpg)
お手軽・半田付け不要のデメリット
定番のLEDチカチカをブレッドボードで 部品の極性をよく確認せずに接続
LEDから煙・・・・・
抵抗のカラーコードをよく確認せずに接続 わー明るい!
ブレッドボートが、熱で溶けている
トランジスタの ECB…
オペアンプのV+、V- orz
「やってみた」的に適当につなぐと…壊れる
![Page 42: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/42.jpg)
LEDと抵抗
A K
黄 紫 茶 470Ω
![Page 43: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/43.jpg)
先生!電源リセットしても直りません
デジタル世代(ネイティブ)は、 思いもかけないことを言う (この発想は、無かった!)
ハードウェアは一回壊れると、元に戻りません!中の半導体が焼けて壊れています!
当たり前と思っていたことを、最初に、きちんと説明しなければならない
![Page 44: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/44.jpg)
でんしこうさく のやくそく(ちゅうい)
プラス(+)とマイナス(-)をまちがえない
でんせんはあかがプラス(+)、くろがマイナス(ー)
ぶひん の とりつけをたしかめる
ぶひんの しゅるい、いち、ほうこう、むきは あっている?
ショートさせない
でんきょくを、まちがってつなげないこと
あそんだら、でんち をぬいていく
プラス(+)とマイナス(-)を逆にすると部品が壊われます
部品の種類、方向、位置を確認してください
異なる電極を誤ってつなぐと、ショート(短絡)して、発熱等の危険があります。
事故防止のため、使用後は、電池を抜いてください
指導者・保護者のみなさまへ 1~2個の単3乾電池を使った電子工作は、電圧が低いので、危険性は高くはありませんが、念のため、子供たち
が上記の注意点を守っているか、常に確認をお願い致します。万が一、異常な発熱、焼けたような匂い等を感じられた場合、すぐに電池を抜いてください。
![Page 45: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/45.jpg)
考えてみれば…
例えば、小学校の理科の実験教材
モータと電磁石
最初から、エナメル線、磨いてある
3個の内、2個は、コイル巻いてある
配線は、コネクタのようなもの
プラス、マイナスを間違わない
その教材の 教員向けの説明書き
限られた時間で、必ず動く…(失敗しない)
![Page 46: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/46.jpg)
失敗しない実験って!
失敗しない、失敗をさせない実験
それって実験なの!?
![Page 47: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/47.jpg)
そこで…
やってはイケない(失敗する)ことを 実際に、体験してもらう 小さな危険体験で、大きな危険を抑止する
例えば、ブレッドボードで電子工作する前に、LEDに乾電池2個(3V)つないで、 (電流制限抵抗なし)で、LEDが どうなるか、体験してもらう!
あかるい!熱い!切れた…くさっー プチやけどする子も出たので、講師が実演…
![Page 48: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/48.jpg)
実演!
ここでも、実演しようかと、おもいま
したが、地下の会場で換気ができないので、
自粛させていただきます。
「GFOで異臭騒ぎ…犯人は自称…」 明日の朝刊に載りたくありません
![Page 49: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/49.jpg)
ハードウェアは壊れる
ハードウェアは壊れることを キチンと説明する
その上で、電子部品の説明を キチンとする
キチンと配線する
ショートさせない
プラスとマイナス
端子、方向…
過電流・過電圧放熱
Ⓒシリコン教
不幸にして 逝ってしまったデバイス
![Page 50: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/50.jpg)
できれば、正しく回路を組む
例 Arduinoなどのマイコンに、 アナログ出力の温度センサーをつなぐ
LM35 ANALOG IN
良くある回路! でも、正確に動きますか
温度 センサー
+5V
GND
Arduinoなどのマイコン
OUT
![Page 51: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/51.jpg)
LM35 温度センサー
こんな3端子の温度センサー
こんな形の 温度センサー
![Page 52: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/52.jpg)
良くある回路!が動かない
動くこともあるが、 思ったように動かないことも (精度が出ない、ずれが大きい…)
原因 AD変換器のインピーダンスミスマッチング
ブレッドボートからの長い線にノイズがのる
USB給電 PCの電源ラインからノイズ
VCC が +5Vよりも低い
などなど
![Page 53: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/53.jpg)
例 H8マイコンのADCの場合
(4) 許容信号源インピーダンスについて 本LSIのアナログ入力は、信号源インピーダンスが10kΩ以下の入力信号に対し、変換精度が保証される設計となっております。これはA/D変換器のサンプル&ホー
ルド回路の入力容量をサンプリング時間内に充電するために設けている規格で、センサの出力インピーダンスが10kΩを越える場合充電不足が生じ、A/D変換精度
が保証できなくなる場合があります。単一モードで変換を行う場合で外部に大容量を設けている場合、入力の負荷は実質的に内部入力抵抗の10kΩだけになります
ので信号源インピーダンスは不問となります。ただし、この場合ローパスフィルターとなりますので、微分係数の大きなアナログ信号(例えば電圧の変動率が5mV/μs以上)には追従できない場合があります(図15.11)。高速のアナログ信号を変換する場合や、スキャンモードで変換を行う場合には、
低インピーダンスのバッファを入れてください。
日本語で書いてあるので(汗;)
![Page 54: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/54.jpg)
要はインピーダンスとか
インピーダンスとか電気的特性とか、 アナログ的なことを、 ちゃんと考えて接続しなさい ・・・と書いてある
よくよく考えれば、 AD変換器って、アナログだ!
デジタル回路みたいに、線でつなげば 良いわけではない!
…で、
オペアンプでバッファを入れさせたが…
![Page 55: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/55.jpg)
その他の要因
ブレッドボートからの線にノイズがのる 短くする、ツイストペア化、シールド線 結合(容量的、電磁的)しそうなものから 離す
USB給電 PCの電源ラインからノイズ VCC が +5よりも低い
外部電源の使用 バッテリ給電など
USB電源アイソレータ―
なんか、とっても、アナログな対策!
![Page 56: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/56.jpg)
ブレッドボート向きの回路
半田付けの基板とブレッドボートの回路同じでいいの?
ブレッドボートは、 部品や線が抜けたりして、 不安定になりやすい
場合によっては、部品や線が抜けたりして、事故が起きることもある。
フィジカルコンピューティングの注意事項
![Page 57: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/57.jpg)
例えば、モータドライバ
ディジタル・デザイン・テクノロジ No.14 CQ出版 2012年 P.118より引用
焼損!
![Page 58: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/58.jpg)
鉄道模型の電動ポイント駆動
![Page 59: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/59.jpg)
フェールセーフを考えた ブレッドボート向きの回路
ディジタル・デザイン・テクノロジ No.14 CQ出版 2012年 P.118より引用
断線してもHで安定
断線や接触不良を 前提に設定する
![Page 60: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/60.jpg)
デメリットを逆手に取る
ブレッドボートのデメリットを 逆手に取って…
安全性
フェールセーフ
などを、考える教材にする
![Page 61: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/61.jpg)
AC100VをON/OFFしたい
最近、 家電などのAC100VをON/OFFしたい との 要望があるようだ
ネットワークを介したリモート制御 IoT( Internet of Thing)
モノのインターネット がらみで 興味?
ネットを見ると、ブレッドボートでAC100Vを、扱う事例が見受けられる
![Page 62: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/62.jpg)
危険です!
ブレッドボートでAC100V制御
感電!漏電!短絡!の危険があります
特に、非接地側(Line)を触ると 大変危険です!
接地側 (Neutral )は、大丈夫ですが…
少なくとも、接地側、非接地側がわかない人は、触っては危険です。
とは、言っても AC100Vを制御したい場合
![Page 63: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/63.jpg)
こんな方法もあります
USB電圧検知電源タップ
![Page 64: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/64.jpg)
USB電圧検知電源タップとは
USB電圧感知式の電源タップ例 (エレコム T-Y12USBA)
USBコネクタがついており、 AC100Vをオン・オフできる
USBの電圧を検知して、 AC100Vをオン・オフするタップ
mbed/ARM活用事例 (2012年 CQ出版) より引用
![Page 65: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/65.jpg)
DOS/V機用USBケーブル 先がバラバラのタイプの DOS/V機用のケース用 USBケーブルを使用
USB検知連動タップの USBコネクタに接続
先バラ
![Page 66: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/66.jpg)
安全なAC100V制御
USB感知式連動タップ ・エレコム USB電圧感知式PC 連動タップ T-Y12USBA ・サンワサプライ USB連動タップ TAP-RE8U (その他同等品)
USBコネクタ
4 3 2 1
USB標準Aプラグ(オス)
1 電源(+5V) 2 データ(-) 3 データ(+) 4 GND
非連動口
連動 口
PC
AC100V
オス
メス
AC100Vの機器
arduino
DOS/V機 ケース用 USBケーブル40cm Aメス―バラピン(オス)
黒 GND 赤 +5V 白 未接続 緑 未接続
緑・白 つながない
digital out
GND 黒
+5V 赤
GND(0V)
![Page 67: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/67.jpg)
安全のために
紹介した 安全なAC100V制御方法を つかっても、 無人のリモート運用は要注意
キチンとリモートで監視する
裸の火(電熱器)とかは、危険です
万が一を考えて、別の方法でOFFにできる 手法を組み合わせる。
![Page 68: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/68.jpg)
ブレッドボード電子工作のポイント
キチンと電子回路を組む
安全のためにも
アナログは、デジタルのように つなげばOK とはいかない
ブレッドボートを前提にした、 フェールセーフを考慮した回路
AC100Vを扱う場合は、安全な方法で
リモート運用は要注意
![Page 69: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/69.jpg)
そのほか・・・
電波の事 2.4GHz凄いことに
ノイズの事
電源の事…
ネットワークのこと
セキュリティのこと 伝えたいことは、 やまほどありますが、またの機会に…
![Page 70: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/70.jpg)
Arduinoと組込み教育 まとめ
その1 Arduinoと裸のマイコンの違いを意識する。
その2 開発工程や、設計、見える化、文書化などを意識すれば、Arduinoも、立派な組込み技術の教材になりうる!
その3 ブレッドボードを使うときも、キチンと電子回路を組む。フェールセーフや安全に注意する。
これらに、留意すれば、 Arduinoも良い 組込み教育のツールになる!
![Page 71: ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作](https://reader034.vdocuments.pub/reader034/viewer/2022042614/559927231a28ab3b298b45c1/html5/thumbnails/71.jpg)
ご清聴ありがとうございました
お問い合わせ
講演依頼・執筆依頼等は、
Tw:@tentenV3 もしくは、FB または
http://triangle-ele.com/ のフォームから
大阪日本橋・ロボット連絡会 では勉強会を毎月開催しています 詳しくは、 http://roboba.jp/ まで