「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>IoT]] *目次 [#sdbdf474] #contents *概要 [#hdf821fe] 電子工作の未経験者がイロハを調べた。 *Raspberry Pi [#y1f38540] Windows 10 IoT Core + Raspberry Pi **Raspberry Pi2 [#dfddb7be] ***参考 [#aba73ef2] -Windows 10 IoT Coreで始めるIoT入門 - @IT~ http://www.atmarkit.co.jp/ait/series/2487/ --第1回 Windows IoTを始めよう~ http://www.atmarkit.co.jp/ait/articles/1511/04/news044.html --第2回 Windows IoT開発環境をセットアップする~ http://www.atmarkit.co.jp/ait/articles/1511/11/news042.html --第3回 Windows IoTと押しボタンスイッチでLEDを点滅させる~ http://www.atmarkit.co.jp/ait/articles/1511/18/news043.html --第4回 Windows IoTで温度などのアナログデータを計測する~ http://www.atmarkit.co.jp/ait/articles/1511/25/news043.html -Raspberry Pi 2電子工作をWindows 10 IoT Coreで始めよう!~ http://www.buildinsider.net/small/windowsiot/01 -Windows 10 IoT:Windows 10 IoT&ラズパイ2の「落とし穴」をよけるために (1/2) - MONOist(モノイスト)~ http://monoist.atmarkit.co.jp/mn/articles/1506/29/news090.html -インストール --Raspberry PiにWindows 10 IoT Coreをインストールする技~ http://ascii.jp/elem/000/001/028/1028591/ --Raspberry Pi 2にWindows 10 IoTを入れてみた | Developers.IO~ http://dev.classmethod.jp/hardware/installing-win10iot-on-rspi2/ --Windows 10 IoTをRaspberry Pi 2にインストールする方法 | TechCrunch Japan~ http://jp.techcrunch.com/2015/05/01/20150430how-to-install-windows-10-iot-on-your-raspberry-pi-2/ **Raspberry Pi 3 [#o44b35ec] 最近は、Windows 10 IoT Core + Raspberry Pi3の書籍も出ている。 -Raspberry Pi 3とWindows 10 IoT CoreでIoTガジェットをつくる~ 「Raspberry Pi 3でつくる IoTプログラミング」発刊 | fabcross~ https://fabcross.jp/news/2017/20170120_mynavi_raspberrypi3.html ***Raspberry Pi 2との違い [#dc14c593] 無線LANが内蔵されているので、 -Raspberry Pi - Wikipedia~ https://ja.wikipedia.org/wiki/Raspberry_Pi 無線LANのドングルで苦戦しなくなった。 -Raspberry Pi Windows 10 IoT Core 対応 WiFi ドングル | Raspberry Pi~ --https://raspberrypi.akaneiro.jp/archives/313 --https://raspberrypi.akaneiro.jp/archives/498 ***Raspberry Pi 3のPin Mappings [#ef86ddbd] -Raspberry Pi2 & 3 Pin Mappings | Windows IoT~ https://developer.microsoft.com/en-us/windows/iot/docs/pinmappingsrpi -40個のGPIOピン |#|>|>|ピン|説明|>|個数|h |1|>|>|GPIO pins|General Purpose Input/Output(汎用入出力)|>|24| |1.1||Alternate Functions|I2C|デジタル接続で用いられる規格の一つ||2| |1.2||~|SPI|デジタル接続で用いられる規格の一つ||9| |2|>|>|Serial UARTs (RPi3 only includes mini UART)|mini UARTと言う名称のシリアル通信機能|>|2| |3|>|>|3.3V power pins(PWR)|電池のプラス極 (3.3V)|>|2| |4|>|>|5V power pins(PWR)|電池のプラス極 (5V)|>|2| |5|>|>|Ground pins(GND)|電池のマイナス極|>|8| |6|>|>|Reserved pins|・・・|>|2| -[[GPIO>https://ja.wikipedia.org/wiki/GPIO]] pins --入出力 ---入力:デジタル信号を読み取る。 ---出力:他デバイスに通知を行う。 --しばしばピンのグループ(典型的には8ピン)であるGPIOポートで扱われる。 |#|Header Pin Number|Gpio Number|Power-on Pull|Alternate Functions|h |1|3|2|PullUp|[[I2C>#ze6721b4]]1 SDA| |2|5|3|PullUp|[[I2C>#ze6721b4]]1 SCL| |3|7|4|PullUp|-| |4|11|17|PullDown|-| |5|12|18|PullDown|-| |6|13|27|PullDown|-| |7|15|22|PullDown|-| |8|16|23|PullDown|-| |9|18|24|PullDown|-| |10|19|10|PullDown|[[SPI>#q08c9156]]0 MOSI| |11|21|9|PullDown|[[SPI>#q08c9156]]0 MISO| |12|22|25|PullDown|-| |13|23|11|PullDown|[[SPI>#q08c9156]]0 SCLK| |14|24|8|PullUp|[[SPI>#q08c9156]]0 CS0| |15|26|7|PullUp|[[SPI>#q08c9156]]0 CS1| |16|29|5|PullUp|-| |17|31|6|PullUp|-| |18|32|12|PullDown|-| |19|33|13|PullDown|-| |20|35|19|PullDown|[[SPI>#q08c9156]]1 MISO| |21|36|16|PullDown|[[SPI>#q08c9156]]1 CS0| |22|37|26|PullDown|-| |23|38|20|PullDown|[[SPI>#q08c9156]]1 MOSI| |24|40|21|PullDown|[[SPI>#q08c9156]]1 SCLK| -[[I2C>https://ja.wikipedia.org/wiki/I2C]] Bus --デジタル接続で用いられる規格の一つ --SDA(シリアルデータ)、SCL(シリアルクロック)の、2本の信号線を使用して通信を行う。 |#|Signal Name|Header Pin Number|Gpio Number|h |1|SDA|3|2| |2|SCL|5|3| -[[SPI>https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%BB%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9]] Bus [#o8d1bc41] --デジタル接続で用いられる規格の一つ --3-4本の信号線を使用して通信を行う。 --最低、SDI(入力)、SDO(出力)、SCK(シリアルクロック)の三本が必要。 ---SPI0 |#|Signal Name|Header Pin Number|Gpio Number|h |1|MOSI|19|10| |2|MISO|21|9| |3|SCLK|23|11| |4|CS0|24|8| |5|CS1|26|7| ---SPI1 |#|Signal Name|Header Pin Number|Gpio Number|h |1|MOSI|38|20| |2|MISO|35|19| |3|SCLK|40|21| |4|CS0|36|16| -[[Serial UART>https://ja.wikipedia.org/wiki/UART]] |#|Header Pin|UART|h |1|8|UART0 TX| |2|10|UART0 RX| ***参考 [#v6c66ec2] -Windows Insider Program --ホーム ページ~ https://insider.windows.com/Home/Index --PC の設定~ https://insider.windows.com/Home/SetupPC --Raspberry Pi 3 と Arduino での Windows 10 IoT アプリの開発 - Windows IoT~ https://developer.microsoft.com/ja-jp/windows/iot ---Raspberry Pi 3 と Arduino での Windows 10 IoT アプリの開発~ https://developer.microsoft.com/en-us/windows/iot/IoTCore.htm ---Adafruit Starter Pack for Windows 10 IoT Core on Raspberry Pi 2~ https://developer.microsoft.com/en-us/windows/iot/win10/AdafruitMakerKit.htm ---Get Started~ https://developer.microsoft.com/en-us/windows/iot/GetStarted.htm -Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法~ (ラズパイ3の GPIO端子の I2C機能を有効にして各種センサーを繋げる方法まとめ)~ http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_gpio_enable_i2c/ *接続 [#j31fb60f] 配線や、機器のハンダ付けなどが必要になる。 **配線 [#t43b24ba] Raspberry Piから機器への配線。 ***Fritzing [#w392a878] 配線描画ツール -Fritzing Download~ http://fritzing.org/download/ ***ブレッドボード [#ucd15d34] ブレッドボードを使用すると、ハンダ付けをしなくて済む事が多い。 -ブレッドボード - Wikipedia~ https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%83%83%E3%83%89%E3%83%9C%E3%83%BC%E3%83%89 ***ジャンパワイヤ [#f013e241] -GPIOピンとブレッドボード(若しくは直接、機器と)接続するのに使用する。 -オス~メスが存在する。ジャンプワイヤとも呼ぶ。 ***抵抗器 [#q046d5d9] -抵抗の役目は電源の調整役(電源の供給する電圧から流れる電流を調整する)。 -電子工作では、一般的に、炭素皮膜抵抗器を使用する。 -抵抗器を忘れてスペック値よりも大きな電流を流すと発熱して事故の元になる。 -[[オームの法則>#ubf73ef4]]に則る。 --この特性を利用すると、所定の部品に対して ---電源電圧とは異なる電圧を供給したり、 ---電流を必要な大きさに制御したりできる。 ***ハンダ付け [#kde15c2a] 配線の際や、ピンヘッダ実装、などでハンダ付けを行うことがある。 **抵抗器の種類 [#pc2f374a] ***固定抵抗器 [#r33077ed] -炭素皮膜抵抗器 --電子工作で使う抵抗器は一般的にコレ。 --セラミックの円筒表面に抵抗体である炭素の被膜が焼き付けられたもの --炭素皮膜抵抗器の精度誤差は5%程度。 -金属皮膜抵抗器 --電子工作ではあまり使われないがオーディオ回路などに使われている。 --抵抗体にニッケルクロム合金などの金属を使っている。 --固体誤差が小さく(誤差1%程度)、温度による抵抗値の変化も少ない。 --炭素皮膜抵抗器よりも1.5~2倍の価格差がある。 ***可変抵抗器 [#c0ec645c] 抵抗値を変えることができる抵抗器 ***半固定抵抗器 [#l7c81676] 頻繁に変更はしないが例えばセンサーの感度などを~ 微調整するのに抵抗値を可変にしたいときに使用する。 ***カラーコード [#g28e30f7] 固定抵抗器(炭素皮膜抵抗器)のスペックをカラーコード(模様)で判断できる。 *周辺機器 [#s84c59d8] Raspberry Piと接続する周辺機器。 **ダイオード [#f628f3aa] ダイオードは一方向にだけ電気を流す電子部品である。 ***特性 [#p8fed026] -順方向バイアス --P型半導体とN型半導体の2つを接合 ---P型半導体側をアノードと呼ぶ。 ---N型半導体側をカソードと呼ぶ。 --アノード側からカソード側方向には電流が流れるが、逆方向には流れない。 -逆方向(のI-V)特性 --電圧が小さいときには電流は流れないが、ある電圧を超えると急激に流れる電流量が増加する。 --急激に電流が流れ始める電圧を、順方向電圧=VFと表す。 -逆方向(のI-V)特性 --アノード側よりカソード側に高い電圧をかけた時の特性 --逆方向に電圧を印加しても電流はほとんど流れない。 --電圧を更に上げていくと ある電圧で急激に電流が流れる。~ これ以上の電圧を印加するとダイオードが破壊される。 ***発光ダイオード(LED) [#d62cd59c] -順方向電圧=VFは、2[V]前後(発光する色によっては3[V]以上) -流れる電子のエネルギーを光エネルギーに直接変換するためエネルギー効率が良い -Lチカが基本らしい。 --最も簡単な電子回路 --コンピューター言語でいうところの“Hello World”のようなもの -参考 --Raspberry Piで電子工作!Lチカ…の前にLピカ! | Device Plus - デバプラ~ http://deviceplus.jp/hobby/raspberrypi_entry_009/ --今日から始めるカンタン電子工作!Raspberry Pi で~ LED を光らせよう | 株式会社INDETAIL - ブログ~ https://www.indetail.co.jp/blog/8431/ ***その他のダイオード [#p901bdb6] -フォトダイオード --光を検知すると、流れる電流値が変化するダイオード(光起電力効果) -ツェナーダイオード(定電圧ダイオード) --安定化電源の基準電圧を作るために、降伏電圧がを低くなるように設計されたダイオード --一定の電圧を得る目的で使用される。 --その用途から定電圧ダイオードと呼ばれる。 -定電流ダイオード --加える電圧や負荷抵抗が変化しても一定の電流を流すことができるダイオード --定電流になる値をピンチオフ電流と呼ぶ。 --電圧の下限・上限に範囲がある。 **LCD(液晶ディスプレイ) [#mb6b7e4b] ***I2C LCD AQM0802 [#b226d3e8] -概要 --秋月電子通商のLCDモジュールで、Apple Piに載っている。 --仕様 |#|項目|値|h |1|電源電圧|3.3V| |2|消費電流|1mA| |3|液晶コントロールIC|ST7032i| |4|I2Cアドレス|0x3e| -初期化~ マニュアルの初期設定例に従って初期化~ I2C接続小型8文字×2行液晶 AQM0802A-RN-GBW~ http://akizukidenshi.com/download/ds/xiamen/aqm0802.pdf --電源オン --40m sec以上待機 --Function set(行数の設定) ---0000111000b ---0x38 --26.3μsec以上待機 --Function set(拡張コマンドの設定開始) ---0000111001b ---0x39 --26.3μsec以上待機 --Internal OSC frequency(内部OSC周波設定) ---0000010100b ---0x14 --26.3μsec以上待機 --Contrast set(コントラスト設定) ---0001110000b ---0x70 --26.3μmsec以上待機 --Power/Icon Contrast control(パワー/アイコン コントラスト設定) ---0001010110b ---0x56 --26.3μsec以上待機 --Follower control(Follower設定) ---0001101100b ---0x6c --200m sec以上待機 --Function set(拡張コマンドの設定終了) ---0000111000b ---0x38 --26.3μsec以上待機 --Display ON/OFF control(ディスプレイ オン) ---0000001101b ---0x0c --26.3μsec以上待機 --Clear Display(ディスプレイ クリア) ---0000000001b ---0x01 --1.08m sec以上待機 **センサー類 [#uc6dc953] ***接続の例 [#obf75563] -IoT入門!センサーを使いこなす | ツクロア – DESIGN LAB~ http://design-lab.tuqulore.com/tutorialforiot/ ***アナログ・センサー [#aaf88548] -Raspberry Piにはアナログ入力ポートが用意されていないため、~ SPIインターフェースのA/DコンバータICを外付けして対応する。 -A/Dコンバータは、ブレッドボードに搭載する。~ Microchip TechnologyのMCP3002、MCP3008、MCP3208などがある。 -参考 --Raspberry Pi 3 model Bが入手できました (6) | 電子工作(MAKE)~ http://www.denshi.club/make/2016/06/raspberry-pi-3-model-b-6.html --Potentiometer sensor | Windows IoT~ https://developer.microsoft.com/en-us/windows/iot/samples/potentiometer ***BME280 [#ca1b88b8] -概要 --BOSCH社製の温度/湿度/気圧モジュールで、Apple Piにも載っている。 --ハンダ付けが必要らしいが、ピンヘッダ実装済でハンダ付け不要のものもある。 --ブレッドボードを使用せず、ジャンパワイヤで直接接続も可能な模様。 --仕様 |#|>|項目|値|h |1|>|電源電圧|DC 1.71 V - 3.6 V| |2|>|I2Cアドレス|0x76| |3|>|通信方式|I2C(最大 3.4 MHz)&br;SPI(最大10 MHz)| |4|>|>|測定レンジ| |4.1||温度|-40~+85℃| |4.2||湿度|0~100%| |4.3||気圧|300~1100hpa| |5|>|>|分解能| |5.1||温度|0.01℃| |5.2||湿度|0.008%| |5.3||気圧|0.18hpa| |6|>|>|測定精度| |6.1||温度|±1℃| |6.2||湿度|±3%| |6.3||気圧|±1hpa| -初期化~ マニュアルの初期設定例に従って初期化 --BME280 Combined humidity and pressure sensor~ http://akizukidenshi.com/download/ds/bosch/bst-bme280_ds001-10.pdf ---configレジスタ、ctrl_measレジスタ、ctrl_humレジスタの設定 ---キャリブレーション・データの読み込み。 ---測定開始 ---測定データ計算 ---結果出力 --BME280 – スイッチサイエンス~ https://trac.switch-science.com/wiki/BME280 --Windows 10 IoT Core用のBME280ライブラリ: Todotaniのはやり物Log~ http://todotani.cocolog-nifty.com/blog/2016/01/windows-10-iot-.html -参考 --ラズベリーパイで温度・湿度・気圧をまとめて取得!~ AE-BME280でIC2通信 | Device Plus - デバプラ~ http://deviceplus.jp/hobby/raspberrypi_entry_039/ --BME280で温度と湿度と気圧を測る | pinky blog てきとぅ ブログ~ http://pinky-blog.com/raspberry-pi/bme280-temperature-humidity-atmospheric-pressure/ --Raspberry Pi3とBME280(温湿度気圧センサ)で部屋の温度を測定する - Desktop Linux のススメ~ http://desktop-linux.namakemono345.com/raspberry_pi3_bme280/ ---BME280搭載 温湿度・気圧センサモジュール ピンヘッダ実装済 - スイッチサイエンス~ https://www.switch-science.com/catalog/2323/ **Apple Pi [#lc8833bb] ***概要 [#z4f1e281] -Raspberry Piの拡張ボード -ハンダ付けや、配線をせずに、~ IoT実験用コンピュータの製作が可能。 ***機能と、用途 [#sa3f005e] |#|インターフェイス・機能|用途|h |1|D-Aコンバータ(32ビット,384kHz)|ハイレゾ再生(Winではドライバが未サポート)| |2|温度/湿度/気圧センサ|環境測定、IoT実験| |3|液晶ディスプレイ(8文字×2行)|状況インフォメーション| |4|赤外線リモコン(送受信)|家電製品などをコントロール| |5|LED出力 (青 * 1, 白 * 2 )|インジケーター機能の作成| |6|スイッチ入力 * 6|外部スイッチとの連動可能| ***配線 [#n04401d7] |#|パーツ|ポート|アドレス|h |1|LED1(青)|GPIO 5|-| |2|LED1(赤)|GPIO 6|-| |3|LCD|I2C|0x3e| |4|BME280|I2C|0x76| |5|赤外線LED|GPIO1 3|-| |6|赤外線受信モジュール|GPIO 4|-| |7|タクトスイッチ1-6|GPIO 22 - 27|-| -5分で動作確認。~ 本日発売のRaspberry Pi用 IoT拡張ボードApple Pi ( Linux )~ ボクにもわかる電子工作 - Yahoo!ブログ~ https://blogs.yahoo.co.jp/bokunimowakaru/55431206.html ***ハンダ付け [#yd7060cb] ただ、チップ部品等細かい部品のハンダ付けも必要となる。~ 「ハンダ付けに不慣れな方には組立済のご購入をおすすめ致します。」とある。 -トラ技の「Apple Pi」組み立ててみた – ちょこビット~ http://chocobit.jp/wp/minitec/applepi 以下を見ると、ハンズオンに参加したり、組立済みのものを購入するなどの選択肢がありそう。 -実習・Raspberry Pi 用IoT実験基板”Apple Pi”の組み立て/CQ出版株式会社~ http://seminar.cqpub.co.jp/ccm/ES16-0092 -【共立エレショップ】>> IoT実験コンピュータ製作用プリント基板 Apple Pi組立済み基板~ 【基板完成品】: 【開発・計測・ツール】 << 電子部品,半導体,キットの通販~ http://eleshop.jp/shop/g/gG78312/ *電流と電圧 [#vf066d5f] スペック値 **電流 [#jb859ab0] -電気の流量 -単位: --アンペア([A]) --電子工作ではミリアンペア([mA])の表記が多い。 --1[A]=1000[mA] **電圧 [#p8750d11] -電気の圧力 -単位: --ボルト([V]) --電子工作では5V、3.3V、1.8Vなどのボルト([V])の表記が多い。 **関係 [#fe794d0b] ***電力 [#r164e811] -仕事量の単位 電力 = 電流 * 電圧 1 ワット([W]) = 1アンペア([A])* 1 ボルト([V]) ***抵抗 [#ubf73ef4] -オームの法則 V(電位差) = R(電気抵抗) * I(電気抵抗) --電気抵抗の単位は、オーム([Ω]) --Vは電圧だけでなく、電位差・起電力の単位としても用いられる。 -直列接続の合成抵抗 抵抗1 + 抵抗1 = 直列接続の合成抵抗1 -並列接続の合成抵抗 1 / ( 1 / 抵抗1 ) + ( 1 / 抵抗1 ) = 並列接続の合成抵抗1 *参考 [#ua2bf24b] -ゼロから分かる電子工作の必須知識シリーズ - Build Insider~ http://www.buildinsider.net/small/electronics --電流と電圧 ― 電子工作を始める前の基礎知識~ http://www.buildinsider.net/small/electronics/01 --乾電池 ― 身近で重要なパーツを知る~ http://www.buildinsider.net/small/electronics/02 --抵抗 ― 電圧と電流をコントロールする~ http://www.buildinsider.net/small/electronics/03 --ダイオード ― 知ると便利な基本部品~ http://www.buildinsider.net/small/electronics/04