小林@筑波技大/福祉工学やら支援技術やら

カテゴリー: ハードウェア (1ページ目 (2ページ中))

USB充電器の相性問題

X1 Gen13 Aura EditionとAnker Nano II 65Wの相性が悪い…?

他のマシンだと問題なくケーブル表示の数値的には50 W以上給電するのですが何故かGen13だとオレンジランプがついたりつかなかったり。使いながら充電しているとばかり思っていたらじわじわ減っているというのは結構リスキーです。CIOのケーブルの問題なのかとも思ったのですが少し小さめのNano II 45Wだとちゃんと給電されるので謎です。本体側を先に挿すとかアダプタ側を先に挿すとか色々試してみていますが再現性もなく、給電されないことが多いようです。地味に不便。

電熱グローブ

ようやくというか何というか、家族の送迎などの環境が変化してきたこともあり、バイクに跨る機会が少し増えました。一方で季節はじわじわ寒くなってきたこともあり、この冬の新アイテムとして「電熱グローブ」を導入してみました。

色んなタイプが売られていますが、鉄板の老舗ブランドにしてみました。少し予想と異なったのは、電熱線の位置とバッテリーの位置です。グリップヒーターのイメージがあって、掌側が温かくなるのかと思っていたのですが、実際には手の甲の方に電熱線が入っています。風のあたる場所で熱が奪われることを考えると当然なのですが、意外でした。また、バッテリーは逆に外側に配置されているのかと思っていましたが、これは内側でした。転倒時などに内側の方が良いのか、自然に冷えない位置が良いのか理由はよくわかりませんが、外側で冷えるとバッテリーの能力が落ちるような気はします。

昨年購入したUSBカイロも役立っています。いわゆる18650リチウム電池の周囲を電熱シートでくるんだようなモデルです。いずれも爆発事故だけは避けたいところです。

情報システム学実験

3年生対象の学科のオムニバス授業のひとつに「情報システム学実験1・2」があります。5人の教員が3週ずつ担当し、1週あたり3コマという構成です。シラバス検索の科目名欄に「情報システム学実験1」と入れると当該授業の情報が出ます。私の担当は「ESP32とGPSユニットを使ったシステム作成」となっていますが、特にGPSが必須というわけではなく、2~3名のグループに分かれて自由にマイコンシステムを作るという授業になっています。この授業を5月下旬から6月上旬にかけて実施しました。

ブレッドボードにESP32と圧電ブザー、GPSユニット、マグネットセンサーがつながっています。

2018年入学生のカリキュラム改定時にスタートしたこの科目は、2020年が最初の年でした。私の担当会、最初はESP8266を使っていましたが途中からESP32にシフトしました。Bluetoothシリアルが使えるようになって学生が作るものの幅が広がった感じです。各グループに配るESP8266のピンヘッダの色を赤、青、黄、黒にしていたことから、グループ名は「チームレッド」「チームブルー」「チームイエロー」「チームブラック」と命名することにしています。今となっては何の色なのか学生も不思議に思っているかもしれません。

各グループで制作に励んでもらい、最後の時間にプレゼンテーションをして終わり、という授業形態なのですが、条件として「無線機能を使うこと」を指定しています。なにかしらのセンサーから得た値を離れたパソコンやスマホで確認するとか、その後のアクションをアクチュエータやモータで実行するとかそういうシステムを自由に作ってもらうのです。

今年は、以下の4つのシステムが作られました。

  • チームレッド:親指の位置に圧力センサを埋め込んだグローブを使って、マッサージの強さを無線で飛ばし、パソコンのプログラム側で「ちょうど良い強さ」を教えてくれるシステム=「Massage Master」フェルトを縫ってグローブを作ってくれていました。
  • チームブルー:傘が開いているかどうかをマグネットセンサで検知して、GPSのデータと共に「どこで傘が開かれているか」のデータを集めることで実際の雨の様子を集約・確認するシステム。実際には開閉センサの状態と、GPSの位置情報を送信して受信する、というものを実装してもらっています。
  • チームイエロー:Qrio Lockのようなスマホから開錠する電子錠。ESPを親機にして、スマホのブラウザから操作することでステッピングモータを回すようなものです。
  • チームブラック:椅子に設置した赤外線距離センサと、首のあたりにつけた加速度センサから「座っている姿勢の良し悪し」を検出してスマホに通知するシステム。ESPを2台使って相互通信し、1つをWebサーバにしてスマホと接続していました。

最後のプレゼンテーションの時間には、動画や実演などを交えた発表がなされました。ちょうど来学していた外部の研究者5名の方々にも参加して頂けたことで、学生たちにも刺激になったと思います。

