# フライトコントローラの仕様 [toc] ## 外形と機能 TODO: 外形写真を入れる。番号を振る 上面図(top view) 側面図(side view) 前面図(front view) 1. OLED(有機EL) 2. GPIOポート 3. 拡張SPIポート 4. ESP32アンテナ 5. 電源ケーブル 6. 汎用LED 7. 電源スイッチ(スライドスイッチ) 8. micro USBポート 9. 汎用ボタン(内蔵) 10. RESETボタン 11. 汎用ボタン(タクトスイッチ) 12. 拡張UARTポート(JST XH端子) 13. 拡張I2Cポート(JST XH端子) ### OLED(有機EL) * 型番: SSD1306 * 解像度: 128 x 64 * 電源電圧: 5V * 通信方式: SPI(開発ボードの内部接続) OLEDはESP32開発ボード内でSPI接続されている。電源は開発ボード上の5V昇圧回路によって供給される。 :::info **Tips** OLEDとは発光ダイオード(LED)に有機物を使用したもの。これを集積したものがディスプレイとして用いられている。有機ELと同義。液晶がバックライトの光を偏向しているのに対し、画素そのものが発光するため明るい場所での視認性が高い。 ::: ### GPIOポート GPIOポートは発展的使用のために確保されている。ピン配置は後述する。 ### 拡張SPIポート 拡張SPIポートは発展的使用のために確保されている。ピン配置は後述する。 ### ESP32アンテナ ESP32が2.4GHzを使用するためのアンテナ。内蔵のWiFiとBluetoothで用いる。 発展的使用のために確保されている。 (例:遠隔操作) ### 電源ケーブル フライトコントローラとLiPoバッテリーを接続しているケーブル :::danger 決して傷つけないように。ショートするとバッテリーが発火する恐れがある。 ::: ### 汎用LED 汎用LEDはGPIO32と接続されている。用途は指定しない。GPIO32はPWMに対応しているため、```ledcWrite()```関数によって明るさを変化させることができる。 (使用例: 機体の準備ができたら光らせる) ### 電源スイッチ(スライドスイッチ) | 状態 | 機能 | | ---- | -------- | | OFF | 電源オフ | | Charge | 充電(サーボに給電しない) | | ON | 電源オン(サーボに給電する) | ### microUSBポート microUSBケーブルを接続することでESP32に書き込みができる。 また、電源スイッチがChargeかONになっていれば(Chargeを推奨)、内蔵のLiPoバッテリーを充電できる。 :::info ESP32と接続できない場合は、microUSBケーブルが通信に対応しているか確認すること ::: ### 汎用ボタン(内蔵) ESP32の開発ボードに搭載された汎用ボタン。 ### RESETボタン RESETボタンを押すことでフライトコントローラが再起動する。書き込み後、動作しない場合はRESETボタンを押すことで解決する場合がある。 ### 汎用ボタン(タクトスイッチ) タクトスイッチはGPIO17と接続されている。用途は指定しない。使用する際は、ESP32の内部プルアップ抵抗を設定すること。 > pinMode(17, INPUT_PULLUP); // 17番ピンを入力(プルアップ付き)に指定する (使用例: 機体のリセット) ### 汎用ボタン(タクトスイッチ) | 状態 | 出力 | | ---- | -------- | | 押している | LOW | | 離している | HIGH | ### 拡張UARTポート 拡張UARTポートは発展的使用のために確保されている。ピン配置は後述する。 (例:GPS) ### 拡張I2Cポート 拡張I2Cポートは発展的使用のために確保されている。ピン配置は後述する。 (例:気圧センサー) ## システム図  > Tactile Switch = タクトスイッチ ## ピン配置(Pinout) | ピン番号 | 用途 | | -------- | ---------- | | 12 | PWM1 | | 2 | PWM2 | | 27 | PWM3 | | 26 | PWM4 | | 25 | PWM5 | | 33 | PWM6 | | 17 | 汎用ボタン | | 32 | 汎用LED(PWM) |
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up