2021年11月30日火曜日

M5Stackで1D100ダイスを作る

 1年前のクリスマスに自分用プレゼントとして買ったM5Stack Grayでようやく少し遊び始めました.

今回は表題通り,コロナ禍があけて対面でクトゥルフTRPGができるようになった時のために使えるか分かりませんが,1D100ダイスを作ってみようと思います.

先に断っておきますが,出来たもののあんまり満足していません


さて,ボタンを押してただ乱数を表示させるものでもいいのですが,折角9軸センサを搭載したM5Stack Grayを買ったので,今回はM5Stackをフリフリして数字を表示させるダイスを作ります.ダイスだけに.

ただ,ネットにいくつかあるソースコードを利用しようとしましたが,対応しているのがMPU9250を搭載しているもので,自分が買ったものはMPU6886搭載のものなので微妙に対応していないようです.

よって今回は1から作っています.ただ,私がハイパス・ローパスフィルタなどの使い方をわかっていないため,かなり稚拙な制御になってします.

以降はそれをご承知でご覧ください.


まずは加速度センサを利用して,振ったときにどれくらいGがかかっているのか計測します.

#define M5STACK_MPU6886
#define TFT_GREY 0x5AEB

#include "BluetoothSerial.h" 
#include >m5stack .h>
float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;
int mode = -1;

BluetoothSerial bts;

void setup() {
  // put your setup code here, to run once:
  M5.begin();
  M5.IMU.Init();
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  M5.update();
  M5.IMU.getAccelData(&accX,&accY,&accZ);

  if(mode == -1 || M5.BtnA.wasReleased()){
    mode++;
    mode = mode % 3;
    if(mode == 0){
      Serial.printf("accX,accY,accZ\n");
      }
    }
  if(mode == 0){
    Serial.printf("%5.2f,%5.2f,%5.2\n", accX, accY, accZ);
    }
  delay(10);
}

 シリアルプロッタで確認したものが以下です.


大体3超えるぐらいのようです.

これより以下のプログラムを作りました.
#define M5STACK_MPU6886
#define TFT_GRAY 0x5AEB

#include <M5Stack.h>

int randNumber;

float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;

void setup() {
  // put your setup code here, to run once:
  M5.begin();
  M5.Power.begin();
  dacWrite(25, 0);

  randNumber = 0;

  M5.IMU.Init();
  M5.Speaker.setVolume(1);
  
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setCursor(140, 100);
  M5.Lcd.setTextColor(BLUE);
  //M5.Lcd.setTextFont(6);
  M5.Lcd.setTextSize(7);
  M5.Lcd.printf("0");
  delay(1000);

}

void loop() {
  // put your main code here, to run repeatedly:
  M5.update();
  M5.IMU.getAccelData(&accX,&accY,&accZ);
  
  //if (M5.BtnA.wasReleased()){
  if (accX > 3.0F || accX < -3.0F || M5.BtnA.wasReleased()){
    randNumber = random(1, 101);
    M5.Lcd.fillScreen(BLUE);

    if(accX < 0.5F || accX > -0.5F){


      if (randNumber < 6){
        M5.Lcd.fillScreen(WHITE);
        M5.Speaker.tone(1046, 100);
        delay(100);
        M5.Speaker.tone(1568, 500);
        M5.Lcd.drawString(String(randNumber), 140, 100);
        }
      else if (randNumber > 95){
        M5.Lcd.fillScreen(RED);
        M5.Lcd.drawString(String(randNumber), 140, 100);
        M5.Speaker.tone(131, 100);
        delay(100);
        M5.Speaker.tone(131, 500);
        }
      else {
        M5.Lcd.fillScreen(BLACK);
        M5.Lcd.drawString(String(randNumber), 140, 100);
        }
    }
  }

}

ディスプレイをクリティカルで白色,ファンブルで赤色で光らせるようにしています.

簡易的に音も鳴るようにしています.

 

実際に動かしてみました.

振って数字が変わるという挙動はできていますが,振っている最中は数字が変わり続けるのでイカサマ感が残ります.
そのため一応ボタンでも数字が変わるようにしています.

色々対策・その他のアルゴリズムも考えてみましたが,今回は個人的タイムリミットなのでここまでにします.
フィルタを組み込んだちゃんとしたものが作れる方はぜひご教授ください!


2021年9月23日木曜日

Hacray pomi pocket gimbal レビュー

8年ぶりに満月と重なった中秋の名月をこんなにみんな興味あったかなというぐらい眺めているようです。