上の写真はチームブルーのブレッドボード。マグネットセンサの状況をブザーで教えてくれつつ、GPSの緯度経度情報を発信します。

実はGPSユニットは毎回トライするグループは苦労します。新旧混ざった情報が溢れているうえ、窓際でもできなくはないのですがしっかり電波を補足するには屋外に出なくてはならず、そして屋外に出るとパソコンの画面が見えづらく、弱視学生には厳しい。通信系のソフトウェアはどこがうまく動いていないのか特定しにくいということを体験してもらうのも本実験の主旨のひとつなのですが、GPSを利用すると更にその不確定要素が増えるというわけです。

AIスーツケース

毎年12月に研究会でお台場産総研に来ているのですが、実は日本科学未来館のAIスーツケース、まだ見たことがありませんでした。そんな中、ようやく先週ハンガリー人の知人と行く機会があったので体験することができました。

この手の「盲導犬ロボ」的なものはもう何十年も前から研究ネタにされてきているわけですが、PCの小型化やセンサの高性能化、モーターの効率化など色々な技術的な発展があって実現されているというのが第一印象です。どーんと上に乗っかったLiDARと、予想より小型のPC筐体、そしてバッテリーが入れられたケースはもちろん荷物を入れるスペースはないのですが(笑)何より驚いたのは「使っていて目立たない」ことです。

AIスーツケースの中身。
真ん中にバッテリー、右側に制御用PC,左側にハブが見える。左下は制御用の別CPUだと思われる。センサもしくはモーター用?

博物館や科学館の中でスーツケース..というより大きさ的にはキャリーケース、を持って歩くというのは実際には奇妙です。しかし、「そういう人が歩いていて」も、それほど注目は集めません。体験中も、他の来館者にじろじろ見られることはありませんでした。ロボットや犬(もしくは猫?)といった外観ではなく、あえてキャリーケースにしたセンスに改めて感動した次第です。

関連してソフトウェア的に面白かったのは、人の集団が前に居て通路が狭くなっている時には進まないことです。ひたすら待ちます。これについては目立たないことが逆効果?で、多分「白杖を持っていたらすぐにどいてくれる方々」も、気づかず通路を塞ぎ続けてしまうわけでして、どちらが良いということではないのですが小さな発見でした。


ARマーカー技術検証実施中、の看板

また、ある展示スペースにはARマーカーが貼ってあったのですが、これは独自

サーバーを立てて、マーカーに対応した音声案内をスマホアプリで提示してくれるようなシステムとのことでした。残念ながら試験運用で、その日は稼働していなかったのですが、ARマーカーを使っている理由は「遠くから識別しやすいオープンプラットフォームだから」ということです。あえてQRコードにテキスト情報やURLを入れるというようなことをしないあたりが良いですね。QRコードだと近づけないと読み取れませんが、ARマーカーなら大丈夫そうです。

プログラミング出前講座など

昨年度に引き続きR5年度もプログラミング出前講座を企画させて頂いています。3学期の実施ご希望が多く、1月末より2月中旬にかけて新潟よつば学園様・和歌山盲学校様・群馬盲学校様へ訪問させて頂きました。

新潟では科学へジャンプイン東京でも実施したバーコードワークショップを、和歌山盲さんと群馬盲さんではVBS体験、群馬盲さんの小学部の皆さんにはCodeJumperを体験して頂いたりしました。

CodeJumperは今回、3組同時に走らせるという形態で実施しました。これまでで多分最大数?だったのではないかと思います。最初Bluetooth接続がうまく行かず焦りましたが、なんとか復旧して楽しんで頂けました。

情報システム学実験2023

情報システム学実験は、オムニバス形式で進められる3年生の科目で、教員1人につき3週間9コマが割り当てられています。私の担当部分ではクラスを3から4チームに分けて、それぞれがArduinoマイコンを使ったシステムを作って発表する、というものを実施しています。昨年まで少し古いESP8266を使っていましたが、今年はBluetoothを使えるESP32にしてみました。条件としては、必ず無線機能を使うこと、としています。WiFiは設定でつまづくことが多いのですがBluetooth シリアルが使えるので、とりあえずシリアル通信で何かしら実現できるのは授業的には助かります。

今年のクラスは人数的に3名もしくは4名の3チームになりました。今日は3週目で最後の時間にデモを含むショートプレゼンをします。チーム名はESP8266を使っていた頃にピンヘッダの色が赤・黄・青・白・黒などがあったことからチームレッド・チームブルー・チームイエローなど色になっています。

