最終更新日
記事公開日

マイコン開発に必要な『プログラミング』を習得する方法(ラズパイ・Python)

マイコン開発に必要なプログラミングの習得方法

「ラズパイを使って何か動かしたいけど、プログラミングが分からない」

「プログラミングを覚えたいけど、どうやって学習していいのか分からない」

今回は、このように悩んでいる方に見て頂きたい記事です。

私が実際にプログラミングを覚えた体験談を元に、ムダなく最速でプログラミングを学習する方法について書いてみます。

基本は独学

独学でプログラミングを勉強する男性

「ラズパイ」や「Arduino」といったマイコンの制御に用いられるプログラム言語は、比較的、学習のしやすいプログラム言語が採用されています。

例えば、「Python(パイソン)」

Pythonは、ラズパイを制御するためのプログラム言語として、現在の主流となっています。

Pythonは元々、機械学習や人工知能の開発現場において「プログラマーではない研究者でも簡単に扱える」という事から、人気に火がつきました。

よって、プログラム未経験の人でも、独学での習得は十分可能です。

入門書は不要

本は不要

「さープログラムを勉強するぞぉ!」と意気込んで、とりあえずプログラミングの入門書を一冊買ってくる人がいますが、このやり方はNG。

ほぼ100%の確率で挫折します。

なぜダメなのか?

それは「プログラミングを覚えたい」が目標になっているからです。

まずは、

「プログラムで何がしたいのか?何を作りたいのか?」

を決めることが大事です。

例えば、

  • スマートロックを作りたい
  • アルコール自動噴射機を作りたい
  • ロボットを作ってみたい

のように具体的な目的を決めます。

やることが決まったら、あとはその目的に向かって動くだけ。

ネット検索を活用して、情報を集めましょう。

プログラムを完成させるコツは、必要なときに必要な情報だけを探し出すこと。

書籍は必要ありません。

本に書いてあることをいちいち覚えていたら、時間がいくらあっても足りません。

Lチカで実践

やりたいことは決まりましたか?

とはいえ、いきなり難易度が高すぎるものをだと困るので、ためしに以下の練習課題に取り組んでみて下さい。

【練習課題】

マイコンを使って、LEDを光らせる

この「LEDを光らせる」という課題は、マイコン制御の基本中の基本『Lチカ』と呼ばれる課題です。

Raspberry Pi Pico上のLEDが点滅

一見、簡単そうに思えるかもしれませんが、

  • モジュールの読み込み
  • 信号を送るピンの設定
  • LEDを点灯させるためのプログラム
  • LEDや抵抗など、電子部品の選別
  • マイコンの初期設定

などなど。

基本を抑えるためのさまざまな課題が隠れています。

最初は、かなり苦労するかもしれません。

何度もつまづくことがあるでしょう。

しかし、ネットで検索すれば、そこに答えは書いてあります。

例えば、

ラズパイ Lチカ

とGoogleで検索すれば、情報は大量に出てきます。

もちろん、調べるだけではダメです。

自分の手を動かして、実際にやってみることが大事です。

参考:Raspberry Pi PicoでLチカ

さて、実はこのLチカさえできてしまえば、もうプログラミングは難しくありません。

あとは実践あるのみ。

調べて→ 試して→ 躓いて → 調べて→ 試して→ 躓いてを繰り返す作業です。

プログラミングは、実際にコードを打つ時間が1割。

調べている時間・考えている時間が9割です。

プログラミングとは、ほとんどが答えを探すための作業です。

挫折する理由

プログラミングに挫折

「いざ、プログラミングに手を出してみたものの、途中でやめてしまった」

「なんだかプログラミングへの熱が冷めてしまった」

こんな感じで、プログラミングを挫折してしまった人は多いはずです。

おそらく、プログラミングを始めた人のうち、9割くらいは挫折しているのではないでしょうか。

プログラミングを挫折してしまう理由。

それは「分からないを解決できないから」です。

例えば、RPGゲームを思い浮かべてください。

RPGゲーム画面

次にどこに行けばいいのか?何をすればいいのか?

ゲームだったら、村人に聞くなり、攻略本を見るなり、ネットで検索するなりすれば、すぐに答えが見つかります。

ところが、プログラムの場合はそう簡単にはいきません。

みんなが同じ目的に向かうゲームとは違って、プログラムは目的や手段がそれぞれ違っています。

つまり、調べても、正解があるとは限らないわけです。

例えば、ラズパイでLEDを光らせようとしたとき。

電源を投入しても、うまく光りませんでした。

そんなとき、

「ラズパイ LED 光らない」

こんなキーワードで検索しても、解決までの道はほど遠いです。

考えられる原因が多すぎます。

