わかめの開発日記

ArduinoやRaspberry Pi で作ったものを紹介します

Arduinoを使ってLチカをする

f:id:wakamelab:20200531145803j:plain

Arduinoを使ったLチカの方法を紹介。

こんにちは、wakamelabです。
Arduinoを使ってLチカをやってみたので、その方法を紹介します。

Lチカとは何か?

Lチカとは、LEDを点滅させることです。
電子工作のキモは I/Oピンの制御です。
I/OピンにHIGH、LOWを出力しLEDを点灯、消灯させるLチカはまさにI/Oピン制御の基本です。
電子工作の初歩の初歩であり、プログラミングで言う所の『Hello world』にあたります。

使用するもの

Arduino UNO 本体 :1個
・ブレッドボード:1個
・LED:1個
・330Ω抵抗:1個
・ジャンパー線(オス-オス):2本

手順① Arduino IDE を使ってプログラムを作成する

Arduinoを使った開発では、Arduinoの標準的な開発環境であるArduino IDEを使用します。
Arduino IDE で使用するプログラミング言語C言語と一部のC++の機能です。
基本的には、C言語と同じ書き方で実装できます。

ここから以降は、Arduino IDEをインストールしていることを前提に説明を行います。
インストールがまだの方は、以下の記事を参考にインストールを行ってください。
wakamelab.hatenadiary.com

Arduino IDEのアイコンをダブルクリックして、Arduino IDE を起動してください。
f:id:wakamelab:20200522003008p:plain

Arduino IDE が起動すると、このようにテキストを入力できるウィンドウが立ち上がります。
f:id:wakamelab:20200522003037p:plain

setup()関数は、Arduinoが起動した時に一度だけ実行される関数です。
関数の名前の通り、I/O ピンやタイマーの初期化に使用します。

loop()関数は、Arduinoが起動している間繰り返し実行される関数です。
実行したい処理はこの関数の中に記述します。

では以下にLチカのサンプルプログラムを紹介します。
このプログラムをArduino IDEに記述してみてください。

#define LED 7

void setup() {
  pinMode(LED, OUTPUT); //7番ピンを出力に設定
}

void loop() {
  digitalWrite(LED, HIGH);  //LED点灯
  delay(1000);              //1秒待機
  digitalWrite(LED, LOW);   //LED消灯
  delay(1000);              //1秒待機
}

f:id:wakamelab:20200527010146p:plain

このプログラムの意味を解説します。

#define LED 7

#define は置き換えのマクロです。#define (A) (B) とすることで、A を B に置き換えるという意味になります。
この場合、"LED"という文字を、"7"に置き換ることを意味しています。

pinMode(LED, OUTPUT); 

pinMode(ピン番号, OUTPUT/INPUT) で指定したピンを入力/出力に設定します。
この場合、LED(7)番のピンを出力に設定しています。

digitalWrite(LED, HIGH); 

digitalWrite(ピン番号, HIGH) で指定したピンに5Vの電圧を出力します。
この場合、LED(7)番ピンに5Vの電圧を出力し、LEDを点灯させる処理です。

delay(1000); 

delay(数値) で、数値分の時間ミリ秒間処理を停止します。
1000ミリ秒→1秒間、処理を停止することを意味しており、LEDの点灯を1秒間キープします。

digitalWrite(LED, LOW); 

digitalWrite(ピン番号, LOW) で指定したピンの電圧の出力を止めます。
この場合、LED(7)番ピンの電圧を0Vにし、LEDを消灯させる処理です。

delay(1000); 

1000ミリ秒→1秒間、処理を停止することを意味しており、LEDの消灯を1秒間キープします。

このプログラムを書き終わったら、名前を付けて保存してください。
名前は何でもいいですが、必ず半角英数字のみを使ってください。
ここでは、仮に"LED_BLINK"としています。

プログラムをコンパイルする

プログラムが完成したのでコンパイルを行います。
コンパイルとは、プログラミング言語で書かれたプログラムを、コンピューターが実行可能な形式に変換することです。
コンパイルを行うことで、今作成したプログラムをArduinoが実行できる形式に変換することができます。

コンパイル方法は、Arduino IDE 上の"検証"ボタンを押すだけです。
f:id:wakamelab:20200531131220p:plain

検証ボタンを押してコンパイルを始めてください。
下の画像のように、"コンパイルが完了しました”と表示されればOKです。
f:id:wakamelab:20200531131710p:plain
もしこれ以外が表示された場合、プログラム上のどこかが間違えています。
どこが間違えているかをコンパイラーが教えてくれるので、根気よくエラー部分を修正してください。
最初はどうしてもエラーが出ると思いますが、だんだんと慣れてくるとエラーを出さないためのプログラムを書くことができるようになるので、ここは仕方ないと割り切って、地道にエラーを修正してください。

配線方法の紹介

LEDを光らせるために、Arduinoに線を接続します。
つなぎ方は単純で、LEDにArduinoの7番ピンとGNDのピンを接続してください。
LEDの端子は長さが違う2本の端子が出ていると思います。
長い方の端子はアノードといい、短い方の端子はカソードといいます。
アノードにはプラス側、カソードにはマイナス側を接続し、アノードからカソードへ電気が流れるように接続します。
つまり、長い方の端子(アノード)をArduinoの7番ピン、短い方の端子(カソード)をGNDのピンに接続します。
以下の配線図を参考にしてください。
f:id:wakamelab:20200531135715j:plain

プログラムをArduinoに書き込む

では接続も完了したので、Arduinoにプログラムを書き込みましょう。
まず、USBでArduinoとPCを接続します。

次にボードの設定を行います。今回はArduino UNOを使用しているので、Arduino UNOを設定します。
f:id:wakamelab:20200522003643p:plain

ポート番号を設定します。
ポートはUSBを接続すると選択することができるようになります。
f:id:wakamelab:20200531142621p:plain
※ポート番号は人によって違います。

では書き込みを行います。Arduinoを接続した状態で、”マイコンボードに書き込む”ボタンを押してください。
f:id:wakamelab:20200531144323p:plain
下の画像のように、"ボードへの書き込みが完了しました"と表示されれば書き込みは成功です。

LEDが1秒周期で点滅し始めましたか?
点滅しなければ、プログラムか配線が間違えていると思います。
根気よく原因を探してみてください。

youtu.be

Arduino 基本学習キットの紹介

当社では、Arduinoを始めたい人に向けたスターターキットを販売しております。

気になる方は以下のURLよりアクセスしてみて下さい。

ホームページ:
www.wakamelab.com

販売サイト:https://wakamelab.thebase.in/items/25680573