ハードウェアの絡むプログラミングは初体験という学生さんもいますし、慣れている学生さんもいますが、今回のシステムは以下のようなものが揃いました。

  • 赤外線LEDを使って家電をコントロールするリモコンシステム。Nature Rimoみたいな感じでしょうか。筐体もしっかり作りこんでくれています。
  • 明るさによってカーテンを開閉するシステム。Cdsの出力によってステッピングモーターを回転させます。さらにBluetoothで手動での開閉にも対応します。授業内容として、王道のコンテンツといった感じですね。
  • インスタント麺にお湯が注がれたらその重さによって適量値を判断し手元のスマホに知らせ、さらに時間計測を始めるシステム。ハードウェアとしてはロードセルからのデータがメインですが、スマホインタフェースや通知の音楽などに凝っています。

完成したチーム・未完成で発表日を迎えてしまったチーム、それぞれですが皆何かを作り上げる喜びは感じてもらえている…はず。と信じています。

パラメトリックスピーカー

2008年発売の秋月のキット、2012年くらいに一つ作っていましたが、10年ぶりにもうひとつ組んでいます。半田づけ作業中、眼鏡を外した方が楽になってしまいましたが…

合計100個の超音波素子をつける作業も終わりました。

組みあがったパラメトリックスピーカーキット

前回↓はエネループ10本の電池ボックスをグリップにしてハンドガンぽくプラ板で仕上げましたが、今回はどういう筐体にするか思案中です。

10年前のパラメトリックスピーカー、ハンドガン仕様前面
10年前のパラメトリックスピーカー、ハンドガン仕様背面

ラズパイPicoで2サーボ

これまでArduinoやESPだけしか触ってきませんでしたが、Micropythonで動くので学生受けもよさそうかな…と思ってRaspberry Pi Picoに手を出してみることにしました。

とりあえずサーボです。「Raspberry pi Pico servo/サーボ」などと検索すれば1つ動かすサンプルはいくつも出てくるのですが、スレッドで2つ動かしたいので適当に書いてみます。

ブレッドボード上のRaspberry PI Picoとサーボ・電池ボックス
from machine import PWM, Pin
from time import sleep
import _thread

servo_1 = PWM(Pin(0))
servo_1.freq(50)
servo_2 = PWM(Pin(1))
servo_2.freq(50)

angle_0 = int(2.5 / 20 * 65536)
angle_90 = int(1.5 / 20 * 65536)
angle_180 = int(0.5 / 20 * 65536)

def Move_1():
    while True:
        servo_1.duty_u16(angle_0)
        sleep(0.5)
        servo_1.duty_u16(angle_90)
        sleep(0.5)
        servo_1.duty_u16(angle_180)
        sleep(0.5)

def Move_2():
    while True:
        servo_2.duty_u16(angle_0)
        sleep(1)
        servo_2.duty_u16(angle_90)
        sleep(1)
        servo_2.duty_u16(angle_180)
        sleep(1)

_thread.start_new_thread(Move_1, ())
Move_2()

無事それっぽいリズムを刻む動きをしてくれました。

最初、2つともスレッドにしていて少しハマりました。
(最終行を「_thread.start_new_thread(Move_2, ())」と書いていた)
PicoはPWMを2系統しか出せないようなので、3つ以上のサーボを動かすには別途コントローラが必要ですね。

Tune ECU

先日かなり久しぶりにStreet Tripleで出かけて帰宅したら、オイル警告灯が点いてスターターが回らなくなってしまいました。出先ではなくて良かった…と思いつつ、少しオイルを補充して回復。しかし数日後、やはりスターターが動きません。リレーかソレノイドか…と考えながら久々にECUケーブルをOSBコネクタにつないでTune ECUを起動。手元のものは6年前に落としてきたVer.2.5.8ですが、ちゃんとWin10で動きました。

Tune ECUのウィンドウ

当時購入したノーブランドのECUケーブルは、デバイスドライバ的には自動認識して仮想COMポートになります。なのでてっきりCOM指定かと思いきや、USB指定で通信が確立しました。結果的には何のエラーも出なかったので、単にバッテリーが弱っていただけと判明。最近乗る機会がめっきり減ってしまったのが良くないのですね。

いずれにせよ久々にTune ECUの動作確認ができて良かったです。特にマップをいじるとかマニアックなことはやりませんが、自分でエラーの種類を特定できるのは便利。6年前はO2センサ異常が分かったので交換できました。

