Светофор
Описание работы
Обычный светофор как для машин, так и для пешеходов.
Имеет 2 режима(дневной/ночной).
Дневной – если едут машины, значит у них зеленый цвет, а у пешеходов красный. НО, как только у машин цвет светофора становится красным, то значит, что машины дальше ехать не могут, а у пешеходов скоро станет зеленый цвет светофора.
Ночной – самый простенький режим, где светофор пешеходов полностью отключен, а для машин он постоянно мигает желтым цветом.
Список компонентов
- Плата “Arduino UNO”.
- Макет
- 7 провода.
- 5 резистора.
- 5 LED светодиода.
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | const int LED_RED = 13; const int LED_YELLOW = 12; const int LED_GREEN = 11; const int LED_RED2 = 10; const int LED_GREEN2 = 9; void setup() { pinMode(LED_RED, OUTPUT); pinMode(LED_YELLOW, OUTPUT); pinMode(LED_GREEN, OUTPUT); pinMode(LED_RED2, OUTPUT); pinMode(LED_GREEN2, OUTPUT); } void loop() { day(); night(); } void day() { int x = 0; while (x < 3) { digitalWrite(LED_RED, LOW); digitalWrite(LED_YELLOW, LOW); digitalWrite(LED_GREEN, HIGH); digitalWrite(LED_RED2, HIGH); digitalWrite(LED_GREEN2, LOW); delay(5000); for (int i = 0; i < 3; i++) { digitalWrite(LED_GREEN, LOW); delay(500); digitalWrite(LED_GREEN, HIGH); delay(500); } digitalWrite(LED_GREEN, LOW); digitalWrite(LED_YELLOW, HIGH); delay(3000); digitalWrite(LED_RED, HIGH); digitalWrite(LED_YELLOW, LOW); delay(3000); digitalWrite(LED_RED2, LOW); digitalWrite(LED_GREEN2, HIGH); delay(5000); for (int i = 0; i < 3; i++) { digitalWrite(LED_GREEN2, LOW); delay(500); digitalWrite(LED_GREEN2, HIGH); delay(500); } digitalWrite(LED_GREEN2, LOW); digitalWrite(LED_RED2, HIGH); delay(3000); digitalWrite(LED_YELLOW, HIGH); delay(1000); x++; } } void night() { digitalWrite(LED_RED, LOW); digitalWrite(LED_YELLOW, HIGH); digitalWrite(LED_GREEN, LOW); digitalWrite(LED_RED2, LOW); digitalWrite(LED_GREEN2, LOW); for (int i = 0; i < 10; i++) { digitalWrite(LED_YELLOW, LOW); delay(500); digitalWrite(LED_YELLOW, HIGH); delay(500); } } |
Конструкция в Tinkercad

Отчеты
Конструкция в реальности

Видеоотчеты
Дневной режим
Ночной режим