• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2022-10-21T15:46:30+09:00","ifdl","ifdl")
#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]
**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としては使えない。基本的には下記以外のピンでも問題ない。
**各通信規格とデフォルトでの割り当て [#x7dad2c7]
: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のため液晶画面との併用不可。
:|CS:Chip Select(スレーブの数だけ必要) 
::VSPI|液晶画面(DMA1)やSDカード(DMA2)との通信に使用。M-BUSにも出ているが液晶画面との併用不可。
::|SCK G18
::|MISO G19(CORE2ではG38)
::|MOSI G23
::|CS G5(SDカード:G4、LCD:G14(CORE2ではG5))
::HSPI|ESP32のデータシートには下記のように記載あり。他のピンでもよい。
::|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)

: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では指定なし)
: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    //デモスクリプトの実行~