Не работает устройство(( Помогите!!

quantum1337
Offline
Зарегистрирован: 17.11.2016

В чем может быть проблема? делаю игрушку типа: мигает лампочка рандомное число раз, загорается и не гаснет и в этот момент кто первый нажмет на кнопку тот и победит, рядом с кнопкой победителя загорается светодиод делал на подобии него https://www.youtube.com/watch?v=OaKbsgk6XPw, но вместо пищалки светодиод. Но вместо нормальной работы медленно моргает старт лампочка. И горит светодиод победы хотя никто не победил. Кто подскажет ошибку??

Вот код https://yadi.sk/d/E6IRtoG03BUCu9

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

код через кнопочку code вставьте

quantum1337
Offline
Зарегистрирован: 17.11.2016
//Вот код


#define ledpink   3// пин с лампочкой уповещающей о старте

#define PLAYER_COUNT 2// количество игроков-ковбоев

int buttonPins[PLAYER_COUNT] = {A3, A0};

int ledPins[PLAYER_COUNT] = {10, 12};
 
void setup()
{
  pinMode(ledpink, OUTPUT);
  for (int player = 0; player < PLAYER_COUNT; ++player) {
    // при помощи квадратных скобок получают значение в массиве
    // под указанным в них номером. Нумерация начинается с нуля
    pinMode(ledPins[player], OUTPUT);
    pinMode(buttonPins[player], INPUT);
  }
}
 
void loop()
{
  // даём сигнал «пли!», выждав случайное время от 2 до 7 сек
  digitalWrite(ledpink, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(10);                       // wait for a second
  digitalWrite(ledpink, LOW);    // turn the LED off by making the voltage LOW
  delay(5);
  random(2,5);
  digitalWrite(ledpink, HIGH);
    
 
  for (int player = 0; ; player = (player+1) % PLAYER_COUNT) {
    // если игрок номер «player» нажал кнопку...
    if (!digitalRead(buttonPins[player])) {
      // ...включаем его светодиод и сигнал победы на 1 сек
      digitalWrite(ledpink, LOW);
      digitalWrite(ledPins[player], HIGH);
      delay(3000);
      digitalWrite(ledPins[player], LOW);
      // есть победитель! Выходим из цикла
      break; 
    }
  }
}

 

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

1 Подключение кнопок сделайте правильное, с подтяжкой, либо в скетче сделайте подтяжку.
2 попробуйте скетч из уроков где лампочкой мигаем диодом. Поймите при каких уровнях (high,low)на диоде и на кнопке происходит включение.
3 строка random(2,5); ничего не делает
4 delay (random (2000, 5000)); где число это количество МИЛЛИСЕКУНД.
5 проблема и в схеме и в скетче, пути я показал, идёте сами...

quantum1337
Offline
Зарегистрирован: 17.11.2016

а как сделать чтобы не задержка рандомная,а сколько раз повторяется мигание?

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

Сформулируйте задачу более подробно.