初心者歓迎!Arduinoで初めるC言語プログラミング(機器導入編)‐サンプルプログラムあり

知識勉強
ArduinoUNO外観
ArduinoUNO外観
ArduinoNano外観
ArduinoNano外観
コードプログラミング

この記事は、こういった声をサポートしていきます!
Arduino初心者歓迎シリーズ:機器導入(今ここ)、文法編実践①実践②実践③実践④

・Arduinoやってみたいけど、よくわかんないや!

・順番に手取り足取り教えてほしい!

今回は、導入から接続チェックまでになります。初めての方でも迷うことないように1手順ずつスクリーンショットを貼ってありますので、順番に進めていってください。

やってみれば簡単なんてことは言いません。初めての方にとってはハードルが高くとっつきにくいの、私もわかります。私もそうでした。ちょっとずつステップアップしていきましょう!

最近はビジュアルプログラミングが有名にもなりましたが、コードを書くことやってみようと思える方は、ビジュアルプログラミングを挟まなくても、良いと私は思います。

あれはあれで、癖がありますし、それを覚えるくらいなら、コードから入って、それで肌に合わなければ、ビジュアルを経由して、ステップ踏んでからコードに入れば良いと思います。

とはいえ、最初で躓くとやる気が削がれてしまいますから、ゆっくり進めていきましょう。

実際に作りたいものがあると、やる気も湧いてくるかもしれません。なくても、おもちゃ感覚で作ってみても良いですね。役立つこともあるかもしれないです。

そんな興味を持って、お越し頂いた方々をサポートできるよう進めていきます。

まずもってArduinoとは何か?

すでにご存知のかたもいるとは思いますが、
Arduinoは、マイクロコントローラ(以下、マイコン)を搭載したオープンソースのハードウェアと、それをプログラムするためのソフトウェアのことを指します。マイコン自体はむちゃくちゃいろんなメーカや種類があります。なんのこっちゃ、という方にもわかりやすいように紹介と解説をしていきます。

Arduinoの特徴は、プログラミングにおいて、C言語を使用していることです。Arduinoは、非常にシンプルな言語構文で構成されているため、初心者でも簡単に扱えます。またライブラリと呼ばれる機能をまとめたモノが数多くあり、サンプルスケッチも豊富にあるため初心者には嬉しいポイントです。

また、マイコン単体だと、PCとつないだり、電源を用意したり、マイコンを動かすために回路を用意する必要がありますが、『ボード』と呼ばれるALL in One Packageみたいな状態ですぐ使える状態にして販売しています。これも初心者に嬉しいところです。

マイコンとして購入し易いのはPIC(ピック)マイコンです。Microchip社が供給しています。私はPICからスタートしました。当時はそんなにサポートツールみたいなの充実してなくて。データシートを読み取ってました。今思えば大変な作業でした。

デメリットは、値段が高くなりがち。なところでしょうか。arduinoに使われるマイコンの機能全部を使って、物を作るってあんまなくて。その使わないところにもお金はかかっています。

以下、Wiki引用載せておきます。

Arduino(アルドゥイーノ もしくは アルデュイーノまたはアルディーノ)とは、(ハードウェアの)「Arduinoボード」、および(ソフトウェアの)「Arduino IDE」から構成されるシステムである。Arduinoボードは、AVRマイコン、入出力ポートを備えた基板であり、Arduino IDEはC言語風の「Arduino言語」によってプログラムを制作・コンパイル・デバッグ等し、それをArduinoボードに転送 等々するための「統合開発環境」と呼ばれる、PC上で作動させる一種のソフトウェアである。

https://ja.wikipedia.org/wiki/Arduino

C言語とは何か?ArduinoでC言語を使う理由について

C言語は、1970年代に開発されたプログラミング言語で、現在でも広く使用されています。
学んで損はない言語です。

C言語は、メモリ管理が必要な場合に強力な言語であり、Arduinoは、メモリが制限されたマイクロコントローラで動作するため、C言語が最適な言語となります。ArduinoでなくてもPICやその他のマイコンでも同様に使える言語です。

もっと噛み砕いて表現すると、
プログラムは『人間がマイコンに与える命令』です。
マイコンは、そのプログラムに従って行動を起こします。
マイコンに命令するのに適した言語がC言語です。

どんな行動が取れるかは人間の命令次第ですが、何でもかんでもできるわけではありません。

よく勘違いされてる方が居ますが、魔法のように何でも出来ると思ってる人、中身は簡単と思ってる人が経験上います。中身に応じて難易度も変わります。

じゃあ、何ができるのかというと、スターターキットみたいな商品を参考にするとイメージしやすいかと思います。LCDという文字表示の画面や、LED何かのインジゲータ、PC側との通信で、情報のやりとり、スイッチによる動作、色々なセンサによる周囲の監視、直接モータのような電流を使う部品を動かすのは苦手ですが、あいだにちょっとした電子回路や、パーツを挟むことで、それも可能になります。

パーツをちょこちょこ買い集めると、結局高くついてしまうので、0から始める人はスターターキットの購入をオススメします。私も何セットか購入してみました。別記事で投稿していきます

ELEGOO Arduino用のUNO R3 最終版スタータキット UNOチュートリアル付 (63 Items)

ELEGOO Arduino用UNO R3スターターキット レベルアップ チュートリアル付 mega2560 r3 nanoと互換

色々とできるのですが、アイデアが閃かないと結局何に使えるのか、みないな状況に陥りがちです。

Arduinoで検索すると、色々でてきますので、面白そうと思ったものを動かしてみると興味もでてくると思います。プログラムの理解はあとからでもいいと私は思います。
電子回路も、プログラムも、パズルを組んでいくようなものです。パーツはネットに転がっています。
それぞれのピースをはめながら、自分の動かしたいようにしていきます。

