「Arduino Mega 2560 LESSON:1 Board上のLEDの点滅速度の調整」の版間の差分
(ページの作成:「Arduino Mega 2560に戻る。 == '''概要''' == Arduino IDEのBoard上のLという表示のあるLEDの明滅速度を調整します。 Arduino IDEにはいくつかの既存*.inoプロジェクトファイルを保持しています。開いて編集して、アップロードすれば動きが変わるそうな。 でも保持しているinoファイルは読み取り専用ファイルになっているので、開いて、名前を付けて保…」) |
編集の要約なし |
||
| (同じ利用者による、間の3版が非表示) | |||
| 78行目: | 78行目: | ||
のように変更して、画面の左上のツールバーの→ボタンを押すとアップロードされます。アップロード中もLEDが明滅する仕様ですが、アップロードが終わると、変更した状況に応じたLEDの明滅が開始されます。 | のように変更して、画面の左上のツールバーの→ボタンを押すとアップロードされます。アップロード中もLEDが明滅する仕様ですが、アップロードが終わると、変更した状況に応じたLEDの明滅が開始されます。 | ||
同じ動作をAutoDesk社のTinkercad([https://www.tinkercad.com/ https://www.tinkercad.com/])でも出来ます。ログインして | |||
*最初の回路デザインを作成するを選択し | |||
*Arduino Unoをドラッグアンドドロップします。 | |||
[[ファイル:Mega2560 00 ArduinoUno Move.png|380px||none|ArduinoUnoR3をドラッグアンドドロップ]] | |||
[[ファイル:Mega2560 00 CodeInput.png|380px||none|コードを入力]] | |||
*そしてコード欄に以下内容があることを確認して、 | |||
// C++ code | |||
// | |||
void setup() | |||
{ | |||
pinMode(LED_BUILTIN, OUTPUT); | |||
} | |||
void loop() | |||
{ | |||
digitalWrite(LED_BUILTIN, HIGH); | |||
delay(1000); // Wait for 1000 millisecond(s) | |||
digitalWrite(LED_BUILTIN, LOW); | |||
delay(1000); // Wait for 1000 millisecond(s) | |||
} | |||
[[ファイル:Mega2560 02 SimulationStart.png|380px||none|シミュレーションを開始]] | |||
コード入力欄が邪魔なのでコードを押して非表示にして、シミュレーション開始ボタンを押すと、Arudino Mega 2560実機でやった動作と同じ結果が得られます。 | |||
コードの構造は以下のようになっています。 | |||
void setup() | |||
{ | |||
// 電源を入れた後、最初に1回だけ実行 | |||
} | |||
void loop() | |||
{ | |||
// setup()の後、何度も繰り返し実行 | |||
} | |||
*'''pinMode(LED_BUILTIN, OUTPUT);''' | |||
pinMode関数で第一引数を第二引数として定義します。これでビルトインLEDを出力にするピンを定義したことになります。 | |||
*'''digitalWrite(LED_BUILTIN, HIGH);''' | |||
*'''digitalWrite(LED_BUILTIN, LOW);''' | |||
digitalWriteで第一引数の状態を第二引数として書き込むことができます。HIGH、場合ビルトインLEDが高。つまり点灯します。LOWの場合ビルトインLEDが低、つまり消灯します。 | |||
*'''delay(1000);''' | |||
delay関数で同じ状態を引数ms続けます。この場合1秒間同じ状態を持続します。 | |||
[[Arduino Mega 2560]]に戻る。 | [[Arduino Mega 2560]]に戻る。 | ||
2026年9月28日 (月) 15:49時点における最新版
概要
Arduino IDEのBoard上のLという表示のあるLEDの明滅速度を調整します。
Arduino IDEにはいくつかの既存*.inoプロジェクトファイルを保持しています。開いて編集して、アップロードすれば動きが変わるそうな。
でも保持しているinoファイルは読み取り専用ファイルになっているので、開いて、名前を付けて保存をして、名前を付けて保存をしたファイルを右クリックして表示されるファイルプロパティで読み取り専用のチェックを消して再読み込みをする必要があります。
まずは既存のBlink.inoを開いてみましょう。
- [File]-[Example]-[01.Basics]-[Blink]を選択します。
- [File]-[Save As…]を選択して「MyBlink」というファイル名で保存します。
WindowsではC:\Users\(UserID)\Documents\Arduino\MyBlinkにMyBlink.inoファイルが生成されるので、このファイルを右クリックしてファイルプロパティを開いて、読み取り専用属性のチェックを外して「OK」ボタンを押します。
その上でもう一度MyBlinkファイルを読み込み直してファイル上書きができる状態でOpenしたいので
- [File]-[Open Recent]から「MyBlink」を選択します。今度は以下のようなソースファイルが編集可能状態で開きます。
/* 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://docs.arduino.cc/hardware/ 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://docs.arduino.cc/built-in-examples/basics/Blink/ */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // change state of the LED by setting the pin to the HIGH voltage level delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // change state of the LED by setting the pin to the LOW voltage level delay(1000); // wait for a second }
とこのような感じで太字、赤文字で記したところが、点滅の速度に関係する命令部分です。ここの1000は1000msを意味していてdelay関数は与えられた引数のmsだけ停止するような処理になっています。
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // change state of the LED by setting the pin to the HIGH voltage level
delay(25); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // change state of the LED by setting the pin to the LOW voltage level
delay(25); // wait for a second
}
のように変更して、画面の左上のツールバーの→ボタンを押すとアップロードされます。アップロード中もLEDが明滅する仕様ですが、アップロードが終わると、変更した状況に応じたLEDの明滅が開始されます。
同じ動作をAutoDesk社のTinkercad(https://www.tinkercad.com/)でも出来ます。ログインして
- 最初の回路デザインを作成するを選択し
- Arduino Unoをドラッグアンドドロップします。
- そしてコード欄に以下内容があることを確認して、
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
コード入力欄が邪魔なのでコードを押して非表示にして、シミュレーション開始ボタンを押すと、Arudino Mega 2560実機でやった動作と同じ結果が得られます。
コードの構造は以下のようになっています。
void setup()
{
// 電源を入れた後、最初に1回だけ実行
}
void loop()
{
// setup()の後、何度も繰り返し実行
}
- pinMode(LED_BUILTIN, OUTPUT);
pinMode関数で第一引数を第二引数として定義します。これでビルトインLEDを出力にするピンを定義したことになります。
- digitalWrite(LED_BUILTIN, HIGH);
- digitalWrite(LED_BUILTIN, LOW);
digitalWriteで第一引数の状態を第二引数として書き込むことができます。HIGH、場合ビルトインLEDが高。つまり点灯します。LOWの場合ビルトインLEDが低、つまり消灯します。
- delay(1000);
delay関数で同じ状態を引数ms続けます。この場合1秒間同じ状態を持続します。