Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software + Hardware = Fun++

Software + Hardware = Fun++

Nagono Tech in Touch #1

ITO Akihiro

May 15, 2024
Tweet

More Decks by ITO Akihiro

Other Decks in Programming

Transcript

  1. ©2024 connectome.design inc. / ITO Akihiro Software + Hardware =

    Fun++ 2024.5.15 Nagono Tech in Touch #1 ITO Akihiro
  2. ©2024 connectome.design inc. / ITO Akihiro 伊藤明裕/ITO Akihiro • connectome.design

    inc.:シニアアーキテクト [ https://connectome.design/ ] • AIプロダクト開発・導入コンサルティング、AI人材育成支援 自己紹介 情報処理 安全確保支援士 第007287号 G検定 E資格 生成AI DS検定 GX検定
  3. ©2024 connectome.design inc. / ITO Akihiro 今昔話を少し。 昔 • IBM3090

    / MVS / Assembler(証券オンライン) • HP / HP-UX / C, C++(FS-X空戦シミュレータ開発用のCASEツール) • NeXT / NeXTSTEP / Objective-C(購買管理、給与計算システム) • Open系 / Linux / PHP + PostgreSQL, MySQL(各種webDBシステム) • その他、Sun Spark、IBM System88、DEC VAX-11、SGI…… • よく使うエディタ:vi 今 • Cloud系 / kintone, Google Workspace + GAS(業務改善アプリ) • 機械学習系 / Jetson, ubuntu, Python, PyTorch, scikit-learn, OpenCV, Llama…… • よく使うエディタ:vi
  4. ©2024 connectome.design inc. / ITO Akihiro 最近増えたガジェット。 • MINGDA 3Dプリンター

    • PiCoder • ActiveBuds(ChatGPT組込みイヤホン) • PICO 4 • EMAX Tinyhawk II(FPVドローンセット) • HOVERAir X1 Smart
  5. ©2024 connectome.design inc. / ITO Akihiro PiCoder - Compact DIY

    Raspberry Pi Pico Learning Kit https://shop.sb-components.co.uk/products/picoder-compact-diy-raspberry-pi-pico-learning-kit
  6. ©2024 connectome.design inc. / ITO Akihiro 「PiCoderの出番が訪ずれたのでは?」 • PiCoderのRasPi PICOで動かせるはず。

    • GPS HAT探す→L76B GPSモジュールがすぐ見つかる→マルツオンラインで発 注。2600円。 • 外で動かせるように5Vの電源確保→手持ちのモバイルバッテリーでOK。 • コード書く→[次へ]
  7. ©2024 connectome.design inc. / ITO Akihiro GPS座標の距離計算→概要は知っていたが実装面倒くさい。 • 座標値の差の二乗和の平方根、ではない。 地球は丸いのだ。

    • 面倒なのでChatGPTにお願いする。 Prompt:「2地点間のGPS座標から距離を計算するPythonコードを書いて。数百メートル程度 までの精度でよいです。」 →Haversine公式を使ったコードをばっちり書いてくれた。 (一部コード抜粋) R = 6371000.0 # 地球の半径(m) a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2 c = 2 * atan2(sqrt(a), sqrt(1 - a)) distance = R * c # 2点間の距離(m)
  8. ©2024 connectome.design inc. / ITO Akihiro 基本ロジック。 1. 起点の座標を取得して保持。 2.

    移動中の現在地を更新しながら距離計算。 3. 閾値を超えたらブザーを鳴らす。 しかし!デモ的にはこれではつまらん。 せっかく色々ついてるので使いたい!
  9. ©2024 connectome.design inc. / ITO Akihiro 「やっぱりビリビリっとさせたい」 やはりビリビリっとしたいよね、でも危ないかもね、ってことで探してみ ると「電子びっくり箱キット」を発見。こちらもマルツオンラインで購入。 1100円。

    久しぶりにハンダゴテ使って組み立て。 ちょっと間違えたりしたけど、無事ビリッとくる回路が完成。 これを、PiCoderのRelayに繋ぎ、 閾値超えたタイミングで relay1.on() とするだけ。簡単簡単。
  10. ©2024 connectome.design inc. / ITO Akihiro 動作の可視化は大事。 • 取得した座標をリアルタイムでモニターに表示。 •

    起点からの距離を2個のLEDで表現。 起点は白、現在地は青、閾値に迫ったら黄、超えたら赤点滅。 可視化のおかげでドキドキ感(?)が大幅アップ。
  11. ©2024 connectome.design inc. / ITO Akihiro ハードとソフト合わせて遊べる点が最高。 あれこれ組み込まれているおかげでアイデアも膨らむし、 すぐ実装して動かせるので楽しい。 •

    構想と設計:数日間なんとなく考えてた • コード量: main.py:約300行 picoderControl.py:約70行 picoderLEDMatrix.py:約160行 • 実装期間:半日 x 2くらい。 イベントドリブンではなくループ待機処理なので ステータス管理が若干面倒。 • 初治験者:Special Thanx to @tarimo34, @repondreyou1 完成品
  12. ©2024 connectome.design inc. / ITO Akihiro 伊藤明裕/ITO Akihiro • 秘密結社ビリビリ団

    おしまい。 ©2024 Secret Society BiliBili Gang / ITO Akihiro