Тема: Симулятор игрального кубика на 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;
}
}