ここでは過去に作成した教材やシステムについて紹介します.

以前,外部で行った公開講座のために作成した教材です.”動くもの”ということをテーマにした結果,ミニ四駆®を題材に選びました.ただし,普通に動かすだけでは面白味がありませんので,紙に書かれたバーコード風の模様を読み取り,それに従って動作するミニ四駆®を作成することとしました.システムは移動部とスキャン部に分かれており,移動部にはモータドライバおよび赤外線受信モジュールを仕込んであります.また,スキャン部では赤外線センサによりバーコード風カードを読み取り,その内容に基づいてコマンドを発行し,赤外線通信により移動部へ送ります.概要図を下に示します.

実際に動作している様子を下に示します.

 

成果物

 

Android OSの社会人向け講座のために作ったアプリケーションです.Android端末を傾けたり,急に引き上げ下げたりすることにより,画面に映し出されている地図を移動および拡大・縮小することができます.この教材により,Androidの基本的なアプリケーションの作成方法,加速度センサからの情報取得,GoogleマップのAPIの使用方法を学べる教材となっています.下の図は最終的に完成したときのアプリの動作例です.

example

成果物

長野高専の電子情報工学科では,HDLの学習を進めるためCPLDの学習ボードを開発し,2008年度より学生に1つずつ学習ボードを貸与してきました.このボードの配置図と各素子の概略について示します.

  • CPLD[Xilinx社製XC95108PC84-15]:1個
  • 7セグメントLED:4個
  • LED:10個
  • 圧電ブザー:1個
  • トグルスイッチ:8個
  • チャタリング防止機能付きトグルスイッチ:2個
  • リセットスイッチ:1個
  • 発振器:1個
  • 周波数切替スイッチ:1個
  • 外部拡張用ピンヘッダ:8個
  • USBコネクタ:1個

このボードには,USBコネクタが備わっており,基本的にはUSBのバスパワーで動作するように設計されています.また,高価なダウンロードケーブルを使わずにダウンロードできるようにするため,SVF形式のファイルを使ってダウンロードできるようにしました.

成果物

「設計を意識した組込み技術を学習できる教材」を基本理念としたマイコンとCPLDを使った自走車KTM-02を開発しました.KTM-02の外観と使用した素子を下に示します.

KTM 02

  • マイコン[ルネサス社製SuperH7125Tiny]:1個
  • 赤外線センサ制御用CPLD[Xilinx社製XC95108TQ144-15]:1個
  • 赤外線センサ[浜松ホトニクス社製S10053]:25個
  • Bluetooth[Sparkfun社製WRL-00582]:1個
  • CPLD[Xilix社製XC9536-7VQ44C]:1個
  • CMOSカメラ[COMedia社製C328-7640]:1個
  • 距離センサ[Sparkfun社製LV-EZ1]:1個
  • モータドライバ[東芝社製TA8440H]:2個
  • キャラクタLCD[SUNLIKE社製SC1602BS-B]:1個

 

の自走車の底面には25個の赤外線センサが取り付けられているため,交点のある線を的確に感知することが可能となっています.また,Bluetoothによる通信を行うことができるようにしたため,パソコンによる遠隔操作することが可能です.さらに,CMOSカメラや距離センサが取り付けられているため,KTM-02周辺の状況をパソコンに伝えることも可能です.

KTM-02には上記の素子をマイコンやCPLDにより制御する方法を学習する教材として用いることが可能ですがそれだけではなく,UMLを基軸とした設計方法についても学べるように配慮しました.また,パソコンと通信することが可能であるため,パソコン上で動作する操作アプリケーションを作成する学習用教材としても用いることができます.具体的には,KTM-02を操作するコマンドを発行する通信フレームワークを学生に提供し,それを用いて独自のアプリケーションを作らせることができます.

成果物

チェンジビジョンのastah*でご覧ください.

あるイベントのノベルティとして作成した玩具です.この基板をなるべく小さく(1辺が2[cm])とすべく,小型のマイコンを利用しています.

この回路では6つの小型LEDを制御していますが,用いたマイコン(Microchip社製PIC10F206)には汎用入出力ピンが4個しかありません.そこで,下のような回路にしました.

 Screenshot

