北の国から

忘れたことを思い出す為の記録

cppでdepthaiのxLinkやSPIOutを試す

ruru-log.hatenablog.com 上記のcpp版です。 #include <vector> #include "depthai/depthai.hpp" int main(int argc, char *argv[]){ dai::Pipeline pipeline = createPipeline(); dai::Device device(pipeline); std::shared_ptr<dai::DataInputQueue> xInQueue = device.getInputQueue("</dai::datainputqueue></vector>…

depthaiのSPIでサーボを操作する

Introduction この記事は前回の続きです。 ruru-log.hatenablog.com 前回でdepthaiを通して任意のデータを送信できました。 今回はESP32へのSPIによるデータ送信とESP側での受信処理をやります。 構成として、depthai ---< SPI >--- ESP32 ---< UART >--- PC…

depthaiのxLinkを通して任意のデータをやり取りする方法

Introduction depthai はLuxonisが作っている(?)VPUやカメラなどをひとまとめにしたデバイス(OAK-Dなど)を扱う際に必要となるライブラリです。 OAK-D-WIFI(製品として出てるのはOAK-D-IoT)にはESP32が搭載されているのでセンサのデータをやり取りしたり、ESP…

ESP32 on OAK-D-WIFIでesp-idfのuart_echoを試す

OAK-D-WIFIに乗ってるESP-32でesp-idfのexample"uart_echo"を試しました。 espのexample改変点 esp-idf側ではidf.py menuconfigをして, Echo Example Configurationにて UART RXD pinを16 UART TXD pinを17 にそれぞれ設定するだけでした。易しいね。 ハー…

stm32の開発環境をubuntu20.04に用意する

www.st.com 上記リンクから下画像のDebian Linux InstallerをDL .zipファイルがDLされるので、解凍して以下コマンドでinstallerを実行 (自分の場合は以下のバージョンでした。 コピペする場合は各位読み替えてください。) chmod u+x st-stm32cubeide_1.7.0_1…

Hiwonderのシリアルサーボを動かす

自分用まとめ データシート読んで思ったけどFUTABAのサーボとほとんど同じだった 使うサーボ LX-224 参考資料 Hiwonder公式のgoogleDriveページ DC6-7.4V動作だけど手元に6Vの用意がないのでひとまず5V電源で試す 無理なら電源装置使う ピン配置はコネクタを…

OAK-D-WIFIに乗ってるESPでサーボを動かしたい

あるもの OAK-D-WIFI サーボモータ(LX-224) 買わないといけないもの OAKに乗ってるESPのGPIOを引き出すコネクタ コネクタヘッダ買った! ハウジング買った! コンタクト買った! ワイヤ(28AWG)買った! サーボ駆動用バッテリー(6-8V) PC側で用意するもの ESP…

進捗状況とタイマ周りのやらかし

かくにんすること LED モーター ブザー スイッチ 赤外線センサ ジャイロセンサ エンコーダ 前回からの進歩 前回の投稿では 基板到着 はんだ付けと仮組み までが済んでいました. あれ以降で行ったことは, ジャイロ購入 モータ動作確認 エンコーダ動作確認 ブ…

MCP73831を用いたLiPoバッテリ充電器

イントロ 秋月で売っているLiPo充電コントローラMCP73831(商品ページ)を使って LiPoの1cell用の充電器を作って充電できたのでここに記します. 1個50円のICでこんな簡単に充電器作れるんか…と感動しています. 回路図 LiPo充電器の回路図 回路図はこんな感じで…

仮組みのお披露目

基板が届いた ガチャ結果は5枚→6枚 思ってたより好きな色味の赤でいい感じです. 上部に開いてる穴がいい感じです. はんだ付けと仮組み はんだ付けをして,モチベーションを上げるためにモーターとタイヤを取り付けました(かっこいい) めちゃめちゃ後ろ重心な…

stmでc++のプロジェクト

イントロ stm32でマイクロマウスを作るに際して,プログラムはC++でやりたいなぁと思いたった私は, インターネッツの海にもまれながらCubeMXが吐き出すmakefileをいじりました. やることといえばディレクトリの指定とgccをg++にする程度ですが. 以下のリポジトリに置いてあ…

修正基板の発注

初めに お久しぶりです. るるです. 学生ロボコンも終わったため,マイクロマウスや研究活動に本腰を入れ始めます. 去年の9月から一切更新してなかったのでこれからは更新の頻度と内容の質を上げていけたらな...と思います. さて,本題に移ります. 前回の基板の失敗点 …

