カメラモジュール(ハードウェア編)
ハードウェア:Unit Cam Wi-Fi Camera (OV2640)
メーカー:M5STACK社
ESP32-WROOM-32E、OV2640を搭載したカメラモジュール
https://docs.m5stack.com/en/unit/unit_cam
カメラの差し直し
購入時、少しずれていたのが気になったので修正。
黒い部分が90度回るように開くしくみ。
ピンヘッダの実装
3pin×2の計6ヶ所のはんだ付け
これを実装。
手前下の部分に、はんだ付けされたピンヘッダが3つ見える。
プログラム書き込み用のUSB-TTLシリアル変換ケーブルを用意
USB to TTL Serial Cable – Debug / Console Cable for Raspberry Pi
https://www.adafruit.com/product/954
変換ケーブルのドライバをインストール。
「CP2102 USB to UART Bridge Controller」のデバイスドライバをインストールする。
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/software-installation-windows
この基板CP2102のドライバは提供されていなかったので、同じモジュールを使っている他の会社のものをインストールすることにする。
Pololu社のドキュメントのダウンロードリンクから入手。
CP2102 USB-to-Serial Bridge Driver Installation
https://www.pololu.com/docs/0J7/all
問題:USB-TTLシリアル変換ケーブルの端子数が足りない
持っているシリアル変換ケーブルの端子が4本なのに対して、データシートで用いられている変換機の端子は6本
USB-TTLシリアル変換ケーブルのサイトの説明を読む。
赤の電源、黒のアース、USB ポートへの白の RX、USB ポートからの緑の TX です。
このケーブルは、Boarduino、MENTA、Monochron などの Arduino の再プログラミングには適していません。ブートローダーの再起動シーケンスを開始するために必要な DTR/RTS ワイヤがないためです。そのためには、FTDI ケーブルまたは FTDI フレンドをお勧めします。https://www.adafruit.com/product/954
FTDI ケーブルのサイトの説明を読む。
端に 6 ピン ソケットがあり、5V の電源とグランド、および 3V ロジック レベルの RX、TX、RTS、および CTS があります。これらは、Boarduino、Meggy’s、またはその他の Arduino クローンおよび派生物、および Fuzeboxen での使用に最適です。XBeeなどの TTL シリアル デバイスと通信する場合に便利です。https://www.adafruit.com/product/70
DTR/RTSワイヤとはなにか?
「ブートローダーの再起動シーケンスを開始するために必要な DTR/RTS ワイヤ
ESP8266にDTRとRTSで自動書き込みをする」の記事に書いてあること。
ESP8266のリセット回路はこのようになっています。IO0ピンをLにした状態で立ち上げる(リセットする)とブートローダーが起動し、UARTからプログラムが書きこめるようになります。すなわち、IO0と~RESETのスイッチを両方押して、~RESETを離してからIO0を離して書き込みボタンを押すという操作が必要になります。 https://days-of-programming.blogspot.com/2018/05/esp8266dtrrts.html
DTRで相手にこちらの端末が生きていることを伝え、RTSでデータ受け入れ可能であることを伝えます。
解決:シリアルデータの送受信はTX-RXだけで行っている。
DTRとRTS信号は、端子に電圧をかけることで偽装できる。
IO0ピンをLにした状態で立ち上げる→G0ピンをGNDに接続する。
シリアルの配線
回路図を見ながら配線する。
黒:GND
赤:電源(5 V500mA)
白:RX(3.3V)
緑:TX(3.3V)
データシートの回路図と配線図を見ながら、TX-RXが交差するように配線。
プログラム書き込み時は、GNDとG0を接続する。
次回は、Arduino-IDEを用いて、プログラムを書き込んでいく。