Top Banner
STM32nucleo活 mbedでハイパフォーマンス フィジカルコンピューティング
30

Dev kobe 2 マイコン入門 20151130

Apr 12, 2017

Download

Technology

Yasuo Kawachi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dev kobe 2 マイコン入門 20151130

STM32  nucleo活⽤用mbedでハイパフォーマンスフィジカルコンピューティング

Page 2: Dev kobe 2 マイコン入門 20151130

⾃自⼰己紹介

•電⼦子⼯工作系の遊びが好き•マイコンの専⾨門書を出版しました•マイブームはUnityとC#とESP8266•本業はこの会社の顧問

Page 3: Dev kobe 2 マイコン入門 20151130

マイコンとは

•コンピューター・電⼦子計算機•ソフトウェアを書いて⾛走らせる•PCと同じ

Page 4: Dev kobe 2 マイコン入門 20151130

PCとの違い

•周辺回路の有無•周辺回路の内蔵性•サイズ•計算能⼒力•消費電⼒力•リアルタイム性•値段

Page 5: Dev kobe 2 マイコン入門 20151130

ワイヤードロジックとの違い•マイコンが無くてもロジック制御はできる•炊飯器の始めちょろちょろ

•マイコンだと•複雑化したロジックに対応可能•仕様変更に強い•通信機能・接続性が⾼高い

Page 6: Dev kobe 2 マイコン入門 20151130

マイコンの意味

•1980年代の「マイコン」•マイクロコンピュータ

•今の「マイコン」•マイクロコントローラ

Page 7: Dev kobe 2 マイコン入門 20151130

昔のマイコン開発との違い•⾼高い•ボード•開発環境

•デバッガ•書き込みに必要•紫外線照射でROM消去

•microchipのPIC  •ターニングポイント

Page 8: Dev kobe 2 マイコン入門 20151130

Arduinoの登場

•安い•簡単接続•プログラマ不要

•開発環境が揃っていて無料•API簡単•シールドで拡張•全世界で利⽤用者が⼀一気に拡⼤大•情報量が多い

Page 9: Dev kobe 2 マイコン入門 20151130

Arduinoとの違い

•同じ•マイコン•オープンソースベース• APIベース

Page 10: Dev kobe 2 マイコン入門 20151130

mbedとは

•ARM社が提唱している開発環境•ARM系のマイコンが対応•複数社からボードが発売

Page 11: Dev kobe 2 マイコン入門 20151130

Arduinoとの違い

•メリット•ピン数多い・クロック早い• Arduino  uno

• ATmega328P  8bit  AVR  RISC  32p• Flash:32KB  SRAM:2KB  EEPROM:1KB• クロックスピード:16MHz

• RTOSが動く•さらに安い• ARMコア•ライブラリシェアがIDEに組み込み済み

Page 12: Dev kobe 2 マイコン入門 20151130

Arduinoとの違い

•デメリット•シールドがほとんど無い•マイコン単体から⼯工作するのは難しい

Page 13: Dev kobe 2 マイコン入門 20151130

Arduinoとの違い

•メリットデメリット• CとC++  •オンラインIDE• 3.3V  •マスストレージ

Page 14: Dev kobe 2 マイコン入門 20151130

実際にどうやるの

•リモート開発•クロスコンパイル• AndroidやiOSデバイス

•OSが動いているデバイスではない• ROMを丸ごと書き換える

Page 15: Dev kobe 2 マイコン入門 20151130

準備

•mbedへのアカウント登録•ボードの登録

•デバッガのファームウェアアップデート• https://developer.mbed.org/teams/ST/wiki/Nucleo-‑Firmware

•ドライバインストール(Windowsのみ)• https://developer.mbed.org/teams/ST/wiki/ST-‑Link-‑Driver

Page 16: Dev kobe 2 マイコン入門 20151130

実演

•LEDを500ms間隔でオンオフ•LEDをスイッチでオンオフ•ADC読み取り•シリアルエコーサーバー

Page 17: Dev kobe 2 マイコン入門 20151130

Lチカ組み込みプログラミングにおける伝統的Hello  world!

Page 18: Dev kobe 2 マイコン入門 20151130

ピン配列https://developer.mbed.org/platforms/ST-­‐Nucleo-­‐L053R8/

Page 19: Dev kobe 2 マイコン入門 20151130

オンボードLEDhttps://developer.mbed.org/platforms/ST-­‐Nucleo-­‐L053R8/

Page 20: Dev kobe 2 マイコン入門 20151130

LEDのオンオフができるということは•⾚赤外線LEDを使ってリモコンで家電のコンロトロールができる•変換ボードを通して100Vの家電がコントロールできる

Page 21: Dev kobe 2 マイコン入門 20151130

ボタン読み取りプログラマの意思とは関係無く構造体型の値が変更されている

Page 22: Dev kobe 2 マイコン入門 20151130

オンボードスイッチhttps://developer.mbed.org/platforms/ST-­‐Nucleo-­‐L053R8/

Page 23: Dev kobe 2 マイコン入門 20151130

ボタンがわかるということは•ユーザーの意思を受け取れる•ボタンも⼀一種のセンサ•フタの開閉•転倒• ⽔水銀スイッチ• ボールスイッチ

•接近• リードスイッチ

Page 24: Dev kobe 2 マイコン入門 20151130

シリアル送受信シリアルクラスオブジェクトのメソッドを実行する

Page 25: Dev kobe 2 マイコン入門 20151130

シリアル接続できるということは•通信できる•パソコンへの情報伝送•シリアル対応型のデバイス• 液晶・センサー

Page 26: Dev kobe 2 マイコン入門 20151130

ADC読み取りシリアルクラスオブジェクトのメソッドを実行する

Page 27: Dev kobe 2 マイコン入門 20151130

回路抵抗分圧で任意電圧を作ってみる

Page 28: Dev kobe 2 マイコン入門 20151130

接続ブレッドボードを使うのが簡単

Page 29: Dev kobe 2 マイコン入門 20151130

ADCが読めるということは•センサの値が読める•温度・気圧・湿度・照度・⾊色・圧⼒力・⾓角度・加速度・地磁気・ガス濃度・⾓角速度・マイク・距離・スイッチ

•ロギングできる•センサの値に応じた条件分岐ができる

Page 30: Dev kobe 2 マイコン入門 20151130

PCにセンサーをつなぐベストプラクティス•ソフト開発⼯工数で考える•USBマイコン• マイコンプログラミング+シリアル操作

•USBシリアル・パラレル変換ボード• ドライバAPI操作

• Bluetoothボード/Konashi• iOSのBluetooth APIプログラミング/JS

• Raspberry  Pi• Python/C/JS