5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【入門】ESP8266 (ESP-WROOM-02) で単にLチカしても詰まらないのでナイトライダーしてみた【初心者向け】

Last updated at Posted at 2017-04-01

ハードウェア界隈やIoT界隈での「Hello World!」をLチカと言うそうです。
多分、LEDチカチカの略です。

最近、ESP8266にはまってしまい、色々作っています。
この記事は初期の頃に単にLチカしても詰まらないし、GPIOも一杯あるし使ってみたいなということで、ナイトライダーしてみた記録です。
※GPIO・・・プログラムで出力入力が切り替えられる端子の事。こんなに簡単 ⇒ pinMode(ピン番号, OUTPUT)

私は一ヶ月前までIoTとかラズパイとかArduinoとか、やってみたいけど難しそう。。。ソフトは分かるけど、ハードは良くわからん。。。と思っていた人なので、同じように思っていて踏み出せない方に、なんだこれなら簡単そうとか思っていただけると幸いです。

##パーツ
ESP8266はNodeMcu Lua ESP8266 CH340という開発ボードを使っています。
中国から届くのに時間がかかりますが、¥480と激安です。
ピンヘッダも取り付け済みなので、ハンダ付け不要です。

##回路図 っぽいもの
Lチカ-ナイトライダー回路図.png

  • GPIOがプログラムでON/OFFや強弱できる3.3Vの+側になります。
  • GNDが-側です。
  • LEDには極性があります。接続の向きに注意
  • LEDにGPIOを直結するとLEDが壊れます(LEDの仕様にもよる)
  • LEDの前に抵抗や定電流ダイオードを入れてください
  • 抵抗値は本来、計算式で求めますが、とりあえず点灯するだけなら1KΩとかでOK
  • いきなりはんだ付けとかすると大変なのでブレッドボードジャンパ線で組むのをオススメ
  • 「HiLetgo NEW NodeMcu Lua ESP8266 CH340」は、ボード幅が広めなので、↑のリンクの片側6列あるブレッドボードが使いやすいです

##開発環境
以下を参考に整備しました。
ArduinoのIDE(統合開発環境)をインストールする
https://okuzawats.com/install-arduino-ide-20150202/

IDEダウンロード
https://www.arduino.cc/en/Main/Donate

ESP-WROOM-02開発ボードをArduino IDEで開発する方法
http://trac.switch-science.com/wiki/esp_dev_arduino_ide
(※これを見つけるのにちょっと苦労)

##ソース

Blink3.ino

int led[] = {16, 5, 4, 0, 14};
int ledSize = sizeof(led) / sizeof(led[0]);

int pos     = 0;
int before1 = 0;
int before2 = 0;
int before3 = 0;
int before4 = 0;

int acc = 1;

void setup() {
  for (int n=0 ; n < ledSize ; n++ ) {
    pinMode(led[n], OUTPUT);  // 指定のピンを出力に設定
  }
}

void loop() {
    analogWrite(led[before4],   0);
    analogWrite(led[before3],  10);
    analogWrite(led[before2],  30);
    analogWrite(led[before1], 100);
    analogWrite(led[pos],     255);

    before4 = before3;
    before3 = before2;
    before2 = before1;
    before1 = pos;
    pos += acc;

    if (pos==0 || pos==ledSize-1) { acc = -acc; }

    delay(200);
}

  • analogWriteで出力を0~255の間で制御できます。
  • 単にON/OFFするなら、digitalWriteを使います。
    • digitalWrite(btn, HIGH);
    • digitalWrite(btn, LOW);
5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?