例えばLD1のみを光らせたいときには,GP0を入力端子,GP1を出力端子にしてHighを出力,GP2を出力端子にしてLowを出力にします.GP0を入力端子にすることで,ハイインピーダンス状態となり,結果としてこの端子は未接続として扱うことができ,LD4は点灯しません.

これまで中学生を主な対象者とする公開講座を行っており,その一環で作成したのが赤外線リモコンを使ったRCカーです.このRCカー(通称Ir進ちゃん)は,赤外線リモコンのどのボタンからどのような信号が出ているかはじめに学習することができます.これにより,受講者である中学生のおうちに1つはある赤外線リモコンでIr進ちゃんを操作することができます.

公開講座では,ハンダ付けをさせるとともに各種電子素子の特徴を紹介し,マイコンへプログラムをダウンロードさせることでマイコンの役割を説明しました.また,おうちに帰ってから学習できるよう,100ページほどのテキストと,学習支援ホームページを開設しました.

超小型バーサライタが完成したので報告します.下に示すものがそれです.1辺およそ2[cm]と超小型となっておりますが,左下から右上にかけて11個のLEDが備わっています.マイコンにはPIC16F1503を搭載しており,RAMにも結構余裕があります.左上にはタクトスイッチがあり,これを使えばパターンを変更することも可能です.基板裏側には3[V]のボタン電池があり,ある程度の時間は点灯させることができます.

 

小型バーサライタ

 

下側にはPICKit3と接続するための端子が備わっておりますが,通常の2.54[mm]ピッチではなく1.27[mm]ピッチとなっています.これだけ小型になると,2.54[mm]ピッチでは大きすぎます.このため,2.54[mm]から1.27[mm]に変換する基板を使ってダウンロードすることになります.下に変換基板を示します.

254to127 1254to127 2

この基板は2枚の基板をつなげています.1枚目の写真には2.54[mm]ピッチのピンヘッダが,2枚目には1.27[mm]ピッチのピンヘッダがあります.このように2枚の基板を重ねて連結することで2.54[mm]から1.27[mm]へ変換しています.

254to127 3

実際に使うときにはPICKit3を上のように接続します.左側にある1.27[mm]のピンヘッダをバーサライタのダウンロード端子に押し付けるようにして使います.

254to127 4

上の図はダウンロード用端子に1.27[mm]のピンヘッダをあてがっている様子です.

最後に動作例です.下をご覧ください.いびつに見えますがハートが見えるかと思います.主観的な感想になりますが,実際にはきれいにハートが見えます.

超小型バーサライタの動作例

超小型バーサライタをベースに,より表示面を見やすく,かつ持ちやすいようにしたのがこのスティック型バーサライタです.使っているマイコンは超小型バーサライタと同じであるため,同じプログラムで動作しています.

StickPOV

このバーサライタに表示するパターンを受講者にも簡単に変更できるように,タブレットでデザインできるアプリも開発しました.ここに描かれたパターンをバーサライタのプログラムに組み込めば,オリジナルのパターンが現れます.

Screenshot 2016 11 05 12 24 39

HDLの授業にて使ってきたCPLD実習ボードに代わり,新たにFPGAを使った実習ボードを作成しました.

WholeImage

 

基板は3枚で構成されており,①FPGAを搭載したボード,②7セグメントLEDを搭載したボード,③ドットマトリクスディスプレイやスイッチを搭載したボードがあります.①は,もともとTKM-Hに備え付けたFPGAボードを流用しています.そして,TKM-Hではカメラを搭載していた端子に③を接続し,TKM-HではMPUと接続していた端子に②を接続しています.

これらを使って,FPGAに簡単なCPUを作る授業を行っています.授業「集積回路設計」「ディジタル電子回路」をご覧ください.また,FPGA実習ボードに関する情報はこちらにまとめられています.

これまで足掛け3年かけて作成してきた,組込みソフトウェア用教材TKM-Hの概要についてここでは述べます.

DiagonallyForward

 

