Тема: Симулятор игрального кубика на Arduino Tinkercad. Создайте проект на Arduino и добавьте
макетную плату. С помощью светодиодов отобразите все возможные комбинации, которые могут выпасть при подбрасывании игральных костей (1, 2, 3, 4, 5, 6). Разместите на плате все возможные комбинации. Каждая комбинация — это светодиоды определенного цвета, а количество светодиодов равно выпавшей комбинации (если 1, то только 1 светодиод и так далее). Соедините их и запрограммируйте так, чтобы при нажатии на кнопку выпадало случайное число от 1 до 6. Какое число выпало, те светодиоды и засветились. Всё делать на Tinkercad можете пожалуйста отправить фото кода пжпжОтветы на вопрос
Ответ:
// Подключение библиотеки для работы с кнопкой
#include <Button.h>
// Пины для светодиодов
const int LED1 = 2;
const int LED2 = 3;
const int LED3 = 4;
const int LED4 = 5;
const int LED5 = 6;
const int LED6 = 7;
// Пин для кнопки
const int BUTTON_PIN = 8;
// Объекты для работы с кнопкой и ее состоянием
Button button(BUTTON_PIN);
bool buttonPressed = false;
void setup() {
// Инициализация пинов светодиодов
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
// Начальное состояние светодиодов (выключены)
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
}
void loop() {
// Обработка нажатия на кнопку
button.read();
if (button.wasPressed()) {
buttonPressed = true;
}
// Если кнопка нажата, генерируем случайное число от 1 до 6
if (buttonPressed) {
int randomNum = random(1, 7);
// Включаем соответствующие светодиоды в зависимости от выпавшего числа
switch (randomNum) {
case 1:
digitalWrite(LED1, HIGH);
break;
case 2:
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
break;
case 3:
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
break;
case 4:
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
break;
case 5:
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
break;
case 6:
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
digitalWrite(LED6, HIGH);
break;
}
// Задержка для отображения светодиодов
delay(2000);
// Выключаем все светодиоды
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
// Сбрасываем флаг нажатия кнопки
buttonPressed = false;
}
}
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
