
ArduinoでLチカしてみる
はじめに
こんにちは。リテールアプリ共創部のYahiroです。
Lチカというのを皆様はご存知でしょうか。Lチカとは読んで字の如く、LEDをチカチカさせることです。
プログラミングの入門としてHello Worldというのがありますが、それの電子工作版のようなものですね。
私は、生まれてから今日に至るまで電子工作というのを一度もしたことがなく、、いつかはやってみたいと思っていたのですが、思い立ったが吉日、Lチカに挑戦してみました。
ということでこの記事は、素人の私がLEDをチカチカさせるまでをまとめてみたものになります。
Arduinoって何?
Arduinoはイタリアで開発されたマイコンボードです。その最大の特徴は、ソフト・ハードともにオープンソースとなっており、公式のボードのみならず互換ボードも数多く出回っており、非常に安価に入手することができます。
ラズパイとの違いはOS搭載の有無です。ArduinoはOSを搭載していないマイコンボードに分類されるボードです。対して、ラズパイはOSを搭載しているため小型のコンピュータと言えると思います。
以上の違いにより、Arduinoは手軽に電子工作を試せる反面、ラズパイのように高度な環境の制作(Webサーバの構築など)は難しいボードとなっています。
ボード | OS有無 | 処理できる量 |
---|---|---|
Arduino | 無し | 少ない |
Raspberry Pi | 有り | 多い |
しかし、Arduinoは拡張性がかなり高く、単体では基板のみですが、各種センサやWifiアンテナなどの拡張部品が存在しているため、組み合わせ次第でかなり色々なことが実現可能なものになっています。追々試してみたいなと思います。
Arduinoの開発環境
では具体的にどのように開発をするのでしょうか。
Arduinoには専用のIDEが準備されており、下記からダウンロードが可能です。
Mac、Windows、Linux各環境に用意されているため、環境構築を簡単に行うことができます。
Arduinoでは、Arduino言語という独自言語で実装を行います。独自言語と言いつつ実際のところはC、C++をベースに作られているようです。そのため、かなりとっつきやすい言語となっています。
用意したもの
今回必要なものを紹介していきます。
・Arduino UNO R4 MINIMA
ボード本体、今回の主役です。
・ブレッドボード、ジャンプワイヤ、LED、抵抗
基板を構成する各部品です。
環境構築
早速環境構築をしていきます。
前述の通りですが、ArduinoにはIDEが用意されています。
下記から、お手元の環境に合わせてダウンロードしてください。
インストールが終わると以下のような画面になります。
基板組み立て
実際に動作させる基板を組み立てていきましょう。
まず、Arduinoのデジタル出力の13番とブレッドボードの+、GNDとブレッドボードの−を接続します。
続いて、電源ラインの+と部品エリアをジャンプワイヤで接続します。
次に抵抗を取り付けていきましょう。
抵抗の片方の足は先ほど電源ラインからジャンプワイヤを引っ張ってきた列、もう片方は、左側の少し離れたところに取り付けます。
いよいよLEDの取り付けです。LEDの足が長い方を抵抗と同じ列に、足の短い方を左側の少し離れたところに取り付けます。
最後に、LEDのカソードを接続した列と電源ラインのマイナスを接続しましょう。
完成するとこのような形になります。
スケッチ
続いて、スケッチを実装していきましょう。
Arduinoでは、コードのことをスケッチと呼びます。
void setup() {
// 13に接続して電気を出力したいので、13とOUTPUTを設定
pinMode(13,OUTPUT);
}
void loop() {
// HIGHで出力(5V)、LOWで停止(0V)になります。
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
それぞれの関数については以下になります。リファレンスも併せてご確認ください。
setup()はArduinoの起動時に一度だけ実行されます。変数などの初期化に使用しましょう。
loop()はその名の通り、setup()の次に実行され繰り返し実行されます。
digitalWriteは指定したピンにHIGTまたはLOWを出力します。
実装ができたら、ArduinoのUSB端子とPCを接続しましょう。
接続し、PCが認識したらIDEのボードの選択を該当のArduinoにして、ボードにアップロードしてください。
LEDが点滅したら成功です。お疲れ様でした。
おわりに
電子工作はいつかやってみたいと思いながら、ずっと苦手意識があって手をつけられずにいました。
やってみると、作ってみたいものの構想が出てきたので色々挑戦してみたいと思います。
参考