例えば、

  • ラズパイが壊れているかもしない
  • LEDが壊れているのかもしれない
  • 抵抗値が合っていないのかもしれない
  • 電源の電圧が合っていないのかもしれない
  • プログラムが間違えているのかもしれない
  • プログラムがうまく書き込めていないのかもしれない
  • ケーブルが断線しているのかもしれない

などなど。

今パッと考えただけで、これだけあります。

もしこのまま数日間も問題が解決できなかったら、そりゃ、飽きますよ。

モチベーションが下がってしまう気持ちは痛いほど分かります。

挫折の対処法

ひらめいた男性

では、挫折しないためにどうすれば良いのか?

方法は3つあります。

  1. モチベーションが上がるまで放置
  2. やり方を変えてみる
  3. プログラミングスクールを利用する

1.モチベーションが上がるまで放置

そもそもプログラミング学習に挫折はつきものです。

私だって習得するまでに、何度か挫折しています。

また、やる気が出てくるまでひたすら待ちましょう。

待っている間は挫折とは言いません。

充電期間です。

次にやる気が出てくるの、数日後かもしれない。

数ヵ月後かもしれない。

数年後かもしれない。

もしかすると、ずっと来ないかもしれません。

でも、それでもいいじゃないですか。

もしずっとやる気が起きないのなら、それくらいの情熱しかなかった。

それが分かっただけでも収穫は十分です。

そのときは、プログラミング以外のことにも挑戦してみましょう。

2.やり方を変えてみる

とりあえず、問題さえ解決してしまえば、挫折を食い止める効果はあります。

今までとは違ったやり方で、強引にでも問題を解決してしまうのも一つの手です。

例えば、

  • マイコンをラズパイからArduinoに変えてみる
  • 電子工作に詳しそうなブログに直接コメントして聞いてみる
  • Twitterで検索してみる
  • 最初からやり直してみる

などなど。

ずっとネット検索だけに頼っていると、頭がガチガチになっている場合があります。

意外と、プログラムは自分のミスに気付けないものです。

やり方が変わると、見る角度も変わります。

ふとした瞬間に「あ、もしかして・・・」と、ヒントが見つかることも多いです。

私の場合、お風呂に入っているときに、ふと解決策を思いつくことがあります。

あれだけパソコンの前で「分からない・・・」と頭を抱えていたのに、コードを書いていない時の方が良いアイディアが思い浮かぶので、不思議なものです。

原因が分かると、「あ、なんだ!そんなことか」という経験が山ほどあります。

やり方を変えるのは、思い込みを捨てるための良いきっかけになります。

3.プログラミングスクールを利用する

「プログラミングスクールなんて金のムダ!」

「独学できる奴じゃないと、まともなプログラムは書けない!」

昔の私は、こう思ってました。

でも、時代は変わりましたね。

  • Pythonのようにプログラミング未経験でも習得しやすい言語の登場
  • WEB系のような覚えたてのプログラミングでも出来る仕事が増えた
  • 独学でムダな時間を費やしてる場合じゃない

昔は独学しかなかった

そもそも昔は、独学以外に習得する方法が無かったんです。

まだまだインターネット上にもプログラミングの情報が乏しかった。

だから、バグが起きるたびに一つ一つしらみつぶしに原因を探していくほかありませんでした。

たくさんムダな時間を費やしました。

私の場合、プログラミング習得までにおそらく5年くらい掛かってます。

もしあの頃、プログラミングスクールのような「分からないことがあったら、すぐ聞ける」という環境が整っていたら、もっと短期間で習得できていました。

勉強代を取り返せる時代

今の時代の何が良いかって、勉強にお金を掛けても、その分取り返すチャンスがありふれてるってことです。

昔はプログラムの仕事と言えば、大手のシステム開発くらいしかありませんでした。

ところが今は、小さいお店や企業でも、ホームページやWEBシステムを導入しています。

最近、フリーランスという働き方を選ぶ人が増えてきた背景には、こういった「個人で受注できる仕事が増えてきた」ということも関係しているでしょう。

無料体験で十分

マイコンで使用するプログラムは、それほど複雑なコードではありません。

一か月も勉強すれば、十分習得できるような難易度です。

正直、数十万円もするような高額なプログラミングスクールは必要ありません。

ただ、プログラミングスクールには「無料体験」や月額制の「サブスク」が用意されています。

それらをうまく利用すれば、大金を払わなくても、プログラミング習得のスピードアップが可能です。

プログラミングスクール比較

プログラミングスクールについて調べてみたら、かなり数がありましたので、

  • 無料体験の内容
  • Pythonの取り扱いがあるか?

に絞って、オススメ順に紹介してみます。

1.Tech Academyの無料体験

Tech Academy無料体験

Tech Academy無料体験の詳細ページはこちら

Tech Academyは、決められた期間の中でプログラミングを習得するブートキャンプ系のオンラインプログラミングスクールです。

