Your SlideShare is downloading. ×
でんでんタウン発明ロボット塾マイコン入門工作20140406
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

でんでんタウン発明ロボット塾マイコン入門工作20140406

1,049

Published on

大阪日本橋・でんでんタウン工作教室 発明ロボット塾4月(2014年4月6日) …

大阪日本橋・でんでんタウン工作教室 発明ロボット塾4月(2014年4月6日)
組み込みマイコン( H8マイコン) のことを勉強しよう
トライアングル・エレクトロニクス  久保幸夫 @tentenV3

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,049
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 大阪・日本橋 でんでんタウン 発明ロボット塾 4月 組み込みマイコン( H8マイコン) のことを勉強しよう 担当 トライアングル・エレクトロニクス 久保幸夫
  • 2. はじめに • この講座は、 中学校の技術家庭科で習う、 レベルの知識を小学生(高学年)~中学生を対象に 身に付けることを、目的としています。 同、知識レベルを大きく上回ることや、H8マイコンに特化した プログラム等の解説は割愛しておりますので、ご了承ください ませ。 D 情報に関する技術 (3) プログラムによる計測・制御について, 次の事項を指導する。 ア コンピュータを利用した計測・制御 の基本的な仕組みを知ること。 イ 情報処理の手順を考え,簡単なプ ログラムが作成できること
  • 3. ごちゅうい • ぶひんのほうこう、つなぎまちがいに ちゅういすること • ショートさせないこと • さきのとがったぶひんもあるので、 ちゅういすること • こまかいぶひんがおおいので、 なくさないこと • あそばないときは、 かならずACアダプターを抜いておくこと
  • 4. 組み込みマイコンって • 機械の中に入っている 小さなコンピュータ • 何をしているの? 機械を動かす 制御(せいぎょ)
  • 5. クイズ これ!なんだ!
  • 6. 制御(せいぎょ)の例 • 炊飯器(すいはんき) – ごはんをたくやつ – おいしいごはんを たくには、火の強さの加減が大切 火のつよさを 調整(ちょうせい)する 火が弱い(よわい)と うまくたけない 火が強いと(つよい)と こげてしまう 温度(おんど)を見て うまく調整(ちょうせい)する
  • 7. 温度(おんど)を見て 調整(ちょうせい)するには • 温度をしらべる センサー • マイコンにデータをとりこむ • 処理(しょり) • プログラムで制御(せいぎょ) • ヒーターをつける、けす 入口 出口 処理 計測 制御
  • 8. クイズ組込みマイコン! クイズです! 何の機械か あててください
  • 9. なぞのマイコン基板(おもて)
  • 10. なぞのマイコン基板(うら)
  • 11. なぞのマイコン基板は なんでしょうか? ヒント おうちにある電気製品です よく使います この部屋にもあります こわれると、たいへんです マイコンをつかってます ねだんは6万円ぐらいでした 2001年製でした
  • 12. ルネサス 740ファミリマイコン 75311M4搭載
  • 13. LEDランプがついています
  • 14. おしボタンスイッチがついています
  • 15. 赤外線(せきがいせん)センサがついています (手元リモコン用)
  • 16. リレーがついています 電気(AC100V)のオン・オフをします
  • 17. バッテリーの充電(じゅうでん)回路と モータの回路がついています
  • 18. バキュームセンサー 空気(くうき)圧をはかります
  • 19. なぞの機械 • ヒント • おおきなバッテリーが入って ます。充電できます • コードレスでつかえます • 500Wの強力 DCモータが付いています
  • 20. なぞの機械 • ヒント –おうちにある機械ですが、 コードレスタイプです –うごかすと、 モータの音がします •うい~ん
  • 21. なぞの機械 • ヒント –機械のおなかが、いっぱいになる と、あかいLEDがつきます –パックをとりかえます
  • 22. •わかったかな!? •むずかしい? •じゃ、大ヒント!
  • 23. こんな機械です
  • 24. •わかったかな!? •こたえは!
  • 25. コードレス掃除機
  • 26. コードレス掃除機 赤外線手元スイッチ (リモコン発光側) オン/オフ・モード切替 (強/弱/おまかせ) 赤外線受信ユニット 手動切替SW バッテリー残量表示 (4個のLED) ゴミパック交換常ランプ (LED) パワーブラシ (モータ) モータの制御 省エネルギー (空気圧を検知し、 吸い込み力を制御) バッテリー充電・放電
  • 27. コードレス掃除機のシステム 入力 出力処理 (制御・演算・記憶) マイコン 空気圧 センサ 赤外線 ユニット モータ ドライ ブ回路 DC モータ 回転 センサスイッチ 安全 スイッチ 手元 スイッチ LED表示 集塵室 (ごみ パック) 空気圧(吸込み圧)を検知 モータの回転を検知 計測 制御
  • 28. システムって!? • 「複数の機械を組み合わせて、 ぜんたいとして、うまく動か すためのしくみ」 って、いっても・・・ むずかしいよね!
  • 29. システムには… • 入口がある • 処理(しょり)をおこなう • 出口がある • システム的に考える 入口、処理、出口を考える 入力 出力処理 (制御・演算・記憶) 計測 制御
  • 30. 組み込みマイコンはシステムの中心 • 機械のシステムの中心が 組み込みマイコン • 現在の多くの 電気製品(家電製品、通信・情報機器) ロボット、機械 乗り物(自動車、飛行機、電車…)など は、組み込みマイコンで動いている!
  • 31. 昔の(30年前)組み込みマイコン基板 SRAM ROM Z80CPU パラレルIO×2個 マイコン インタフェース I/O(入口・出口)メモリ
  • 32. 組み込みマイコン基板の構成 • メモリ(記憶) プログラムやデータを覚える • マイコン プログラムをメモリから読んで動作 – 制御 – 計算 • インタフェース 外との出入口 – 入口 INPUT – 出口 OUTPUT I/O(アイオー)ポート 昔はメモリ、マイコン、I/Oポートがべつべつ
  • 33. いまのマイコン基板 インタフェース I/Oポートなど (入口・出口) マイコン メモリ ぜんぶ、1個の ICに入って入る ルネサス H8マイコン H8/3058F 16ビットマイコン
  • 34. 最新のマイコン基板 ARMマイコン STM32ディスカバリ 32ビットマイコン インタフェース I/Oポートなど (入口・出口) マイコン メモリ さらに高性能! ICが小さくなった! 電気が少なくて良い
  • 35. 今の組み込みマイコン 一つになった、小さくなった 高機能(いろんなことができる) 高性能になった(処理がはやい) 値段が安くなったやすい はやい ちいさい なんでもできる どんどんべんりになったけど、 組み込みマイコンをうごかすには プログラムを作ることが必要
  • 36. 組み込みマイコンのプログラム • C言語(しーげんご)で書く – コンピュータ専用の言葉 main(){ ・・・・・・・・・・・・ int c=0; //割り込み回数 EI; //割り込み許可 while (1){ sw = ~P2.DR.BYTE; //データ入力、“1”、“0”を反転 cds= ~P6.DR.BYTE; //データ入力、“1”、“0”を反転 if ((sw & 0x01)||(cds & 0x01) ) { if( f_kankan==0){ f_kankan=1; P5.DR.BYTE=0x0A;//LED P51 P53 点灯 1010 chikachika = 0; ・・・・・・・・・・・・ 入力 処理 出力 計測 制御
  • 37. Arduino(アルドゥイーノ)も • Arduino使ったことある人もいるよね • ArduinoのプログラムもC言語風 – Arduinoのプログラム(スケッチ)は、 C言語をベースにした言語 Arduino (アルドゥイーノ)
  • 38. Arduinoのプログラム Arduino のIDE 開発環境 (かいはつかんきょう)
  • 39. Arduinoのプログラム開発 • Arduinoのプログラム開発 USBケーブル
  • 40. プログラム開発はおなじ • Arduinoのプログラム開発も 組み込みマイコンのプログラム開発も きほんはおなじ • ただ! – Arduinoは マイコンをつかいやすく、はやくつくれる • こまかいことは、 Arduinoのほうでやってくれる – 組み込みマイコンのプログラム開発は こまかいことも、ぜんぶプログラムで書く めんどくさいけど、高性能!
  • 41. 41 組み込みマイコン(H8) のプログラム開発 • パソコンで(C言語)でプログラムをつくる、 マイコンのメモリ(フラッシュメモリ)に書き込む RS-232Cで接続 開発環境 GCC Developer Lite を使用プログラムを入れる
  • 42. 今日は、H8マイコンを使った工作だ • 今日は、H8マイコンを使った工作に 挑戦(ちょうせん)します – さすがに、 H8マイコンのC言語プログラムを ぜんぶわかるのは、むずかしい – かんたんにせつめいします。 // I/Oの設定 P2.DDR = 0; //ポート2入力 P2.PCR.BYTE = 0xff; //プルアップMOS ON P6.DDR = 0; //ポート2入力 P5.DDR =0xff; //ポート5出力 //変数の定義 unsigned char sw; unsigned char cds; int wt; ・・・・・・
  • 43. なにを作るか? • なにを作るか? –なにをうごかすのか? –なにを検知して、どのように動かすの か? • これを仕様(しよう)といいます –これをよく考えたあと システムとして考える –入口は? 処理は? 出口は? 計測 制御
  • 44. 今日、工作するものは? •なにを つくるの?
  • 45. 今日は・・・ ふみきり 踏切かんかん装置つくります
  • 46. 踏切かんかん装置 今回は プラレールは使いません 光センサーで 電車を検知 カンカンカン LEDが チカチカ
  • 47. 踏切かんかん装置のシステム • 入力 –光センサー(CDS)で電車を検知 • 処理 光センサーの状態を見る もし、電車を検知したら、 2個のLEDをチカチカ点灯 カンカン音を鳴らす • 出力 LEDが2個 交互にチカチカ カンカンの音を出す装置 (音のアンプ、スピーカー)
  • 48. 光センサー(CDS)で電車を検知 光センサーの検知は 明るい 光センサーの検知は 暗い 電車キタッー!! マイコンで、この光センサーの 明るい、暗い、の二つの状態を検知して、 調べることで、 電車のあり、なしを検知できる
  • 49. システムが決まったら • システムを ハードウェアとソフトウェアに分ける • ハードウェア(部品) – 目に見える、さわれる マイコンもハードウェア • ソフトウェア(プログラム) – 目に見えない、頭でかんがえる パソコンで、プログラムをつくる • できた、プログラムは マイコンに入れる
  • 50. システムのハードウェア(部品) • 入力 光センサー(CDS)とスイッチ (H8マイコンのI/Oポートにつながる) • 処理 H8マイコン (アナログ出力から音を出す) • 出力 LED2個( I/Oポートから出力) 音を出す装置 アンプ、スピーカー
  • 51. ハードウェアをもっと細かく • H8マイコンのI/Oポートを決める • 入力 光センサー(CDS) ポート6の1番( P61) スイッチ(ディップスイッチ) ポート2の1番( P21) • 出力 – LED2個 • LED(右) ポート5の2番( P52) • LED(左) ポート5の3番( P53) – アナログ出力(DA変換出力) DA出力0番(DA0)
  • 52. システムのソフトウェア ( H8マイコンのプログラム) • 入力 – 光センサー(CDS)とスイッチがつな がったI/Oポートから、状態を読み込む • 処理 – 光センサー(CDS)の状態を判断して、 出力を指示する • 出力 • 2個のLEDを交互(たがいに)点滅させる • カンカンの音を作り、 アナログ出力(DA変換出力)から音を出す
  • 53. H8マイコンのプログラム フローチャート(流れ図) 決まった時間をつくる センサーの状態を読み込む 電車あり? 2つのLEDをチカチカ カンカンの音を出す スタート なし あり ポート6の1番( P61)を 読み取る ポート5の2番(P52) ポート5の3番(P53) を交互にオン・オフ出力 DA出力0番(DA0) からカンカンカンの音を出力 読み取った センサの 状態で、 判断する。もし電車があったら… これは、概念を理解してもらうために、 簡単にした流れ図です 実際には、H8マイコンの タイマと呼ぶ機能を使っており、 少し複雑です
  • 54. 決まった時間をつくる ちょっとむずかしいので、とばしてもOK Arduinoの場合は delay()を使えますが、H8マイコンの 場合は、ありません。自分で作る必要があります。ここ では、H8マイコンのタイマと呼ぶ機能を使って、一定時 間を作っています。
  • 55. むずかしいので、とばしてもOK H8マイコンのタイマと呼ぶ機能を使っています 一定時間ごとに、「割り込み」という機能で、知らせてくれます タイマの準備 void ituinit(void) //ITUイニシャライズ { ITU0.TCR.BIT.CCLR = 1; //カウンタクリア要因 ITU0.TCR.BIT.TPSC = 0; //25MHz 周期 0.04μs ITU0.GRA =120; //一定時間の値を設定 } タイマのスタート処理(main()の中) ITU0.TIER.BIT.IMIEA = 1; //IMFAフラグによる割り込み許可 ITU.TSTR.BIT.STR0 = 1; //タイマスタート
  • 56. センサーの状態を読み込む ポートP20(スイッチ)とポートP60(CDSセンサ)の値を 変数swとcdsに読み取る。 Main(){ ・・・・・・・・・・ while (1){ //繰り返し sw = ~P2.DR.BYTE; //ポートP2からデータ入力、“1”、“0”を反転 cds= ~P6.DR.BYTE; //ポートP6からデータ入力、“1”、“0”を反転 if ((sw & 0x01)||(cds & 0x01) ) { ・・・・・・・・・・ } }
  • 57. 電車あり? 電車があるのか?無いのかの判断をする while (1){ //センサーの状態を読み込む ・・・・・・・・・・・・・・・・ if ((sw & 0x01)||(cds & 0x01) ) { //もし、センサーが検知(暗い)かったら if( f_kankan==0){ //ふみきりカンカン状態にして f_kankan=1; P5.DR.BYTE=0x0A;//LED P51 P53 点灯 1010 //LED(左)をつける chikachika = 0; //チカチカさせるための変数 } EI; //カンカン音とチカチカをするためにタイマ起動 ITU0.TIER.BIT.IMIEA = 1;//タイマ 割込み有効 ITU.TSTR.BIT.STR0 = 1; //タイマスタート }
  • 58. 2つのLEDをチカチカ ふみきりカンカン状態で一定時間ごとに行う処理 if(chikachika == 0) // 変数chikachikaが0だと { P5.DR.BYTE=0x05;//LED P50 P52 点灯 0101 //LED左点灯 chikachika = 1; } else{ P5.DR.BYTE=0x0A;//LED P51 P53 点灯 1010 //LED右点灯 chikachika = 0; }
  • 59. カンカンの音を出す //ITUインターバルタイマ割り込み void int_imia0 (void) { ITU0.TSR.BIT.IMFA = 0; //割り込みステータスフラグクリア //波形データ出力 if (sindata[c] >= 128 ) { DA.DADR0 = (sindata[c]-128)/(x/1000) ; } else { DA.DADR0 = (sindata[c])/(x/1000) ;//dataを x/1000 で減衰 } c+=1; if(c==128) c=0; if (x > 2000) { //音の減衰処理 カンカンの音を カンカンらしくする処理 ・・・・ むずかしいので、とばしてもOK DA出力0番(DA0)から 「カンカンカン」の音を出力 カンカンカンの音を生成するた めに、DA変換を使って、SIN波 のデータをアナログの波形に 変換しています。さらに、踏切 のカンカンの音らしくするため に、音を加工していますが、 複雑なので、ここでは割愛しま す
  • 60. 踏切カンカンのプログラム • 踏切カンカンのプログラムは、 すでにH8マイコンに書きこんであります。 • ハードウェア(回路)を工作すると、 踏切カンカン装置を作ることができます。
  • 61. 踏切カンカン装置の工作 • ミドリとオレンジの部分を、工作します • 細かいことは別の資料で説明します マイコン スイッチ アンプ 回路 LED 2個CDS センサー スピー カー TA7368 ミニアンプ部品セット
  • 62. 各自で工夫してみよう • 今回の工作では、踏切の形まで工作しませ ん。各自、工夫してみてください。 • お手持ちのプラレールや、ブロックなどで作っ た模型の電車と組み合わせると、 より踏切らしくなります。
  • 63. 参考 さらに自分でプログラムしたい人は • 参考書(開発環境のCD付) • C言語による H8マイコン プログラミング 入門 • 技術評論社 横山 直隆 (2003/8/30) • この本と、USB-シリアル変換コネクタが あれば、C言語による開発ができます。
  • 64. 参考 H8マイコンのフラッシュROMの書込み1 • 専用書込みソフト • H8Write Turboを使用する (CD-ROMの中にあり) • MOT形式のファイルをフラッ シュ書込みソフトを使用して、 H8マイコンに書込みできる。 • RS232CケーブルでPCとマイ コンを接続 • H8マイコンは、書込みモード (マザーボードのS7 SW を書 込)、マイコン基板のMD2ピン をショートさせる。
  • 65. 参考 H8マイコンのフラッシュROMの書込み2 • フラッシュROMの書込みは、 RS232C経由でPCから書き込 む • H8マイコン側の S7スィッチを RUNの反対側に切り替える • CPUボードのCN5 MD2に ヘッダピンを挿す • (電源を切って切り替えるこ と) RUN write
  • 66. ご清聴ありがとうございました ご清聴ありがとうございました お問い合わせ、 講演・執筆・工作教室等の依頼は Tw:@tentenV3 もしくは、FB または http://triangle-ele.com/ のフォームから パッチン電子工作も よろしく! ただいま 段ボール 工作と電子工作の融 合を策略中! ダンボール くっすん は、東洋紙工株式会社の製品です くっすん は、四條畷市商工会が管理・運営しています ダンボール くっすん

×