注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。

なぜ参加するのか?

  • 専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。

  • 限定プレビュー:新製品発表や予告編に早期アクセス。

  • 特別割引:最新製品の特別割引を楽しむ。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

レッスン29: 交通信号モジュール

このレッスンでは、ESP32開発ボードを使用してミニ交通信号モジュールを制御する方法を学びます。ボードのセットアップと、交通信号のシーケンスを作成するためのコードの作成をカバーします。具体的には、5秒間の緑信号、1.5秒間の黄色信号の点滅、そして5秒間の赤信号です。このプロジェクトは、エレクトロニクスとプログラミングの初心者に最適で、ESP32を使用した出力操作と基本的なタイミング制御の実践的な経験を提供します。

必要な部品

このプロジェクトには以下の部品が必要です。

すべての部品が揃ったキットを購入すると便利です。リンクはこちら:

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

以下のリンクから個別に購入することもできます。

Component Introduction

Purchase Link

ESP32 & Development Board

購入

信号機モジュール

購入

ブレッドボード

購入

配線

../_images/Lesson_29_Traffic_Light_Module_esp32_bb.png

コード

コード解析

  1. 操作を行う前に、LEDが接続されているピンの定数を定義します。これにより、コードの読みやすさと修正のしやすさが向上します。

const int rledPin = 25;  //red
const int yledPin = 26;  //yellow
const int gledPin = 27;  //green
  1. ここでは、LEDピンのピンモードを指定します。これらはすべて ``OUTPUT``に設定されており、電圧を送信することを意図しています。

void setup() {
  pinMode(rledPin, OUTPUT);
  pinMode(yledPin, OUTPUT);
  pinMode(gledPin, OUTPUT);
}
  1. ここで、交通信号のサイクルロジックを実装します。操作のシーケンスは以下の通りです:

    • 緑のLEDを5秒間点灯させます。

    • 黄色のLEDを3回点滅させます(各点滅は0.5秒間続きます)。

    • 赤のLEDを5秒間点灯させます。

void loop() {
  digitalWrite(gledPin, HIGH);
  delay(5000);
  digitalWrite(gledPin, LOW);

  digitalWrite(yledPin, HIGH);
  delay(500);
  digitalWrite(yledPin, LOW);
  delay(500);
  digitalWrite(yledPin, HIGH);
  delay(500);
  digitalWrite(yledPin, LOW);
  delay(500);
  digitalWrite(yledPin, HIGH);
  delay(500);
  digitalWrite(yledPin, LOW);
  delay(500);

  digitalWrite(rledPin, HIGH);
  delay(5000);
  digitalWrite(rledPin, LOW);
}