Logo video2dn
  • Сохранить видео с ютуба
  • Категории
    • Музыка
    • Кино и Анимация
    • Автомобили
    • Животные
    • Спорт
    • Путешествия
    • Игры
    • Люди и Блоги
    • Юмор
    • Развлечения
    • Новости и Политика
    • Howto и Стиль
    • Diy своими руками
    • Образование
    • Наука и Технологии
    • Некоммерческие Организации
  • О сайте

Скачать или смотреть Arduino Traffic Light System – Stage 2: Pedestrian Crosswalk LCDs

  • Code & Current Studio
  • 2025-10-02
  • 55
Arduino Traffic Light System – Stage 2: Pedestrian Crosswalk LCDs
  • ok logo

Скачать Arduino Traffic Light System – Stage 2: Pedestrian Crosswalk LCDs бесплатно в качестве 4к (2к / 1080p)

У нас вы можете скачать бесплатно Arduino Traffic Light System – Stage 2: Pedestrian Crosswalk LCDs или посмотреть видео с ютуба в максимальном доступном качестве.

Для скачивания выберите вариант из формы ниже:

  • Информация по загрузке:

Cкачать музыку Arduino Traffic Light System – Stage 2: Pedestrian Crosswalk LCDs бесплатно в формате MP3:

Если иконки загрузки не отобразились, ПОЖАЛУЙСТА, НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если у вас возникли трудности с загрузкой, пожалуйста, свяжитесь с нами по контактам, указанным в нижней части страницы.
Спасибо за использование сервиса video2dn.com

Описание к видео Arduino Traffic Light System – Stage 2: Pedestrian Crosswalk LCDs

In Stage 2 of our Arduino Traffic Light Control System project, we add pedestrian crosswalk signs using LCD screens. These signs display 'WALK' and 'DON'T WALK' messages based on traffic light status. We also improve the timing logic so the 'DON'T WALK' message appears earlier for safety. Follow along and build your own realistic intersection!

Recommended Kits & Accessories
Most Arduino Starter Kits include everything you need for this project.
Arduino Kit: https://amzn.to/4nnUJAm
Project Book: https://amzn.to/4nnUJAm
Arduino Apparel: https://amzn.to/4nznsm6

Series Mention
📚 This project is part of a full tutorial series and upcoming book!

Subscribe and follow along.

CODE:

// North/South Lights
int nsRed = 2;
int nsYellow = 3;
int nsGreen = 4;

// East/West Lights
int ewRed = 5;
int ewYellow = 6;
int ewGreen = 7;

// NEW: LCD Screens
#include Wire.h // Wire library - *less than*Wire.h*greater than
#include Adafruit_LiquidCrystal.h // LCD library *less than*Adafruit_LiquidCrystal.h*greater than

Adafruit_LiquidCrystal lcdWest(0x20); // NEW: LCD for West direction
Adafruit_LiquidCrystal lcdEast(0x21); // NEW: LCD for East direction
Adafruit_LiquidCrystal lcdNorth(0x22); // NEW: LCD for North direction
Adafruit_LiquidCrystal lcdSouth(0x23); // NEW: LCD for South direction

// NEW: Timing variables
unsigned long previousMillis = 0; // NEW: Store last time phase changed
int phase = 0; // NEW: Current phase of traffic lights

void setup() {
pinMode(nsRed, OUTPUT);
pinMode(nsYellow, OUTPUT);
pinMode(nsGreen, OUTPUT);
pinMode(ewRed, OUTPUT);
pinMode(ewYellow, OUTPUT);
pinMode(ewGreen, OUTPUT);

// NEW: Initialize LCDs
lcdWest.begin(16, 2);
lcdEast.begin(16, 2);
lcdNorth.begin(16, 2);
lcdSouth.begin(16, 2);

lcdWest.setBacklight(1);
lcdEast.setBacklight(1);
lcdNorth.setBacklight(1);
lcdSouth.setBacklight(1);
}

// NEW: Function to update LCD messages
void updateLCDs(String nsMessage, String ewMessage) {
static String lastNS = ""; // NEW: Store last NS message
static String lastEW = ""; // NEW: Store last EW message

if (nsMessage != lastNS) {
lcdNorth.clear(); // NEW: Clear North LCD
lcdSouth.clear(); // NEW: Clear South LCD
lcdNorth.setCursor(0, 0); // NEW: Set cursor for North LCD
lcdSouth.setCursor(0, 0); // NEW: Set cursor for South LCD
lcdNorth.print(nsMessage); // NEW: Print message to North LCD
lcdSouth.print(nsMessage); // NEW: Print message to South LCD
lastNS = nsMessage; // NEW: Update last NS message
}

if (ewMessage != lastEW) {
lcdWest.clear(); // NEW: Clear West LCD
lcdEast.clear(); // NEW: Clear East LCD
lcdWest.setCursor(0, 0); // NEW: Set cursor for West LCD
lcdEast.setCursor(0, 0); // NEW: Set cursor for East LCD
lcdWest.print(ewMessage); // NEW: Print message to West LCD
lcdEast.print(ewMessage); // NEW: Print message to East LCD
lastEW = ewMessage; // NEW: Update last EW message
}
}

void loop() {
unsigned long currentMillis = millis(); // NEW: Get current time

switch (phase) {
case 0: // NS Green, EW Red
if (currentMillis - previousMillis = 5000) { //*greater than or equal to
previousMillis = currentMillis;
phase = 1;
}
digitalWrite(nsGreen, HIGH);
digitalWrite(nsYellow, LOW);
digitalWrite(nsRed, LOW);
digitalWrite(ewGreen, LOW);
digitalWrite(ewYellow, LOW);
digitalWrite(ewRed, HIGH);
updateLCDs("DON'T WALK", "WALK");
break;

case 1: // NS Yellow, EW Red
if (currentMillis - previousMillis = 1500) { //*greater than or equal to
previousMillis = currentMillis;
phase = 2;
}
digitalWrite(nsGreen, LOW);
digitalWrite(nsYellow, HIGH);
digitalWrite(nsRed, LOW);
digitalWrite(ewGreen, LOW);
digitalWrite(ewYellow, LOW);
digitalWrite(ewRed, HIGH);
updateLCDs("DON'T WALK", "DON'T WALK");
break;

case 2: // NS Red, EW Green
if (currentMillis - previousMillis = 5000) { //*greater than or equal to
previousMillis = currentMillis;
phase = 3;
}
digitalWrite(nsGreen, LOW);
digitalWrite(nsYellow, LOW);
digitalWrite(nsRed, HIGH);
digitalWrite(ewGreen, HIGH);
digitalWrite(ewYellow, LOW);
digitalWrite(ewRed, LOW);
updateLCDs("WALK", "DON'T WALK");
break;

case 3: // NS Red, EW Yellow
if (currentMillis - previousMillis = 1500) { //*greater than or equal to
previousMillis = currentMillis;
phase = 0;
}
digitalWrite(nsGreen, LOW);
digitalWrite(nsYellow, LOW);
digitalWrite(nsRed, HIGH);
digitalWrite(ewGreen, LOW);
digitalWrite(ewYellow, HIGH);
digitalWrite(ewRed, LOW);
updateLCDs("DON'T WALK", "DON'T WALK");
break;
}
}

Комментарии

Информация по комментариям в разработке

Похожие видео

  • О нас
  • Контакты
  • Отказ от ответственности - Disclaimer
  • Условия использования сайта - TOS
  • Политика конфиденциальности

video2dn Copyright © 2023 - 2025

Контакты для правообладателей [email protected]