どうも、なかしー(@nakac_work)です。
僕は自動車や家電製品にプログラミングを行う組み込みエンジニアとして働いています。子供のころからロボットが好きで、中学生のときに電子工作を始めました。
電子工作を始めるときに、どのプログラミング言語を選ぶかによって実現できることや将来性が変わります。
僕は今までに3つのプログラミング言語を勉強しました!
- C言語
- BASIC言語
- Python言語
電子工作を通してプログラミングを勉強していたおかげで、組み込みエンジニアに転職するときに3社から内定をもらうことができました。
プログラミングを行うことで、論理的思考(ロジカルシンキング)を鍛えたり、将来性を広げたりできると僕は思います。
電子工作でプログラミングを学んでおいて良かった!
この記事では「電子工作向けのプログラミング言語」について解説します。
タップできるもくじ
電子工作におすすめなプログラミング言語は?
おすすめなのは「C言語」です。
理由は次の通りです。
- ほとんどのマイコンに対応している
- 他のプログラムへの汎用性が高い
- 就職や転職のときに役立つ
最近はマイコンを使った電子工作が主流です。
マイコンとはプログラミングで自由に動かすことができる電子部品で、人間で例えるなら頭脳にあたります。
電子工作の入門書でよく使われているマイコンは「Raspberry Pi」と「Arduino」の2つです。
Arduino(アルディーノ)はArduino言語という独自のプログラミングで動作します。Arduino言語とC言語はほとんど同じなのでC言語を勉強していれば、Arduino言語も使えると思います。
Raspberry Pi(ラズベリーパイ)はC言語でも動作します。
電子工作におけるC言語は、世界共通言語の英語みたいな存在です。
C言語を学んでおけば、プログラミングを行うマイコンが変わっても対応できます。
C言語は他のプログラミング言語と比べて難しい
C言語は電子工作に一番適したプログラミング言語なんですが、とても難しいです。僕は今までに3回ぐらい挫折しました。
C言語が難しい理由は、プログラムの書き方や難しい英単語が多くて覚えることがたくさんあるからです。
僕がC言語でプログラミングできるようになったのは、教えてくれる人の存在が大きいです。エラーが起こった時や思い通りに動かせないときに質問できる人がいると良いと思います。
プログラミングは手段にすぎない
色んなプログラミング言語を勉強して感じたのはプログラムは目標を叶えるための手段にすぎないということです。
電子工作でマイコンを使ってモーターを制御するときに、僕たちが日本語でマイコンに命令をしても、マイコンは0と1しか認識できないのでピクリともしません。
僕たちがやりたいことをマイコンに認識させるためにプログラムを使っています。プログラムをマイコンが認識できる0と1に変換しているから思い通りに動かすことができています。
プログラミングを行う上で大事なのは、やりたいことを実現するアイデアを考えることです。
スクラッチでアイデアを出す訓練をする
C言語などのプログラミング言語を勉強する前に、スクラッチでアルゴリズム(問題を解く手順)を勉強しておくのがおすすめです。
スクラッチは無料でアルゴリズムを勉強できるサービスです。小学校の授業でロジカルシンキングの学習教材としてスクラッチが使われるそうです。
言葉とブロックを組み合わせることで何かしらのプログラムを作ることができます。難しい英単語がなく、プログラムで作ったものが思い通りに動く楽しさを実感するのに、スクラッチは最適だと思います。
緑色の旗を押すと1から5までの数字をランダムに表示する例を下に貼っておきます。
電子工作に高度な技術を取り入れる場合は
ディープラーニングや画像認識など高度な技術を使いたい場合はPython(パイソン)言語がおすすめです。
Python言語は高度な技術を誰でも簡単に実現できるようにライブラリというものが無料で公開されています。
ライブラリとは、プログラムを簡単に呼び出すことができる辞書みたいなものです。画像認識をPython言語で実現した時はライブラリのおかげで30行ぐらいで済みました。本来ならもっとたくさんのプログラミングを書く必要があるはずです。
C言語と組み合わせて使えると最強です。
電子工作向けのプログラミング言語|まとめ
この記事では「電子工作向けのプログラミング言語」について紹介しました。
電子工作に向いているプログラミング言語はC言語です。理由はどのマイコンもC言語に対応しているからです。しかし、機械学習や画像認識など高度な技術を電子工作に取り入れるならPython言語も勉強するのがおすすめです。
電子工作に欠かせないマイコンについて知りたい人はこちらの記事がおすすめです!
>>電子工作におすすめなマイコン【現役のエンジニアが紹介】