TKM-Hは,組込みソフトウェアを学ぶうえで必要な要素である,マイコン上で動作するプログラムを記述するための教材です.しかし,ただプログラムを書けるようになるだけではなく,ソフトウェアのライフサイクル(要求,分析,設計,実装)をひととおり学習できることを意図して開発されました.ライフサイクルを学ぶ上では,複数の技術者がひとつのプロジェクトに携わることが重要です.そのため,ある程度の規模のソフトウェアを構築できるように,多くの電子デバイスを搭載してあります.下に電子デバイスのリストを示します.

  • 解像度が640×480のカメラ
  • SRAM
  • SDRAM
  • ドットマトリクスディスプレイ
  • 3軸デジタルコンパス
  • I2C接続のEEPROM
  • キャラクタLCD
  • 赤外線式距離センサ
  • 圧電スピーカ
  • XBeeとBluetooth
  • SDカード
  • DCモータとドライバ
  • 反射式フォトインタラプタ
  • 透過式フォトインタラプタ
  • アナログジョイスティック
  • タクトスイッチ

TKM-Hにより行える教育を模式図で示します.大きく分けて4つあります.

スライド2

まずは組込みです.前述のとおり多くの電子デバイスを搭載していますので,かなり歯ごたえのある課題を提示することができます.マイコン以外にもFPGA(Xilinx社製 Spartan6)を搭載していますので,HDL言語の学習用教材としても用いることができます.さらにリアルタイムOS(RTOS)を搭載できるマイコン(ルネサス社製 RX62N)を搭載しています.

ソフトウェア開発手法としても使用することができます.大規模プログラムを組むとき,プロジェクトによるプログラム開発をしなければならず,そのとき,オブジェクト指向言語の方が行いやすいです.オブジェクト指向言語で組む場合,UMLによるソフトウェアの設計は大変親和性が高く,加えて広く普及しています.オブジェクト指向の考え方とUMLによる設計開発を行う教材として,TKM-Hを用いることができます.

通信機能も多彩です.調歩同期通信だけでなく,I2C,SPI,CAN,Ethernetなどの通信を行えるよう設計されています.また,無線技術として近年よく用いられているBluetoothとZigBeeも使えるようになっており,TKM-Hを遠隔操作することができるようになっています.このような通信方法を学習する教材としても用いることができます.

Androidやパソコンなどの外部機器と無線通信で接続し,TKM-Hを遠隔する応用例が考えられます.例えばカメラで撮影した映像を外部機器に送り,その映像にもとづきTKM-Hを操作するアプリケーションが考えられます.

この教材を使って,授業「マイコン応用」が行われています.

成果物

今回の教材のテーマは,なるべくシンプルであり,LEDとかスイッチとかが学べる簡単なものにしたいと考えました.その結果,ドットマトリクスLEDスイッチマトリクスが備わっているものにすることにしました.しかもそれらが両方とも扱えるようにするため,LED付きスイッチを使うことにしました.このようにすることで,もぐらたたきゲームや落ちゲーなどのさまざまなアプリが開発できるのではと思った次第です.使用するLED付きスイッチとして,秋月電商で手に入るいかのものにすることにしました.この部品はスイッチの押す部分に赤色LEDが内蔵されています.

 

まずは試作ということで,基板を作成しました.下に示すものは基板の表面です.中央付近にはLED付きスイッチを25個配置しました.また,左上には圧電スピーカを装備することで,ゲームで欠かせない音楽を流せるようにしておきました.

Matrix

 

基板裏側の様子を下に示します.裏側には電源の単3電池,逆流防止用ダイオードおよび抵抗が配置されています.スイッチというユーザインタフェースが基板表側にあるため,それ以外の部品は極力裏側に配置することとしました.

Matrix2

 

実はこの基板,まだ日の目を見ていません.というのは,その機会が今のところないことに加え,スイッチが安いとはいえ,1つ60円するために25個も使うとそれだけで1500円になってしまい,とても割高のためです.ちゃんと原価計算をしていませんが,おそらく2000円は下らないでしょう.そのような高額な教材のため,お持ち帰り用には使えません.それでもお金をかけてもよいような講座があればその時にでも使おうと思います.