多くの人が上を向いているのはいいことかもしれません。


さて、一眼レフカメラなどデカくて重い機器を持ち歩きたくないので、あまりにカメラに興味はなかったのですが、1年以上前に2度いわゆるアクションカムを買いました。

今回はその1度目の方のレビューになります。

Hacray Pomi pocket gimbal

hacrayのジンバルカメラです。

Goproなどのアクションカムは撮影時のぶれを電子的に修正しますが、ジンバルカメラは物理的にぶれを修正するカメラと思ってもらえれば大体いいと思います。

同梱物は本体・シリコンケース・充電コード・説明書といたって最小限


モニター側です
特にスイッチなどはありません


底にはカメラ用の三脚などに対応したネジが切ってあります
また、マイクもここに位置しています


モニター反対側には撮影開始用のボタンがあります


起動時の状態です
このタイプのカメラではモニターは大きい方だと思います

以下スペックです
・4K, 1080p, 720pで各30fpsでの撮影が可能
・画角は広角のみ(具体的な数値は110°程度か)
・タイムラプス、ランドスケールなどの撮影モードにも対応

この他にも本体からのwifi接続とスマホの専用アプリを用いたカメラの操作及び現在写っている被写体の確認が可能です

ファームフェアのアップデートによって、パソコンの外部カメラとして用いる事も可能です



さて、これだけではカメラのレビューとしては不十分かと思われるので実際に撮影しました

さらに折角なので動画にしました
2バージョンありますが、内容は一緒です

ただ私の"知識不足"のため、動画にかなりノイズやコマ落ちが発生しています

閲覧の際はご注意ください




2021年8月31日火曜日

馬刺しを買うためだけに千葉県に行った話

公共交通機関が発達している関東では県境って意識するんでしょうか?
などと言い訳を考えつつ、例のごとく青春18きっぷが余っていたので巷で話題になっていた馬刺しの自動販売機を見に千葉県は松戸に行ってきました。


馬刺しといえば九州地方が有名ですね。
九州出身の友人曰く、九州ではスーパーの刺身コーナーに売っているような感覚で生食用の馬刺しが売っているらしいです。
なぜ千葉県で馬刺しなのか、一応個人的に調べてみました。

馬肉のことを桜肉と言ったりします。
この桜肉と呼ばれる由来はいくつかあるのですが、一説には千葉県佐倉市には江戸時代に幕府直轄の馬の牧場があり、「馬と言ったら佐倉」と言われていたことから佐倉→桜となったのが桜肉と呼ばれる起源とされています。
今でも千葉県北部では馬肉を提供する居酒屋や精肉店がそれなりにあるようです。


そんな馬肉文化が根付く千葉県に馬肉の自動販売機が登場しました。
現在、松戸市、市川市、鎌ヶ谷市に計4ヵ所設置されているようなので、以下にまとめます。

黒いピンの左上から順に時計回りで
松戸市松飛台390-5 (NTCデリバロジスティック前)
・鎌ヶ谷市新鎌ヶ谷駅前 (らぁめんものこころ新鎌ヶ谷店前)
・鎌ヶ谷市富岡1-4-64 (NTCデリバ本社工場前)
市川市本北2-23-7 (京屋酒屋店さんの店舗前)

今回は松戸にある自動販売機に足を運びました。

というわけで、東松戸駅に来ました。


京成成田空港線(北総鉄道)に乗ってもいいのですが、ケチって東松戸駅から歩きます。2.8km……いける、いけるとか言いながら土地勘のない私は住宅街を歩き出し始めました。


大通りに出てしばらく歩くと工業地帯にでます。
マブチモーターの本社ってこんなところにあったのか、などと考えながら目的地目指しながら炎天下の中を歩いていきます。


目的地付近に来ると「馬さし」ののぼりとともに、白い自動販売機が見えてきます。


かなり引きの画ですが、「World House Meat Logistics Center」と書いてあります。
馬肉専門の卸売業者のようです。


目的の24時間稼働馬刺し専用冷凍自動販売機です。
高速道路のSAにある食べ物が出てくるような自販機ですね。


すべて生食用で700円のものから1500円まで取り揃えてあります。
今回は700円のオーソドックスなものを購入しました。


購入完了
家に帰って気づきましたが、写真はパッケージの裏面です。
保冷剤効果1時間なのでどう考えても1時間以内に帰れませんが、現地を後にします。


