#author("2022-10-24T13:09:38+09:00;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] **各通信規格とデフォルトでの割り当て [#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 //デモスクリプトの実行~