社会人向け講座にて使用する教材です.IoTによりセンサ情報をクラウドにアップし,その結果次第でアクチュエータに動作をさせるようなアプリケーションが増えてきています.この教材では,それらを学べるようにするため,センサと簡単なアクチュエータを備えています.それらをRaspberry Piで制御できるようになっています.Raspberry Piは簡単にインターネットに接続できるため,その特性を生かしてクラウドとやりとりさせます.

DaughterBoard

 

成果物

中学生向け公開講座で作成した教材です.この教材は3バージョンあり,1号機では2色(赤,黒),2号機では4色(赤,緑,オレンジ,黒)のドットマトリクスディスプレイを用いており,3号機は2号機の部品をすべてアキシャル部品に置き換えたものです.3号機を作成した理由は,1,2号機では中学生にはんだ付けができない面実装部品が多数あり,講座でははんだ付けを行えない問題がありました(その反面,1,2号機は安価になるわけですが…).それぞれの写真を下に示します.

1号機

 FirstType

 

2号機

SecondType

3号機

 ThirdType

 

1号機では,ディスプレイ4辺から迫ってくる棒状の敵をよけ続けるゲーム,2号機では1号機のゲームに加え,4段のフロアを行き来し,ランダムに表れる宝をすべて取得していくゲームを実装しました.ディスプレイ,スピーカ,そしてスイッチがいくつかある構成は,往年のゲームウォッチと同じ構成ですので,アイディア次第で他のゲームも作れます.

これまでにいくつかの中学生向け講座教材を開発してきましたが,これまでにない要素を取り入れることを検討した結果,声で操作できるアプリケーションの開発を行うこととなりました.しかも本研究室の代表者ではなく学生が企画・計画・設計・実装・実施まですべて行ってもらいました.彼の考えた企画が,声でリバーシを操作して遊ぶというものです.リバーシに置いて,碁をおくことのできる場所が限られるため,碁を置く場所を「まえ」「つぎ」で選択し,置きたい場所で「おく」といえば碁を置いてくれるというインタフェースになっています.

topview

音声は遊ぶ前に登録しておき,その比較を行っています.また,リバーシゲーム以外におまけの,ちょっとしたゲームも入っています.

成果物

Raspberry Piで操作するRCカーを作っています.名前はRPiCarです.特に小型化したいという思いから,Raspberry Pi zeroを使っています.Raspberry Pi zeroでもカメラやI2C接続の距離センサも扱えます.zeroを用いたことにより,幅,高さ,奥行きともに10㎝程度になっています.いくつかの試作を得て現在のバージョンが5代目です.最初はRCカーのみを考えていましたが,どうせなら自走車も目指すことにし,そのためにフォトリフレクタを底面に配ししました.上の基板と下の基板の間をつなぐコネクタについて,フォトリフレクタを追加するために増やす必要がありましたので,ついでに前面にヘッドライトを付けることとしました.下に図を示します.左側下方にフォトリフレクタ3個とヘッドライトが付いているのが分かるでしょうか.さらに5代目にはLiDARを搭載してRPiCarの周りの物体までの距離を計測できるようにしてみました.

こちらが俯瞰図です.

V3LongShot

 

こちらが正面です.最上部にLiDAR,上側にカメラと距離センサがあります.下側にはフォトリフレクタが3個ついています.

V3Front

 

こちらが背面です.2つの独立したモータにより旋回が行えます.さらに,そのモータの回転軸には穴の開いた円盤があり,その円盤の下にはフォトインタラプタがあります.これにより回転数を検知することができます.

V3Back

 

上記のRCカーを制御をブラウザから行えます.下のようにボタンが配置されており,これを押すことで制御できます.加えて,前方にある障害物までの距離や,カメラで撮影された写真が表示されるようになっています.

UI 

 

最後にブロック図を示します.上側基板と下側基板に実装した部品と,その接続状況を記してあります.
BlockDiagram

 

すでにNode-REDによる制御ができることも確認済みです.残念ながら令和2年度にはコロナの影響で講座を実施できませんでしたが,次年度は実施したいと考えています.

