software_development」カテゴリーアーカイブ

Nintendo SwitchのJoyCon hackで振動機能で音を再生するデモをするにはどうしたらいいだろうか

一度、NT京都にて展示をしてみたのだが、音が小さすぎて来た人に聞こえないという問題があった。

共鳴させる段ボールの工夫で音を大きくできないかと思ったが無理そうだ。

邪道っぽいけど、一度マイクで拾ってアンプで増幅してスピーカーから音を出すしかないかなあ。

第8回 Center CLR 勉強会に行ってきた

第8回 Center CLR 勉強会に行ってきた。

会場はアイレット株式会社で、先月のSORACOM UGの会場と一緒だ。

内容はCLRの話だけでなく、Microsoftの技術全般となっている。
Hololensの話があったり、Azureとかのクラウド(DB)の話があったり、F#とか関数型言語の話があったり、多種多様だ。
続きを読む

M5Stackとmicro:bitを合体させてみる – その2 (M5Stack側で動かしているプログラム)

M5Stackとmicro:bitを合体させてみるという話の続き。

M5Stack側に入れるプログラムを書く方法としては主なものは3つある。
(1) Arduino開発環境で、ESP32ライブラリ+M5Stack用ライブラリを使う方法で、言語はほぼC++。
(2) Espressifの開発環境ESP-IDFとSDKを使う方法で、言語は原則C言語。
(3) microPython

micro:bit側はmicroPythonを使っているので、M5Stack側もmicroPythonを使ってみたいのだが、自分はまだPythonを使うのが得意でないので出来ていない。
結局、一番簡単なArduinoで開発している。

とりあえずSerial2というM5Stack用のexampleをちょっとだけ改変して、画面に受信した文字列を表示するプログラムを作った。

インターフェース誌2018年9月号などを参考にしている。

Interface(インターフェース) 2018年 09 月号(Amazon)
続きを読む

micro:bitのオンライン開発環境でhexをダウンロードせず、テキストデータとして表示して欲しいのだけど

micro:bitのオンライン開発環境でhexをダウンロードせず、テキストデータとして表示して欲しいのだけど。
そういう機能はないのかなあ。

学校とかでmicro:bitを使う場合、インストール禁止以外に「ダウンロード禁止」というルールのせいで困るという。

micro:bitでは、実行させる前にhexファイルをダウンロードして、そのファイルをストレージデバイスにコピーしてプログラム書き込みするのだけど。ダウンロードが禁止されている学校だとhexの書き込みで詰んでしまうから駄目ということらしい。
続きを読む

機械学習 名古屋 第15回勉強会に参加してなかったので、発表資料を見て次回の予習

機械学習名古屋 第15回勉強会に参加してなかったので、発表資料を見て次回の予習をしてる。
(マンションの管理組合の仕事みたいなつまらない用事のため昨年度は土曜や日曜が多く潰れてしまってあまり勉強会に参加できなかった)

第16回勉強会には参加予定だ。
機械学習 名古屋 第16回勉強会 【ゲームの強化学習ハンズオン OpenAI Gym パート2】

前回の資料を読んでる。
ゲームの強化学習ハンズオン — OpenAI GymOpenAI gymで強化学習入門(機械学習名古屋第15回勉強会)

OpenAIのgymというライブラリを使ってみるという内容だ。
続きを読む

micro:bitでBluetooth-UARTを作るには その2 挫折編

micro:bitでBluetooth-UARTを作るには。という話の続き。

Make:CodeでBluetoothのブロック部品を使って、micro:bitとmicro:bitでBluetooth通信ができないか試してみた。
設定の項目で、ペアリングをどうするのかの設定が3種類あるのだが、それによってペアリングの挙動が変わる。

しかし、どの設定を使ってもmicro:bitどうしではBluetoothのペアリングをすることはできなかった。

それもそのはずで、Bluetoothの接続は片方がmasterとなり、もう片方がslaveとならないといけない。
masterは親機となり、子機を検索して接続をかける方になる。
slaveは子機側で、親機から接続を掛けられたらそれに応答する方になる。

micro:bitの場合には、slaveの機能しかないので、micro:bitとmicro:bitでBluetoothの接続は不可能だ。
そして、将来その機能が追加される予定もないそうだ。(ロードマップには無い)

ということで、Bluetoothを使ったUARTの無線ブリッジを作るという目論見は断念した。
Nordic Semiconductor独自方式の無線を使ったUARTの無線化はできているので、こちらを使うのがよいだろう。
micro:bitでUARTと無線通信をブリッジし、シリアル通信を無線化するのを試してみた

micro:bitでBluetooth-UARTを作るには

micro:bitでBluetooth-UARTを作るには、どうすればいいのだろうか。

自分はmicroPythonでmicro:bitのプログラムを書いているのだが、残念ながらmicro:bitのmicroPythonはBluetoothに対応していない。

一番ポピュラーな開発環境であるMake:codeではBluetoothに対応しているので、そちらを使えば可能なようだ。これはTypeScript(Microsoft版JavaScript)の開発環境だが、Node-REDみたいにGUIでブロックを組み合わせてプログラムをするグラフィカルな開発環境だ。

Make:codeでBluetoothのブロック部品を配置するのは、標準では出てこないので、Advanceという項目からAdd PackageでBluetoothを追加する。日本語だと、高度な機能→パッケージを追加という操作となる。
microbit Bluetooth Low Energy serial UART Support

Bluetoothのブロック部品には、このようなものがある。

加速度サービスとかボタンサービス、入出力端子サービスなどのサービスと名前のついたブロックは、これだけでBluetoothに加速度センサーなどの状態を送信してくれるもののようだ。

下の方にあるアドバタイズという名前のものはiBeaconのようなものを作るときに使うもののようだ。

基本的にはBluetoothのシリアル通信プロファイルを使うものばかりなので、Bluetooth HIDとかを使うことはできなさそう。
続きを読む