logo

tamakopocket

第4回 【Lチカ】ArduinoでLEDをチカチカさせよう!②IDEでプログラミング(スケッチ)

第4回

Lチカのプログラミングを今回はしていきます。

前回は回路図を確認した後、実際に配線しました。

第3回と第4回のまとめ。回路図と配線図、プログラミング。

今回はArduino IDE にプログラムを記述して、マイコンに書き込めばLチカの完成です!では詳しく説明していきます。

Arduino IDEを立ち上げる

ArduinoIDEを開くとこのような画面になっています
  

アイコンをクリックするとこのような画面になっていると思います。そうしたら、配線が完了したArduinoとパソコンをUSBでつなげてください。

   
ArduinoIDEと使うためにまずツールをクリックして、ボードとポートを選択します

ツールをクリックし、ボードをArduino UNOにして、その下にあるポートも変更 (USB接続して表示されるもの)にします。

画面の説明

ArduinoIDEの画面説明

左上の「検証」ボタン・・・書いたプログラム(Arduino IDE ではスケッチという)の間違いチェックをしてくれる所です。

その右にある「書き込み」ボタン・・・書いたスケッチをマイコンに書き込んでくれる所です。

スケッチの説明

最初から何かか書かれています。

新規でスケッチを開くと、毎回出てくるものです。

//・・・//の後ろはコメント といってスケッチに反映されない、好きにメモやコメントをしていい場所になります。色も少し薄くなっています。

setup関数・・・設定のコードを書くところです。一度だけ実行されます。

loop関数・・・ここに書いたスケッチは何度も繰り返します。上から順に実行されて行って、一番最後の行まで実行されたら、また最初行にもどります。

Arduino IDEにはC言語を使って書いていくのですが、そのC言語は関数の集合で出来ています。この二つの関数の中にさらに関数を書いていきます。

setup関数に記述するもの

Lチカのプログラミング

この画面のように記述すればOKです。まずはsetup関数の方から見ていきます。

※ また、コードを書くときには小文字、大文字に注意してください。全角は使えません。

setup関数の中には、

pinMode(7,OUTPUT);      //7番ピンをOUTPUTにする。

と書きます。

pinMode(ピン番号,INPUT/OUTPUT);・・・PinMode関数。指定したピンをINPUTかOUTPUTにするという意味。なにか信号を読み取りたい場合はINPUT、5Vの電圧を出力をしたい時にはOUTPUTです。

今回はArduinoの7番ピンから5Vの電源を供給したいので、pinMode(7,OUTPUT); と書きました。

loop関数に記述するもの

loop関数の中には

digitalWrite(7,HIGH);     //7番ピンをHIGHにする

delay(1000);        //1秒待機

digitalWrite(7,LOW);     //7番ピンをLOWにする

delay(1000);        //1秒待機

このように書きます。

digitalWrite(ピン番号,HIGH/LOW);・・・digitalWrite関数。指定したピンをHIGHかLOWにするという意味。HIGHの時は5 Vが出力されて、LOWの時には0Vです。

delay(引数);・・・deley関数には待機してほしい時間を入れます。1秒=1000です。なので2000にすると2秒待ってくれます。(引数とは関数に渡す値やデータのこと。)

ここまでかけたら、USB、配線などがしっかり接続されているか確認して、書き込みボタンを押してください。

うまくいったでしょうか?うまくいかなかった方は大文字、小文字の書き間違えやスペルミス、配線の場所をよく確認していきましょう!

また、Youtubeに配線を変えた動画をアップしました。よかったら参考にしてください。

Lチカ完了!

お疲れ様です。deleyの時間や出力のピンを変更してみたり、抵抗を変えて光の明るさを変えてみたり、色々遊んでみると面白いと思います。

この記事はここで終わりですが、Lチカ後に作った物の記事も書いていく予定です。

記事と共に動画もアップしていく予定なので、(まだ一つしか動画がないですが。2024/8/5)よかったらYoutubeチャンネルの登録もよろしくおねがいします!

関数まとめ

pinMode(ピン番号,INPUT/OUTPUT);・・・PinMode関数。指定したピンをINPUTかOUTPUTにする。という意味

digitalWrite(ピン番号,HIGH/LOW);・・・digitalWrite関数。指定したピンをHIGHかLOWにするという意味。

delay(引数);・・・deley関数には待機してほしい時間を入れます。(1秒=1000)