モータを動かす、LEDを光らせる、押しボタンで起動する、センサ(例えば明るさセンサ)で起動する、とか、パーツで検索するといくらでも出てきます。まずはどれでもいいです。それをパクりましょう。動かなかったら別のパクって動かしてみればいいのです。
まずは皆さんが興味をもったその気持ちを、そのままに行動に移すことが、次に続けていくサイクルになると思います。もちろん購入したスターターキットのガイドに従ってもOK。

Arduino IDEのインストールと基本的な使い方を学ぶ

Arduino IDEをインストールし、アプリケーションを実行する方法を学びます。Arduino IDEの基本的な機能やツールを使用して、Arduinoプログラミングに必要な基本的な要素を作成し、コンパイルして実行します。

まずはArduino IDEをインストール

このArduino IDEというソフトでプログラム(命令)を書いていきます。IDEというのは統合開発環境を英訳したものです。Arduinoのプログラムを書いたり、マイコンに書き込んだりをサポートしてくれるソフトです。無料で使えます。
https://www.arduino.cc/

画像の順番に辿って、ソフトをダウンロードしていきます
(2023年4月時点のスクリーンショットです)
寄付やアンケートが、途中でてきますが、しない選択肢があるので、画像に従い進んでください。
(マイコンが違えば、違うIDEが存在します。PICというマイコンだとMPLAB IDEというもの)

TOPページ
インストール種類
寄付したければ、どうぞ
アンケート答えたければ、どうぞ
同意する
そのまま次
ちょっと待ちます
完了&実行
初回起動だけ少し待つ
アクセスを許可
こっちもアクセスを許可
新しいファイルあるよ聞かれたら「INSTALL ALL」
Arduinoのドライバーインストール、許可を求められたら「OK」

まずは、簡単な使い方

使用するボードを選びます。

スターターキットについてくるならUnoか、他に手に入れやすいのはNanoかなと思います。
Arduinoオリジナルでも、互換品でも構わないです。私が今まで購入したことあるのはKKHMF製、ELEGOO製、Aidepeen製あたりの互換品を使ったりしています。そこら辺はご自由に。

USBケーブルでボードと接続します。
認識されるとPortのところに『COM数字』が増えます。数字が何番かはその時次第です。
ケーブルを抜いてToolから開き直すと減ります。もし他にUSBで繋いでいる機器があれば『COM数字』がいくつかあるかもしれません。その時は抜き差しで変わる項目を選択してください。

【COMが増えない方】
Q:USBケーブルが充電専用ケーブルだったりしないでしょうか。
A:試しにケーブルを変えてみましょう
Q:Arduinoのドライバーをインストールしないを選んだりしなかったでしょうか
A:もう一度、インストールし直しましょう
Q:製品はArduinoでしょうか。Seeeduinoなど互換品でも少し異なるものもあります。
A:専用のドライバーがあります。メーカのページに行ってみてください

COMを選んだら、下記の画像の右矢印のアイコンをクリックします。このアイコンがボードに書き込むボタンになります。覚えておきましょう。
すると一番大きなウィンドウのsketch~のタブの空のプログラムが、ボードに書き込まれます。
成功すると、下のウィンドウに似たようなメッセージが表示されます。

赤い文字でerror~が表示されると何かが失敗しています。Portを選び間違えていないか、お使いのボードと、選択ボードがあっているか確認ください。

これで下準備は整いました。

サンプルプログラムを動かしてみましょう

サンプルを下記のように開きましょう。開くサンプルはBlink(点滅)です。

選択すると、新しいウィンドウが開きます。
開いたウィンドウの書き込みボタン(右矢印のアイコン)を押します。

下記がプログラムの解説です。翻訳と、ちょい追記しただけです。

/*
  Blink
  Turns an LED on for one second, then off for one second, repeatedly.
  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products
  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman
  This example code is in the public domain.
  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
// the setup function runs once when you press reset or power the board
// セットアップ関数は、リセットボタンを押すかボードの電源を入れた時に1度だけ実行されます
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  //内蔵LEDをデジタルの出力ピンとして初期化します
  pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
// ループ関数は、セットアップ関数の後に実行されて、無限ループして何度も繰り返し実行されます。
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
                                    //LEDを点灯させます(HIGHは電圧レベル)
  delay(1000);                      // wait for a second
                                    //1秒待ちます
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
                                    //電圧をLOWにしてLEDを消灯させます
  delay(1000);                      // wait for a second
                                    //1秒待ちます
}

setup()により、内蔵LEDがつながっているピン(Unoならデジタル13)を出力として使えるようにします。

loop()を繰り返すので、LEDつける、1秒まつ、LED消す、1秒まつ、loop()の先頭に戻ってLEDつける、1秒まつ、を繰り返すことでLEDを点滅させています。

まとめ

いかがだったでしょうか。簡単だったでしょうか。それとも難しかったでしょうか。

最後まで出来た方は、素晴らしいです。初めて挑戦する方にとってはハードル高かったのではないでしょうか。実際に使うものを作り出すと、もっと楽しくなると思いますが、そこまではもう少しステップアップが必要となります。少しずつやっていきましょう。

私のブログでも、ちょこちょこやっていきますので、またお越しいただければと思います。

この記事を書いた人
ユカタキ

私、気になります!
自分でやってみたくなる性格の私は、電子工作、プログラム、3Dプリンター関連の事などの情報を発信しています。
社会人から電子工作を始め14年、電験3種一発合格、2021年から3DプリンタをDIYに活用。
そんな私が、まだまだ調べながらではありますが、ほかのDIYユーザー皆さんのためになるようなことを心がけています

ユカタキをフォローする
知識勉強
ユカタキをフォローする

コメント