コードを書かずにLチカ。から始めよう

24
古賀信哉 株式会社サムシングプレシャス

Transcript of コードを書かずにLチカ。から始めよう

Page 1: コードを書かずにLチカ。から始めよう

古賀信哉

株式会社サムシングプレシャス

Page 2: コードを書かずにLチカ。から始めよう

Cloud

Device

Sensors

Services

Page 3: コードを書かずにLチカ。から始めよう

デバイス開発とクラウドサービス開発

開発領域のクロスオーバー

「IT エンジニア」によるデバイス開発

組み込みエンジニアによるクラウドサービス開発

そこそこのものなら、互いに作れる環境

※あくまでも、ソフト屋としての話です。

Page 4: コードを書かずにLチカ。から始めよう

コードを書かずにLチカ。

マイコンもプロセッサも要らない。

回路:デジタルと、少しだけアナログ

ハードウェアはも大事だよ

ハードウェアを壊さないために

ハードウェアの性能を引き出すために

※あくまでも、ソフト屋としての話です。

Page 5: コードを書かずにLチカ。から始めよう
Page 6: コードを書かずにLチカ。から始めよう

参考ページ

http://www.doctronics.co.uk/4093.htm#astable

Page 7: コードを書かずにLチカ。から始めよう

参考ページ

http://www.doctronics.co.uk/4093.htm#astable

他にも・・・

LED 点滅 IC

http://akizukidenshi.com/catalog/g/gI-03043/

Page 8: コードを書かずにLチカ。から始めよう

ソフトウェアは、いつ必要?

マイコンの GPIO で制御

LED の電流制限抵抗

マイコンの入出力端子の特性

※ソフト屋が知っておくと良いこと。

Page 9: コードを書かずにLチカ。から始めよう

バランスのとり方

現実(ハードウェア特性)を認識すること

あなたにとっての Killer Application は?

Page 10: コードを書かずにLチカ。から始めよう

AllJoyn

HTTP/2 & HPACK

Zynq (ARM SoC + FPGA チップ)

Page 11: コードを書かずにLチカ。から始めよう
Page 12: コードを書かずにLチカ。から始めよう

LED の点灯・点滅

LED の電流制限抵抗の導出法

http://bake-san.com/led012.htm

LED 点灯

http://circit-e.com/004.html

http://www.ele-lab.com/led_kairo1.html

http://luminescence.o-oku.jp/denshi_kairo2.html

LED 点滅

http://www.zea.jp/audio/tled/tled_01.htm

http://www.zea.jp/audio/ledt/ledt_01.htm

Page 13: コードを書かずにLチカ。から始めよう

電子回路・論理 IC

「電子回路の基礎知識」 http://www001.upp.so-net.ne.jp/FITDESIGN/manual.htm

CR 充放電回路 http://www001.upp.so-net.ne.jp/FITDESIGN/manu1.htm

シュミットトリガの NAND ゲート

http://umezawa-sendai.shop-pro.jp/?pid=11838239

Page 14: コードを書かずにLチカ。から始めよう

少し便利な部品

LED 調光制御モジュール(PWM)

http://www.ele-lab.com/5_73.html

http://www.ele-lab.com/doc1/manual_034.pdf

タイマー IC 555 を使った LED 点滅回路 http://pc.watch.impress.co.jp/docs/2008/1023/musashino015.htm

電子工作一般

http://www.zea.jp/audio/index.html

Page 15: コードを書かずにLチカ。から始めよう

仕組みを少し、知ってみよう

シュミットトリガ入力 http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A5%E3%83%9F%E3%83

%83%E3%83%88%E3%83%88%E3%83%AA%E3%82%AC

http://ednjapan.com/edn/articles/1202/01/news138.html

http://www001.upp.so-net.ne.jp/FITDESIGN/manu1.htm

マイコン(PIC)の入出力端子の特性 http://www001.upp.so-net.ne.jp/FITDESIGN/manu1.htm

http://www.picfun.com/pic22.html

オープンドレイン http://www001.upp.so-net.ne.jp/FITDESIGN/manual.htm

Page 16: コードを書かずにLチカ。から始めよう

原理も少し、知ってみよう(オームの法則)

Wikipediaの説明

http://en.wikipedia.org/wiki/Ohm%27s_law

Java アプレットによる説明 http://www.physics.uoguelph.ca/phyjlh/Fendt/phe/ohmslaw.htm

各種量の計算ページ

http://www.diyalarmforum.com/ohms-law-calculator/

電流の記号が 'I' であることの説明 https://a.yamagata-

u.ac.jp/amenity/Knowledge/KnowledgeWeb.aspx?DSN=Electrochem&nKnowledgeID=2603

Page 17: コードを書かずにLチカ。から始めよう
Page 18: コードを書かずにLチカ。から始めよう

I2C

Lego Mindstorms NXT のセンサー接続

Armadillo-4x0 の RTC と EEPROM

Armadillo-8x0 のタッチパネルと EEPROM

UART

RS-232C ポート

比較的低速な周辺機器との複数接続(~400[kbps])

機器同士の比較的低速な一対一接続(~921.6[kbps])

Page 19: コードを書かずにLチカ。から始めよう

I2C

バス型の半二重接続、同期式

複数同時接続可能(7bit アドレス指定)

マスタスレーブ方式(Request & Reply)

クロックを任意に変更できる

信号線は二本(クロックとデータ)

UART

一対一の全二重接続、非同期(調歩同期)式

対等な通信/同時に送受信可能

信号線は最低二本(送信と受信)

Page 20: コードを書かずにLチカ。から始めよう

1bit ずつ伝送

ビットの切れ目を識別する

同期式 (I2C, etc.)

データに加えてクロックも伝送

クロック周波数を任意に変更できる

非同期(調歩同期)式 (UART/RS-232, CAN)

データだけを伝送

クロック周波数は、送受信側で合わせる

クロックの切れ目がデータのビットの切れ目

Page 21: コードを書かずにLチカ。から始めよう

1bit ずつ伝送

ビットの切れ目を識別する

同期式 (I2C, etc.)

データに加えてクロックも伝送

クロック周波数を任意に変更できる

非同期(調歩同期)式 (UART/RS-232, CAN)

データだけを伝送

クロック周波数は、送受信側で合わせる

データの先頭・末尾にマーカを付ける(Start ビット, Stop ビット)

先頭のマーカを起点にして、クロック周波数を使ってビットの切れ目を識別

Page 22: コードを書かずにLチカ。から始めよう

セットアップ/初期化

クロック周波数を設定(任意値)

データ通信の実行

相手のスレーブアドレスを出力

データの送受信

送信データがあればデータを出力(任意Byte)

受信データがあればデータを入力(任意Byte)

通信を終了

Page 23: コードを書かずにLチカ。から始めよう

セットアップ/初期化(対向機器に合わせる)

クロック周波数を設定

その他のパラメータを設定 データビット数(8)

パリティ有無

ストップビット数

データの送信

1Byte(データビット数)ずつ順に出力

データの受信

1Byte(データビット数)ずつ順に入力

送受信は並列に処理できる。(全二重)

Page 24: コードを書かずにLチカ。から始めよう

I2C

プロセッサにコントローラが内蔵されていれば使う

GPIO 接続・制御でソフトウェア実装も可能(※同期式だから)

UART/RS-232

プロセッサにコントローラが内蔵されている

※大昔は、外付けのコントローラもあった