#author("2023-11-15T12:47:50+09:00","ifdl","ifdl")
#author("2023-11-15T13:26:48+09:00","ifdl","ifdl")
[[FrontPage]]
#contents

*コメント [#k4d996e8]
#comment

*23.11.15 MAXREFDES280#の評価ソフトで評価を実行 [#zfe3979d]
-評価ソフトをインストールして実行したが、エラーが出て開始できなかった。
-ダウンロードページの"Requires .NET 4.7.2 and Visual C++ Redistributable Packages for Visual Studio 2013 (x86) to run."という記述を見落としていた。
-"Visual Studio 2013 の Visual C++ 再頒布可能パッケージ"をインストールしたら実行できるようになった。

*23.11.13 PPG(光電式容積脈波記録法)センサの評価ボード [#f8de3c97]
-EVAL-ADPD4000Z(評価ボード)
--https://www.analog.com/jp/design-center/evaluation-hardware-and-software/evaluation-boards-kits/eval-ADPD4000Z-PPG.html
-MAXREFDES280#(リストバンド型)
--https://www.analog.com/jp/design-center/reference-designs/maxrefdes280.html

*23.10.11 ffmpegでH.264動画をJPEG画像に変換 [#s287fa46]
-Could not open file : エラー(img/img00001.jpg av_interleaved_write_frame(): Input/output error)が出た。
--出力先のディレクトリimgがすでに存在していないとエラーになる。
-"ffmpeg6 ''-r 50'' -i exp23.mp4 'exp23img/img%05d.jpg'"と~
"ffmpeg6 -i exp23.mp4 ''-r 50'' 'exp23img/img%05d.jpg'"は違う。
--後者は50fpsで静止画にする(1秒あたり50枚の画像になる)。前者は30fpsで静止画になる(なぜ?)


*23.06.13 Arduino IDE (Windows)で書き込みができない [#hc11f634]
-Windows Security > ランサムウェアの防止 > コントロールされたフォルダアクセス でブロックされていた。
-一度許可すれば以降は大丈夫そう。

*23.06.12 PicoScope 3205Bを使う [#kcbfa921]
-https://www.picotech.com/downloads にソフトウェアあり。
-3205Bは候補にないが、3205Dからダウンロードしたものが使えた。
-Windows, Mac, Linux対応。

*23.05.30 M5Paper_FactoryTestへの機能の追加 [#f575e0f9]
-https://kainokikaede.hatenablog.com/entry/2021/04/17/184233
-loop()の中のEPDGUI_MainLoop()の中のEPDGUI_Run(frame)の中にあるwhile(1)が各フレーム(ホーム画面or各アプリ)の表示後から終了までループし続ける。

*23.05.10 Mosquittoで端末外部からアクセスできない [#ic3a5ca4]
-初期状態だとlocal only modeになっているため。
-https://qiita.com/ekzemplaro/items/95c31c684a2faef656d1

*23.05.09 Address already in use になった時 [#fe8df7a2]
-https://qiita.com/arashida/items/8b8d9d2f1f040b2aecf1
--$ sudo lsof -i:ポートNo
--$ sudo kill [該当のPID]

*23.05.01 M5Stackでのアナログ入出力 [#x2e7d0f3]
-入力:G35, 36あたりが無難。PULLUP, PULLDOWNが必要ならG2, 27あたり。
--G36:PortBの外側(白色線)。
-出力:G25,26のみ可能。
--G25:Basicではスピーカーと併用。使用しない時のノイズが気になる場合は「pinMode(25,OUTPUT); digitalWrite(25,LOW);」を入れる。
--G26:PortBの内側(黄色線)。


*23.04.13 SG90サーボ [#r4f858b4]
-黄色の線:信号用
-茶色の線:GND
-赤色の線:Vcc
-PWM Period: 20 ms (50 Hz)
-Duty Cycle: 0.5 ms (-90º) - 2.4 ms (90º)

*23.04.10 ゼミの日程調整 [#x6518d0a]
-アカンサスポータルに日程調整・簡易投票の機能がある。1行が1候補、時間割の時間を自動入力できて便利。リンクを生成するので、学外との共有もできる。

*23.04.09 新年度にやること [#t50be80e]
-顔合わせの日程決め
-ゼミの日程調整
-新歓の日程調整
-席替え
-Webサイトのメンバー表更新
-作業日誌等の学年更新

*23.01.20 7階共用コピー機をMacで使うための設定 [#ia5caa26]
-ドライバのダウンロード
--https://www.fujifilm.com/fb/download/apeosport/7_c7773
--Mac OS のバージョンを選択する。
--「FUJIFILM Mac OS X PPDファイルインストーラー」をダウンロードして実行する。

-プリンタの追加
++システム設定.appを開き,サイドバーで「プリンタとスキャナ」をクリックする。
++「プリンタ、スキャナ、またはファクスを追加」を選択する。
++「IP」ボタン(地球マーク)を選択して,次の通りにプリンタ情報を入力する。
---アドレス: copy-7f.ec.t.kanazawa-u.ac.jp (or 133.28.139.7)
---プロトコル: LPD(Line Printer Deamon)
---ドライバ: しばらく待つと自動で選択されるが,もしされなければ「ソフトウェアを選択」を選択して,リストから「FF K013s for ApeosPort-VII C7773 vX.X PS H2」(vX.Xはバージョン番号)を選択する。
++「’copy-7f.ec.t.kanazawa-u.ac.jp’を設定中」が表示されるので,下記の通りに設定する。
---排出オプション: フィニッシャーC3(2穴/4穴パンチ)
---「製本トレイ」と「大容量給紙トレイ」にチェックを入れる。

-印刷時の設定
--この設定は印刷の度にしなければならないっぽい。
++プリントダイアログを開く。
++「プリンタオプション」の「認証情報」をクリックする。
++「認証情報の設定」を選択し,次の通りに設定する。
---User IDの指定: IDを入力する
---User ID: 228(コピーカード参照)
++「プリンタオプション」の「グラフィクス」をクリックする。
---「カラーモード: 白黒」にする。

*23.01.11 Windows Subsystem for Linuxの有効化 [#xaf858d5]
-https://learn.microsoft.com/ja-jp/windows/wsl/install
+UEFIで仮想化を有効にする。
+Windowsの機能の有効化または無効化(スタート→Windowsシステムツール→コントロールパネル→プログラム)で「Linux用Windowsサブシステム」と「仮想マシン プラットフォーム」を有効化して再起動する。
+https://aka.ms/wsl2kernel から「x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」をインストールする。
+WSL2を規定にするためコマンドプロンプトで下記のコマンドを実行する。
wsl --set-default-version 2
+Linuxディストリビューションをインストールする。

*22.11.8 OAK-1でのgen2-gaze-estimation [#cd28a024]
-USB-Cポートが上になる向きが正しい
-視線の向きは、x軸はカメラ側から見て左が正、y軸は上が正
-頭の向きは、x軸(赤)はカメラ側から見て左が正、y軸(緑)は上が正、z軸(青)は手前が正

*22.10.20 myCobot 280のセットアップ [#u30f9fd7]
22.10.24追記
参考:https://docs.elephantrobotics.com/docs/gitbook-en/4-BasicApplication/4.1-myStudio/
-電源は底部のDCジャックから供給する。M5StackとATOMのUSBポートはファームウェアの書き込みにのみ使用する。
-初期ファームウェアはmyStudioのBasicカラムから書き込める。
-研究室にあるmyCobot用のファームウェアは下記の通り。
--BASIC:minirobot v1.0
--ATOM:AtomMain v4.1
--&color(red){注意:minirobot v2.0とAtomMain v5.1は2022年7月以降、minirobot v2.1とAtomMain v6.1は2022年9月30日以降出荷分向け。研究室にあるmyCobotでは正常に動作しない。};
**UiFlowで使う [#td2b44e8]
参考:https://docs.elephantrobotics.com/docs/gitbook-en/5-ProgramingApplication-myblockly-uiflow-mind/5.2-UIFlow/
+底部のM5Stack BasicにUiFlowのファームウェアを書き込む。
--M5Atomの方は初期ファームウェア(atomMain v4.1)のままで良い。
+普通にUiFlowを使ってプログラミングする。
--コマンドブロックは下の方のThird Party>MyCobotに入っている。
--&color(red){UiFlowではサーボのidが下から2-7の順になっているため、1-6しか指定できないブロックでは一番上のサーボは動かせない。(2022年10月現在)};
**Arduino IDEで使う。 [#g69e73ad]
参考:https://docs.elephantrobotics.com/docs/gitbook-en/10-ArduinoEnv/
+Arduino IDEにライブラリ(MyCobotBasic)をインストール
--Github:https://github.com/elephantrobotics/myCobot
---ダウンロード後、解凍してmyCobot-main/Arduino/MyCobotBasicをArduino IDEのライブラリフォルダに入れる。
--公式ライブラリ:https://www.elephantrobotics.com/en/downloads/
---色々入っているが、必要なのはMyCobotBasic(とM5Stack)だけ。これをArduino IDEのライブラリフォルダに入れる。
+Unicodeを使えるようにする
--参考:https://inoookov.hatenablog.com/entry/2021/02/05/150325
--Arduino/libraries/M5Stack/src/utility/In_eSPI_Setup.h の最下部に #define USE_M5_FONT_CREATOR を記載/コメントアウトを外す
-なぜかMyCobotBasic.cppとMyCobotBasic.hでMyCobotBasic::isInPositionがコメントアウトされているため、一部のスケッチ例でエラーになる。その時は2か所のコメントアウトを外せばOK。

*22.10.20 M5StackのI/Oまわり [#k7951d53]
**各通信規格とデフォルトでの割り当て [#x7dad2c7]
:SPI(Serial Peripheral Interface)|同期通信で、マスター・スレーブ関係がある。
:|SCK:Serial Clock
:|MISO:Master In, Slave Out
:|MOSI:Master Out, Slave In
:|CS:Chip Select(スレーブの数だけ必要) 
::VSPI|液晶画面(DMA1)やSDカード(DMA2)との通信に使用。M-BUSにも出ているが液晶画面との併用不可。
::|SCK G18
::|MISO G19(CORE2ではG38)
::|MOSI G23
::|CS 適当なGPIO(SDカード:G4、LCD:G14(CORE2ではG5))
::HSPI|ESP32のデータシートには下記のように記載があるが、他のピンでもよい。
::|SCK G14
::|MISO G12
::|MOSI G13
::|CS G15

:I2C (Inter-Integrated Circuit)|同期通信。スレーブアドレスを指定する。
:|SCL:Serial Clock
:|SDA:Serial Data
::I2C (Wire)|&color(red){Port A};に出ている。
::|SCL G22(StickC, CORE2ではG33)
::|SDA G21(StickC, CORE2ではG32)
::internal I2C (Wire1)|Core2では内部のI2CとPort Aが分離された。
::|SCL (CORE2ではG22)
::|SDA (CORE2ではG21)

:UART (Universal Asynchronous Receiver Transmitter)|非同期通信。1対1で通信する。
:|RX:受信データ
:|TX:送信データ
::UART0 (Serial)|USB-C端子に出ている。
::|RX G3
::|TX G1
::UART1 (Serial1)|M5Stackでは使えない。M5StickCでは使える。
::UART2 (Serial2)|&color(blue){Port C};に出ている。
::|RX G16(CORE2ではG13)
::|TX G17(CORE2ではG14)

:IIS (Inter-IC Sound)|2chのPCM音声データを伝送する。
:|SCK:Serial Clock G12 (CORE2ではSPIと同じ)
:|WS:Word Select G13 (CORE2ではLRCK:Left-Right Clock G0)
:|OUT G15 (CORE2ではG2)
:|IN G34 (内蔵マイク、Basic系のみ)
:|MK:Master Clock G0 (Basic系のみ)

:PDM|StickC、Core2のマイク入力はIISではなくPDMになっている。
:|CLK:Clock G0
:|DAT:Data(input) G34

:DAC|デジタルからアナログへの変換器で、アナログ出力に必要。
:|G25,26の2つのみ。G25はスピーカーと併用している。
:|G26はPort Bに出ている。

:ADC|アナログからデジタルへの変換器で、アナログ入力に必要。
:|G35,36が推奨だが、32-39なら可。
:|G36はPort Bに出ている。

:GPIO|その他の用途。Port BにはG26,36が出ている。
:|BasicではG2,5、Core2ではG19,27が割り当てられているが、他の未使用のピンでも良い。
:|G34以降は入力専用かつプルアップもプルダウンも不可。

**ESP32自体のGPIO仕様 [#zb107bbd]
-デジタル入力:全ポートで可能
-デジタル出力:G0-G33で可能
-アナログ入力:G36-39,32-35(ADC1_CH0-7)、G4,0,2,15,13,12,14,27,25,26(ADC2_CH0-9)
--ADC1は常時使用可能だが、ADC2は無線通信と排他的。
-アナログ出力:G25(DAC1)とG26(DAC2)

参考:[[https://lang-ship.com/blog/work/esp32-gpio/#アナログ入力]]

*22.10.13 OpenCV AI KIT (OAK)のインストール方法 for macOS [#i2443a45]
公式Webサイト: https://docs.luxonis.com/projects/api/en/latest/install/#supported-platforms~
Windows用のみインストーラ有り

ターミナルで以下を実行する。GitやPython3がインストールされていなくても、実行時にコマンドライン・デベロッパツールのインストールを求められるので、事前準備は不要。~
$ git clone https://github.com/luxonis/depthai.git    //gitからデモスクリプトをダウンロード~
$ cd depthai~
$ python3 install_requirements.py    //追加で必要なパッケージをインストール~
$ python3 depthai_demo.py    //デモスクリプトの実行~