Предмет: Информатика, автор: gyzenkodaria

Даю 100 балів. Cоздайте новый проект в Tinkercad Circuits. Добавьте плату Arduino Uno и подключите 5 или больше светодиодов,
кнопку и LCD-дисплей. Запрограммируйте несколько режимов для светодиодов:
1. Светодиоды мигают в случайном порядке;
2. Светодиоды включаются последовательно, один за другим;
3. Светодиоды медленно включаются, а затем гаснут.
Запрограммируйте кнопку, чтобы по нажатию на нее
менялся режим мигания светодиодов. Придумайте оригинальное название для каждого из режимов и выводите его
на LCD-дисплей. То есть пользователь нажимает на кнопку,
меняется режим, на LCD дисплее отображается название режима.

Приложения:

Ответы

Автор ответа: 3efs
0

Відповідь:

Этот код включает 5 светодиодов, одну кнопку и один LCD-дисплей. Есть три режима мигания светодиодов: случайный режим, последовательный режим и режим затухания. По нажатию на кнопку режим меняется, а название режима выводится на LCD-дисплей. Я надеюсь, что этот код поможет вам создать ваш проект в Tinkercad Circ

Пояснення:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int mode = 1;

int led_pins[] = {6, 7, 8, 9, 10};

int num_leds = 5;

int button_pin = A0;

void setup() {

 pinMode(button_pin, INPUT_PULLUP);

 lcd.begin(16, 2);

 lcd.print("LED Modes:");

}

void loop() {

 switch (mode) {

   case 1:

     randomMode();

     break;

   case 2:

     sequentialMode();

     break;

   case 3:

     fadeMode();

     break;

 }

 checkButton();

}

void randomMode() {

 for (int i = 0; i < 10; i++) {

   int led = random(num_leds);

   digitalWrite(led_pins[led], HIGH);

   delay(100);

   digitalWrite(led_pins[led], LOW);

   delay(100);

 }

}

void sequentialMode() {

 for (int i = 0; i < num_leds; i++) {

   digitalWrite(led_pins[i], HIGH);

   delay(100);

 }

 delay(500);

 for (int i = 0; i < num_leds; i++) {

   digitalWrite(led_pins[i], LOW);

   delay(100);

 }

 delay(500);

}

void fadeMode() {

 for (int i = 0; i < 255; i++) {

   for (int j = 0; j < num_leds; j++) {

     analogWrite(led_pins[j], i);

   }

   delay(10);

 }

 for (int i = 255; i >= 0; i--) {

   for (int j = 0; j < num_leds; j++) {

     analogWrite(led_pins[j], i);

   }

   delay(10);

 }

}

void checkButton() {

 if (digitalRead(button_pin) == LOW) {

   mode++;

   if (mode > 3) {

     mode = 1;

   }

   lcd.clear();

   switch (mode) {

     case 1:

       lcd.print("Random Mode");

       break;

     case 2:

       lcd.print("Sequential Mode");

       break;

     case 3:

       lcd.print("Fade Mode");

       break;

   }

   delay(500);

 }

}


vladnesvit: а можешь пожалуйста скинуть фото самой платы
Похожие вопросы
Предмет: Алгебра, автор: nnnnasty108