というわけで家に到着したので開封します。
えぇ…、少ない
わずか50gです。まあ、こんなもんですよね。
写真を見直したところ、自販機にもきっちり「50g」と書かれています。
ちなみにユッケ用の辛みそだれが同梱されいます。


というわけでユッケにしました。
うん、戻し作業を怠ったためすこし冷凍感が残りますが、おいしいです。
人生でユッケなんてなかなか食べないし、いい運動にもなりました。
なにより電車代はかかってない!


今回は以上です。
早く大手を振って旅行に行けるようにならないか、待つばかりです。

2021年7月18日日曜日

2021春の東京下町旅

旅行系の記事はまだまだ書きづらい日々が続きますね。

4月某日、青春18きっぷが一回分余っていたので使い切る目的で適当に東京散策に行きました。                       


まずはこちら、巣鴨です。
山手線沿線の高岩寺を中心とした下町っぽい商店街が特徴の街です。

この巣鴨地蔵通商店街は江戸時代に整備された五街道(東海道、中山道、日光街道、奥州街道、甲州街道)のうちの中山道にあたるらしく、つまりこのまま群馬・長野を通って京都三条に至ることができるというわけです。

高岩寺では縁日のようにお守りなど小物類店舗が並びますが、今回は長年気になっていた「原田の耳かき」を入手しました。

原田の耳かきでは、職人がオーダーメイドで竹から耳かきを作ってくださいます。
事前情報では何時に開店などは分からなかったため、気長に待っていましたが、10時30頃お店の準備をしてらっしゃいました。

三種類ぐらいから耳かきの長さを決め、注文すると両の耳の形を見てもらい、心地いい方がいいか、しっかりかき出せるのがいいか訊かれ、そこから作業に入られます。
15分ぐらいで完成しました。


耳の形だけで耳かきを作られるなんてすごいですよね。


さて、お次は上野に移動します。
上野といえば国立科学博物館ですよね。
感染症対策のため、時間帯で入場者数が区切られていました。
目玉の企画展はこちら
はやぶさ2関連は撮影禁止なので周辺展示の様子を収めてきました。


初代はやぶさの1/1モデルです。

H-1ロケットのエンジンであるLE-5エンジンです。

毎度おなじみのメダル集めです。
National Museum of Nature and Scienceの文字が光っていますね。
歴代でも上位に好きなデザインです。


早くコロナ禍がおさまることを期待しつつ、
今回はこのあたりで失礼します。


2021年3月7日日曜日

Apex ミラージュのポークチョップ作ってみた

お久しぶりです。
忙しい山場を抜け、ようやく2021年初の更新に至りました。


さて、その記念すべき一発目は全く需要がない料理回です。
バトロワ系ゲームとしては好んでApex Legendsを遊んでいる私ですが、ゲーム性もさることながら私はその世界観も大好きです。
そのレジェンズの中でミラージュというキャラがいるのは周知だと思いますが、そのミラージュのセリフにはよく「ポークチョップ」という単語が出てきます。


実はそのポークチョップのレシピがあるApex内壁紙の説明文に載っています。
今回はそのレシピに大体従いながらポークチョップを再現してみます。

画面直撮りですが、レシピが載っている壁紙です。

説明文だけ拡大しました。
材料は少し特殊ですが、単純な料理のようです。

今回使用した材料です。
ポークチョップそのものはなかなか売っていないので、トンテキ用の豚肉ロース(1枚150g)で代用しました。
また、シナモンの代わりとしてパンにかけて焼くのに使うシナモンシュガーで代用します。
画像には写っていませんが、カイエンペッパーは要は唐辛子なので一味で代用します。
クローブパウダーは高いので使いませんでした。

まずはグレーズです。
たぶん表記の分量は4枚分なので1/4します。
ディジョンマスタードはともかくはちみつは多すぎると思うので、15gにまで減らします。
また、メープルシロップも3gほどにしました。
全部混ぜ合わせたものが画像の物です。

塩コショウ・一味をまぶして表面をよく焼きます。
イオンのトンテキ肉は分厚くて焼きがいがあります。

天板にクッキングシートかアルミホイルを敷き、先ほど焼いた肉をのせ、グレースをかけます。

190度のオーブンで15分焼きます。

完成です。
つけあわせは小松菜です。
あいまにたまねぎと卵のコンソメスープを作りました。


食べた感想としては「洋風甘辛ポークステーキ」です。
日本人の口にはもしかしたら合わないかもしれませんが、もしお家に材料が余っていたらやってみてください!