【Arduino】フルスクラッチでドローン作ってみた〜準備編〜

## イチからドローンを作って組み込みを学ぼう！！
### 目的
今までオフショア開発のPMや社内Salesforceエンジニアをやってきたのですが、やっぱりものづくりがしたい、空を目指したい…ということで、ドローンエンジニアを目指すべく、まずはその第一歩としてドローン作りに挑戦した次第です

### 前作：DJI NAZA M-V2
半年前にも自作ドローンに挑戦しましたが、その時はDJIからリリースされているキット：DJI NAZA M-V2を用いました

https://www-v1.dji.com/jp/naza-m-v2.html

![IMG_9063.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552819/d98e3cb2-2594-07d2-da0f-5b96bb60a6e0.jpeg)
結果ちゃんと飛んだのですが、基本的にはプラモみたくキットのパーツを組み上げるだけで完成しましたので、ドローンを作るからには制御の肝であるフライトコントローラーからやってみたい…と思い、今回はマイコンであるArduinoを使ってフライトコントローラー作りからトライしました。

## まずは基礎勉強
さて、フライトコントローラーを作ろうにも、いかんせん組み込みエンジニアリングの経験も知識も無いので、まずは基本的な勉強から始めました。

### C++の勉強：C++入門 AtCoder Programming Guide for beginners (APG4b)
しばらくコーディングから離れていたので、まずは基礎トレとして友人の勧めで競プロのC++教材を一通りやって手を動かしました。
結果このあとのArduinoのコード（スケッチ）の読解にかなり役立ちました

https://atcoder.jp/contests/APG4b

### 組み込み・Arduinoの勉強：技術書
次に、Arduinoを用いた組み込み開発の基礎を押さえるべく、入門書を何冊か読んで、実際に手を動かして演習問題にも取り組みました

https://amzn.asia/d/34buTgA

https://amzn.asia/d/7U5Hrmm

https://amzn.asia/d/0hO5yyC

https://amzn.asia/d/cypeGJA

https://amzn.asia/d/1k8gM6Z


### 制御の勉強：書籍・動画
大学は工学部で機械系を専攻していたので制御もやっていたのですが、さすがに7年以上経ってだいぶ忘れてきたので、PID制御を中心に改めて勉強し直しました

https://www.udemy.com/share/103cMo3@L66--I9i5wLzqIeho1ZNCieEHShMFqCJcYkxS6w7BtZVFrKwpvKXMF6RMy9MHuBzkQ==/

https://amzn.asia/d/gHc2dZU

### ヘリコプター工学の勉強：書籍

今回のドローン作りに直接役には立ちませんでしたが、今後ドローンを作っていくにあたって必要だと思ったのと、単純におもしろそうだったので図書館で借りて読みました

https://amzn.asia/d/eNxmeyz

## ありがとうJoop Brokkingチャンネル！！
さて、基礎勉強をしたは良いが、どこから手を付ければよいのやら…と考えながら調べていたところ、Arduinoを用いたドローン作りをされているオランダの技術系YouTubeチャンネル：Joop Brokkingに出会いました。

https://youtu.be/XFxqFQwRumc?si=G0i2KNG98ompPX8z

このチャンネルでやっていたドローン作りがまさに自分がやろうとしていたことで、且つ動画の詳細欄に貼られているリンク先からArduinoスケッチをダウンロードできるではありませんか…！

http://www.brokking.net/ymfc-al_main.html

正直、調べれば調べるほどイチからドローンの制御をプログラムするのはかなり難しいことがわかり、これは初めての組み込みプロジェクトとしては難しすぎたかな…と思っていたところだったので、今回はこのプログラムを利用することに決めました。

それってフルスクラッチと言えるのか…？というツッコミは当然その通りなのですが、いかんせん初学者なのでそこは勘弁してください…結果このコードを読み解いていくだけでもかなり勉強になりましたんで…

というわけで、Joop Brokkingのプログラム、動画、HPを参考にドローン作りを勧めていくことにしました。

動画ではシリーズで丁寧にドローン作りのイロハが解説されていて、大いに助かりました。
このチャンネルがなかったら無理だった…

余談ですが、オランダ訛り？の英語で結構クセ強で聞き取りづらいです…且つ古い動画なのでYouTubeの字幕も使えないため、気合で聞き取って理解するしかないです笑
強いて言えば再生速度を0.75とかにして繰り返し再生するとだんだん解ってきます

## パーツ集め
あとは必要な部材さえ集めれば準備は完了です。
基本的な工具や部材はもともと持っていましたが、今回のドローンづくりに用いた主な部材は以下の通りです

### マイコン：Arduino UNO…のパチモン（？
今回の肝となる、フライトコントローラーを担うマイコンボードです。以前Amazonで購入したArduinoキットについていたサードパーティーのArduinoボードです。純正じゃないけど良いのかな…？と思いつつ製作を進めていたのですが、結果問題ありませんでした
![IMG_1849.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552819/94e08c9c-3a5b-b02c-5796-110e273414c3.jpeg)

### ジャイロ：MPU-6050
６軸ジャイロ（並進・回転の加速度計）です、Joop Brokkingの動画で用いられていたジャイロと同じものを選びました
![IMG_1844.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552819/0aaa4454-27f1-4f7c-555c-2f9f2e2de1aa.jpeg)

### フレーム・ESC・モーター：DJI E305
その昔DJIが出していた自作ドローンのキットです。現在は販売されていませんので知り合いの特殊なルートを通じて入手しました。似たようなキットはAmazonで普通に売ってたりしますのでそっちでも問題ないです。

https://www-v1.dji.com/jp/e305.html

![IMG_1829.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552819/80aec90e-7216-a55a-024a-3a624d712f0f.jpeg)

### 送受信機：Futaba T6K・R3006SB
送信機のプロポは元々マイクロドローン、ミニヘリ用に持っていたものをそのまま使いました。
受信機ですが、実はケチってAmazonで格安の得体のしれないメーカーの受信機（技適は通ってるらしい）をポチったのですが、完全に見間違えでフタバとの互換性がなく（S or T-FHSSが使えない）、結局安物買いのなんとやらになってしましました…そして前回のドローンづくりに使ったこの受信機を今回の期待に移植することに

https://www.rc.futaba.co.jp/products/detail/I00000263

https://www.rc.futaba.co.jp/products/detail/I00000016

※使えなかった受信機、フタバとの互換性が無い

https://www.amazon.co.jp/gp/product/B0BVVTK11M/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1

### バッテリー：Youme Power 3S リポバッテリー、11.1V 
Joop Brokkingの動画で用いられていたバッテリーが3セルのリポだったので、同じセル数で且つそれなりの容量のあるものを選びました。
車用を想定しているのか放電レート(C)は50とドローン用にしてはそこまで高くありませんが、FPV機みたくキビキビ飛ばす予定もないのでコレで良しとしました

https://www.amazon.co.jp/gp/product/B086QQ1KRJ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1


他にもフレームとバッテリーを繋ぐプラグやコード類などもありますが、ドローン作りの主な専用部材は以上で、あとは基本的な工具やはんだ付けの道具類を用いました。



以上が準備編です、次の記事ではプログラムについて解説しますので、ぜひそちらもご覧ください！

【引用】
・YouTube：Joop Brokking

https://www.youtube.com/@Joop_Brokking

・HP：Brokking.net

http://www.brokking.net/ymfc-al_main.html




◯第2弾：プログラム解説編

https://qiita.com/michiaki_kondo/items/d42d6934fbee85ee311a

◯第3弾：実機組み立て・PIDチューニング編

https://qiita.com/michiaki_kondo/items/a3d9addabed8d774bfaa