高校野球のマネージャは練習試合を実施するとき大変多忙です.練習試合中には4つのタスクがあります.①はスコアブックの記述です.大変専門的な知識を必要としています.②はBSOの操作です.BSOとはボールカウントを掲示するボードです.このため,1球ごと計時を変えていく必要があります.③はアナウンスです.高校野球では,守備位置の変更が多く,複雑になることがあります.そのセリフを考えてアナウンスしなければなりません.④が得点掲示です.買いが終わるごとに変更しなければなりません.これらのタスクを一人こなすのは大変です.そこで本システムではスコアブックを簡単につけるシステムを開発し,さらにはそこから得られるボールカウント,選手の守備位置変更情報,得点を自動的に更新できるシステムを目指しています.BSOや得点掲示板は,スコアブックを点ける場所と離れていることを想定し,無線で情報を送るようにしてあります.

Summary

成果物

日本国内の建設現場では熱中症により多くの作業員が犠牲になっております.このため,建設現場では熱中症を防ぐような対策を行っております.その一環として,熱中症の危険性が高まった時に作業員に周知することシステムの開発を行っています.下の図がシステムの概要図です.気象観測装置により計測された雨量・風速・温度・湿度の情報を無線通信にて現場事務所に設置された中央処理器へ送られます.その結果は屋内ディスプレイに表示するとともに,データベースへの登録も行います.また,屋外ディスプレイにそれらの情報を送るようにし,もし警報を出すほどの状況になった場合にはサイレンで注意喚起します.さらに,中型警報器では屋外ディスプレイが見えないような屋内の工事現場などに設置し温度と湿度を計測します.そして,中型警報器には作業員が身に着けられる携帯端末を持たせ,その端末からの情報も集約します.温度や湿度が一定の条件以上になると,携帯端末に備わるバイブレーション機能で作業員に知らせます.その時,作業員は安否を兼ねてボタンスイッチを押すことで安否を現場事務所へ知らせることができます.もし,ボタンスイッチが押されなかった場合,作業員のみに何かあった可能性があるため,捜索を行います.この時に役立つのが中型警報器です.中型警報器にはGPSと3軸コンパスを備えており,また携帯端末にもGPSを備えてあることから,中型警報器から作業員の位置を割り出すことができます.そして,その方向を指し示してくれるように,中型警報器にはフルカラーディスプレイが備わっております.中型警報器にはバッテリを備えてあるため,一時的になら持ち運びが可能です.このため,作業員の捜索をするときに中型警報器を持ち運ぶことができます.

以上のようなシステムを2014年から開発を続けてきています.

Slide1

成果物

超高齢化社会である日本において,健康寿命をいかに延ばしていくかが課題となっています.様々な運動や教育の結果,どの程度の体力が回復したか確認する際,6項目にわたる体力測定を行います.現状ではそれらの結果を手作業で集計を行っているため,その日のうちに結果を被験者に渡すことが困難です.そこで,6項目にわたる体力測定の結果を無線通信で一か所に集め,結果を即座に被験者へ渡すことのできるシステムを開発しています.6項目の測定とは以下に示すものです.加えて,それらの結果を取りまとめてExcelファイルとして出力する中央集計器があります.

これらはそれぞれ測定方法が異なるため,それぞれにサブシステムを作成し,自動的に測定するようにしています.

トラック競技における残りの周回数を競技者へ知らせる現状の方法は大変シンプルです.審判員が各競技者を目で識別し,フィニッシュライン付近で掲示しています.しかしこの方法では人物同定に手間がかかるのみならず,周回遅れの競技者とそうでない競技者がほぼ同時刻にフィニッシュラインに来たとき,掲示板に残周回数を表示することが困難です.そこで,競技者にアクティブタグを装着し,フィニッシュラインを何回通過したか調べるシステムの開発に取り組んでいます.下の図は概念図です.アクティブタグをつけた選手がフィニッシュラインに近づくとそこから発せられる信号を通信中継装置で検知し中央処理器に送信し,さらには大型の掲示板に競技者のラップと残り周回数を掲示します.加えて,審判が手で持つタブレットにどの選手が通過したかを表示します.協議終了後にはアクティブタグは充電器にて充電することで繰り返し使うことができます.