無料体験は一週間(※Pythonコースの選択は不可)

無料体験で用意されているのは、一週間のWEB系プログラミングのカリキュラム。

無料体験ではPythonコースを選択することはできませんが、この無料体験、意外と役に立つはずです。

注目して欲しいのが、以下の3項目。

5.変数

6.数値計算

7.条件分岐

これらは、プログラミングの基本中の基本です。

プログラムのほとんどが、この3つを組み合わせて作っていると言っても過言ではありません。

JavaScriptを使った講習になるとはいえ、プログラムのベースは同じ。

大事なのは、とにかく何か一つのプログラム言語を習得すること。

どれか一つ習得してしまえば、Pythonだって、Arudino言語だって、簡単に習得できます。

ちなみに私も、WEB系のプログラミングがスタートしました。

HTML → CSS → JavaScript → Perl → PHP → SQL → Python 

という道をたどってます。

チャットによるコードチェックもしてくれるみたいなので、分からないことがあったら、聞きまくりましょう。

実際に入会するとなると、Pythonコースの料金は20万円近くします。

AIとか機械学習を本業にしたいなら入会するのもありですが・・・

ラズパイで使う程度のプログラミングなら、そこまでの講習は不要です。しなくていいかな。

2.SAMURAI ENGINEER Plusの無料体験

SAMURAI ENGINEER Plus

SAMURAI ENGINEER Plus無料体験の詳細ページはこちら

SAMURAI ENGINEER Plusは、人気・知名度No.1のプログラミングスクールです。

Plusが付いてない本家は高額料金コースですが、こちらは月額制のサブスクプラン。

だいたい月3,000円くらい。

これくらいがプログラミングスクールの適正価格でしょうね。

フルで試せる一ヵ月(※クレカ登録が必須)

無料体験は、最初の一ヵ月。

ただし、無料体験を受ける前に「クレカ登録」という高いハードルが用意されています。

人間、お金を払うときよりも、財布の紐をほどくときの方が抵抗を感じると言われていますからね。

クレカを登録させてしまえば、そのまま継続して有料会員になってくれる確率はグーンと上がる。それが狙いです。

でも「3,000円払ってでも続けてみたいなぁ」と思えば、それは本心です。

サービスに満足できたって事なので、ぜひ続けて下さい。

むしろ問題なのは、3,000円払って続かなかったとき。

お金を払っても取り組めないなら、プログラミングの習得は確実に無理です。

すぐに解約してください。

でも、それは別に悪いことではありません。

「プログラミングへの情熱がそれほどなかった」というだけの話です。

無料体験(お試し入学)の内容

無料体験(お試し入学)の内容は、本プランと同様に月一回のオンラインレッスンが付いてきます。

教材を進めて行くうえで分からないことがあったときは、Q&A掲示板に質問を投稿します。

当然ですが、プログラミングスクールの掲示板は質が高いです。

Yahoo知恵袋のようにトンチンカンな回答をされることはありません。

おそらく、掲示板を担当している講師陣には「掲示板に返信したら報酬〇〇円」みたいな制度があるのではないかと思います。

でなければ、プログラムの質問に答えるのは大変です。

特に相手が初心者の場合、返信するために必要な情報が足りないことも多いです。

例えば、

  • 何がしたいのか?
  • 制限はあるのか?
  • 現在、どんな状況なのか?
  • 何を試したのか?
  • どんな環境でテストしているのか?

などなど。

その状況によって、ベストな回答は違ってきます。

たった数百文字で回答できるのではありません。

一往復で終わらず、何度もやりとりすることも多いでしょう。

それでも最後まで付き合ってくれるのが、プログラミングスクールの大きな魅力です。

3.PyQの無料体験 

PyQの無料体験

PyQ の詳細ページはこちら

PyQは、Pythonを専門を扱う月額制のプログラミングスクールです。

ライトプランが月額3,040円、スタンダードプランが月額8,130円。

ただし、Q&A掲示板を使った学習サポートを利用するには、スタンダードプランの契約が必要です。

また、質問できる内容として、「Raspberry PiなどのIoT関連機器内のプログラムはPython学習サポートでサポート対象外」という注意書きがあります。

よって、マイコンのプログラミング学習向きではありません。

無料体験でPythonの腕試し

PyQの有料プランはそれほど魅力的ではありませんが、無料体験で挑戦できる課題は使えそうです。

Pythonを使って「おみくじ」「じゃんけんゲーム」を作るメールプログラムが用意されており、実力試しにちょうど良い感じ。

プログラミングを学習するには、目的が大事ですからね。

もし、これで「おみくじ」「じゃんけんゲーム」の課題をクリアできるようなら、ラズパイに必要なPythonのスキルは、もう十分身についています。

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報