さてそのTuneECUですが、サイトに行ってみると現行バージョンは5.6.37。しかもAndroid用の有料アプリになっていました。時代ですねぇ。先日(25年ぶりに!)買い替えた冷蔵庫も、製氷用の水がなくなったらスマホアプリで分かるらしいし、色々なハードウェア関連の情報に一般ユーザがスマホでアクセスできる世の中のようです。そこから「音声化」もできるのではと夢は膨らみますね。

以前家電協会さんに協力したアンケートでも、学生たちからは「スマホで家電がコントロールできるならば助かる」という声が多かったです。エアコンのリモコンなどに苦労していた様子。プロトコルがオープンならば作れそうですが、赤外線インタフェースのハードウェア入手がネックですね。今はNature remoみたいなスマート化デバイスの役目かもしれません。

Magic-Ben MAG1 キーボード交換

分かる人には分かる系タイトルです。

しばらく触れていなかったMagic-Ben MAG1のキーボードがほぼ反応せず、気づけば「t」くらいしか入力できないという壊滅状態に。運よくキーボードが入手できたので交換してみました。

ひょっとすると誰かの役に立つかもしれない…ので記しておきます。既にメーカーは存在しないようですしサポートも何もないと思われますが、作業する場合は自己責任でお願いします。

まずは6本ビスを外して裏ブタを開けます。最初にSIMスロットも抜いておいた方が良いです。続いてヒートシンクを外します。写真に示したビス4本。バッテリーの放熱板?も一緒にくっついてきますのでまとめてremove。とにかくテープが多いので再利用したければ丁寧に剥いでいきます。左にあるバッテリーのコネクタも下側に引く感じで外します。
バッテリーを外したところです既にキーボードのフレキも外れていますね。MAG1のフレキのコネクタは爪を起こして外すタイプが多いです。次の写真で右側のWWANカード(EM7330)を外していますけど、これは外さなくてもバラせるかもしれません。WWANアンテナは1本だけです。抜いておきます。マザボに被ってる黒いシートも剥がします。
とにかくキーボードまで到達すべく、どんどん外して剥いでいきます。LCDのコネクタも爪を起こすタイプです。ファンは平らなビス2本で止まっていますので外します。ファンケーブルも抜いて、ファンを取ります。タッチパッドのコネクタも抜いて、マグネティックセンサかな、左下のセンサもテープを剥がしておきます。ここはテープで押さえられているだけです。
マザボのアップ。WLAN/Bluetoothは3165D2Wです。ここをカバーしていた板、既に外れてしまった写真ですがビス1本で外します。この状態になったら2本のアンテナも抜きます。その右上、指紋センサのコネクタなんですがこれは垂直に持ち上げるだけで外れます。フレキ断線注意です。マザボも適宜ネジ数本で特に問題なく外れます。
マザボをひっくり返したところです。手前にねじれているのはマグネティックセンサ(なのかな)のケーブルです。上に伸びているのは、さっきまで下に出てたタッチパッドのコネクタです。裏側のフレキコネクタは爪を起こすタイプではなくスライドさせるタイプでした。タッチパッドコネクタの右側には使われていないコネクタがあり「JOYCON1」と書かれてました。
右側のサブボードも外していきます。この時にSIMスロット抜いておかないとダメですので注意しましょう。写真はファン下の金属パネルです。この3つの位置のビスを抜いて剥がしますが、この3箇所、キーボードのビス穴につながっているのが後から分かります。
今回一番驚いたポイント、3箇所のメス穴部品です。メス穴の板を取り付けてるだけなんですが、キーボードパーツを抑えているとも言えますしネジ穴をずらしているだけとも言えますし、謎です。精度もイマイチなので手作り感があります。いずれにせよ外さないとキーボード剥がれませんので外します。
ようやくキーボード本体が「見えて」きました。このプレートも粘着テープを丁寧に剥がしていきます。
ようやくご対面です。しかしここで出迎えてくれるのは「30本以上のビス」です。先ほどのファン下パネルを留めていた3本以外のビスを全部、外さなくてはいけません。とりあえず3つの場所を覚えておかなくてはいけないので、油性マジックで印をつけておくと良いでしょう。
…なんとか外し終えました。右側にビスの山が見えます。
キーボード分離成功。タッチパネル画面が見えました。新しいキーボードをつけて、逆の行程で組んでいきます。まずは30本超のビス留めから…

戻す際は、指紋認証とWiFiアンテナ周辺の取り回しや、ファン下プレート>シール>マザボ~サブボ間フレキの順番とかが少しややこしくて数回手戻りしました。間に食事挟んでしまったのもありますが、短期記憶がかなり怪しくなってきてますので途中経過の写真大事ですね。

というわけで無事キーボードが動くようになったMAG1、もう暫く稼働してもらいます。

«過去の 投稿