#author("2022-10-21T15:46:30+09:00","ifdl","ifdl") [[FrontPage]] *22.10.20 myCobot 280のセットアップ [#u30f9fd7] -電源は先端のM5Atomと底部のDCジャックに供給する。 -初期ファームウェアはmyStudioから、Basic>mainControlで書き込める。 --参考:https://docs.elephantrobotics.com/docs/gitbook-en/4-BasicApplication/4.1-myStudio/ **UiFlowで使う [#td2b44e8] +底部のM5Stack BasicにUiFlowのファームウェアを書き込む。 --M5Atomの方は初期ファームウェア(atomMain)のままで良い。 +普通にUiFlowを使ってプログラミングする。 --コマンドブロックは下の方のThird Party>MyCobotに入っている。 **Arduino IDEで使う。 [#g69e73ad] &color(red){下記のやり方でライブラリをインストールしても、実行時にコンパイルエラーになる。対処方法が分かった方は教えてください...}; -Github:https://github.com/elephantrobotics/myCobot --ダウンロード後、解凍してmyCobot-main\Arduino\MyCobotBasicをArduino IDEのライブラリフォルダに入れる。 -公式ライブラリ:https://www.elephantrobotics.com/en/downloads/ --色々入っているが、必要なのはMyCobotBasic(とM5Stack)だけ。これをArduino IDEのライブラリフォルダに入れる。 -参考:https://docs.elephantrobotics.com/docs/gitbook-en/10-ArduinoEnv/ *22.10.20 M5StackのI/Oまわり [#k7951d53] **GPIO [#zb107bbd] -無難に使えるピン --Port B, StickCにはG26とG36が出ている。 --Basicの側面にはG2とG5がGPIOとして出ている。 --CORE2のM-BUSにはG19とG27がGPIOとして出ている。 --G34以降は入力専用かつプルアップもプルダウンも不可。 -ESP32自体の仕様(一部のピンは内部で使用中。裏蓋等参照。) --デジタル入力:全ポートで可能 --デジタル出力: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) ---BASICのG25はスピーカーに接続。 参考:[[https://lang-ship.com/blog/work/esp32-gpio/#アナログ入力]] **各通信規格のデフォルトでの割り当て [#x7dad2c7] -当然、各ピンは下記の用途で使用中はGPIOとしては使えない。基本的には下記以外のピンでも問題ない。 :SPI(Serial Peripheral Interface)|同期通信で、マスター・スレーブ関係がある。 :|SCK:Serial Clock :|MISO:Master In, Slave Out :|MOSI:Master Out, Slave In :|CS:Chip Select(スレーブの数だけ必要) ::SPI|ESP32と内部FLASHの通信に使用される。 ::|SCK G6 ::|MISO G7 ::|MOSI G8 ::|CS G11 ::VSPI|液晶画面(DMA1)やSDカード(DMA2)との通信に使用。下記のピンはM-BUSにも出ているが、DMA1のため液晶画面との併用不可。 ::|SCK G18 ::|MISO G19(CORE2ではG38) ::|MOSI G23 ::|CS G5(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) :I2S (Inter-IC Sound)|2chのPCM音声データを伝送する。 :|SCK:Serial Clock :|WS:Word Select/LRCK:Left-Right Clock :|SD:Serial Data :|MK:Master Clock ::I2S|他のピンでもよい。 ::|SCK G12 (CORE2ではSPIと同じG18) ::|WS/LRCK G13 (CORE2ではG0) ::|SD_Out G15 (CORE2ではG2) ::|SD_In G34 (内蔵マイク) ::|MK G0 (CORE2では指定なし) *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 //デモスクリプトの実行~