Pythonにおけるリスト内包表記のメモ

C言語では int i,sum; for(i=0;i<10;i++){ sum += i; } printf("%d",sum); みたいに書く処理も Pythonなら tmp=[ i for i in range(10) ] print sum(tmp) で終わる. csvデータを受け取るときも import csv f = open(filename,"r") csvData = [map(float,data…

タイヤの作製覚え書き

材料 タミヤのギアボックス(ギヤ) 京商のMZH131W-N2(ホイール) 京商のMZW2-30(タイヤ) 外径6のベアリング 加工 ギヤの真ん中に穴をあける 8.0くらい? ミスると目でわかるくらい偏心するので慎重にやる 以上 組付け ホイールにタイヤ,ギヤ,ベアリングをはめる…

fusion上のマウス本体の外形をeagleに落とす

Fusion360での作業 マウスを設計し,スケッチで基板外形を出す. スケッチの項目を右クリックして[dxf形式で保存]をクリック 保存先を指定して完了 eagleでの作業 file-Importでdxfを選択 外形なら20Dimension, 位置合わせ用シルクなら21tPlaceなど,適宜レイヤ…

進捗

できてること ハーフ機体の設計を終わらせた けど、めちゃくちゃ基板サイズが小さい(20×20くらい) この中にマイコン等を搭載できる気がしない ハーフ作ってる人たちの頭の中どうなってるんだ… きびしさを感じたのでクラシックサイズで設計 基板サイズは100×1…

マイクロマウスへの挑戦

挑戦へのモチベーション 「個人製作で何か作りたい」 twitterとかでマイクロマウスの動画上げてる人、かっこよくないですか…? 僕も作りたいなーと思い、挑戦しようと決意。 で、とりあえず作ってみないことには何もわからないと思うので作ります。 一つでき…

Autodesk Fusion 360で干渉を計算する

まずはメニューの「検査」から「干渉」を選択する。 Ctrl押しながら干渉を計算したいコンポーネントを選択して… 計算を押すと… こんな感じに干渉してるところが赤く表示される! また,「一致した面も含める」にチェックを入れると 隣り合ってる面も表示して…

HALでUSARTしよう

はじめに HALを用いてUSARTの割り込み受信,送信をしようと思います. 使用するマイコンはSTM32F303K8T6,LQFP32をDIP32に変換したのを使います. CubeMxでの設定 Pinoutタブ 今回用いるのはUSART2(Tx:A2,Rx:A3)です. 左のツリーのUSART2を"Asyncronous"(非同期)…

便利機能のおぼえがき

vimを分割するやつ :split : 横に割れる :vsplit :縦に割れる 割った画面を消すときは:qで消える workspace切り替えるやつ Ctrl+Alt+(↑or↓or→or←) : 矢印の先のworkspaceに移動 Shift+Ctrl+Alt+(↑or↓or→or←) : chromeとかの画面を矢印の先のworkspaceに移動…

STM32F3 HALでエンコーダ入力

はじめに エンコーダのカウントをしたくなった時に割と設定とか忘れがちなのでまとめときます. CubeMx上での設定 Pinoutタブ 基本的にエンコーダでA,B相をカウントするときはCH1とCH2を使うはずです.(それ以外知らない) なのでCH1,CH2どちらも揃っているタイ…

nucleoを割ってフリスクにいれた話(雑ver)

はじめに 皆さんはnucleoというstm32の評価ボードをご存知でしょうか. いくつか種類があって,ピン数でnulceo32とかnucleo64とかに分別されます. nulceoボードには専用の書き込み回路のst-linkが内蔵されており,nucleo64ボードではそれば分離できるようになっ…

秋月に売っているSTM32チップ周辺の接続について

はじめに 秋月電子で売っているstmチップには2つ種類があります. ・stm32f303k8t6 ・stm32f042k6t6 どちらにもnucleo32ボードが存在するので,初めて触る方はそっちを勝ったほうがいいと思います. 今回はチップを扱う場合に周辺のピンを今の僕がどうしている…

STM32F303k8+HALで相補PWM生成を試す(Qiita修正版)

内容 CubeMXでの設定 生成されたプログラムへの追加点 CubeMxでの設定 まず,303k8用にprojectを作成します. 今回はnucleo-303k8を使っていきます. 初期状態はこんな感じです。 pinoutタブ ツリーのPeripheralsからTIM1を展開し,Channel1の設定を PWM Generat…