1

 

現状で開発した機材を含めて再び概念図を下に示します.アクティブタグは39mmとなっており大変小型です.このタグを専用のケースに入れれば完全防水が実現できます.充電池が内蔵してあり,加えて無接点給電できるようになっています.通信中継装置には情報を中央処理器および審判端末に送るのみならず,スピーカを取り付けられるようになっており,残り1周の選手がフィニッシュラインに近づくと音が鳴るようになっています.

2

 

成果物

このシステムは競歩競技の大会において,円滑に運営するためのものです.トラック競技で行われる競歩競技では,5人いる審判が選手の違反がないかチェックし,もし違反があった場合には記録用紙を本部に届けます.この届ける作業を現状では補助員が主任審判員のところまで走って持っていくこととなっています.そして,主任審判員は違反回数を超過した選手に対して失格をフィニッシュ付近で告知します.しかしこの方法では,違反情報が主任審判員にもたらされるまでに相当な時間を有してしまうため,場合によってゴールしてから失格を告げるようなことも起こりえます.また,補助員を書く審判に配置するため,大会実施には人員が多く必要となります.

 

1

 

そこで,下に示すようなシステムを提案しています.まず,アクティブタグを選手に装着します.これにより各信販は誰が近づいてきているのかが審判員用入出力装置によりわかるようになります.そして,違反があった場合,審判はこの装置に違反内容を入力すると,その結果は主任審判員と本部に無線で送られます.主任審判は失格になった場合には速やかに当該選手に告知します.また,本部にて情報を集約しているため,協議終了後に必要となるまとめた競歩審判集計表を瞬時に得られるようになります.

3

 

成果物

降雪による損害は多岐にわたります.例えば道路に積もった雪です.除雪のタイミングをいつにすれば効率的なのか,そのためには各地の積雪量を把握する必要があります.飛行場でも同じように除雪のタイミングが重要です.それにより,飛行機の離発着に影響します.このような積雪量の計測にはこれまで目視によるものや,超音波もしくはレーザー光による計測が行われてきました.しかしどれもコスト面や精度面で課題があります.そこで画像解析による積雪量の推定を行うシステムの開発を行っています.下に概要図を示します.

MeasureSnowAccumulationConcept

 

画像の撮影にはカメラを用います.ただ撮影しただけでは積雪量を優位に推定できあせん.このため,乳白色の目盛り付き棒の内側にLEDライトを入れ,撮影場所に適した色にします.また,棒に影がなるべく入らぬよう,投光器により棒を一定の方向から光を当て続けます.このカメラはじめすべてのデバイスを制御するのが制御基板です.制御基板にはRaspberry Piを用いています.また,カメラや制御基板を収めるケースが曇ってしまわぬよう,防曇ファンを備えています.どのタイミングでファンを回せばよいかを推定するため,ケースの内側と外側にそれぞれ温湿度センサを取り付けます.以上のようなシステムを現在作成しています.

湿地に入ってくる水と出ていく水を計測し,湿地内の水位を計測する研究が行われております.下の図は長野市内にある湿地の写真です.このような湿地にどのように水が流入し,反対に排出されていくのかを調べようとしています.

DSC 0109

 

このために必要なのは,直径50mm程度のパイプ内に入り,水位を常に計測するセンサです.下の図の中央あたりにパイプが埋まっています.このパイプにはいくつかの穴があけられており,また,地中に打ち込んであります.その結果,水がパイプに入ってくるようになっております.その他待った水位を調べることで湿地の水位を計測しようとしています.

DSC 0107

 

これを解決するために2つのアプローチを試みています.1つは計測結果を市街地でリアルタイムに計測するもの,もう1つは,水位を計測し始めてから6か月から1年程度,そのままにしておいて計測結果を後で取り出すものです.前者を便宜上,クラウド型と称します.こちらの場合,sakura.ioを利用し,水位をクラウド上からすぐにみられることを目指します.後者は廉価型と称します.こちらはPICを利用し,より小型かつ安価で大量に生産できるものを目指しています.現在,ともに並行して開発を進めています.

JSN Teki is designed by JoomlaShine.com