Не работает устройство(( Помогите!!
- Войдите на сайт для отправки комментариев
Сб, 28/01/2017 - 19:05
В чем может быть проблема? делаю игрушку типа: мигает лампочка рандомное число раз, загорается и не гаснет и в этот момент кто первый нажмет на кнопку тот и победит, рядом с кнопкой победителя загорается светодиод делал на подобии него https://www.youtube.com/watch?v=OaKbsgk6XPw, но вместо пищалки светодиод. Но вместо нормальной работы медленно моргает старт лампочка. И горит светодиод победы хотя никто не победил. Кто подскажет ошибку??
Вот код https://yadi.sk/d/E6IRtoG03BUCu9
код через кнопочку code вставьте
//Вот код #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; } } }1 Подключение кнопок сделайте правильное, с подтяжкой, либо в скетче сделайте подтяжку.
2 попробуйте скетч из уроков где лампочкой мигаем диодом. Поймите при каких уровнях (high,low)на диоде и на кнопке происходит включение.
3 строка random(2,5); ничего не делает
4 delay (random (2000, 5000)); где число это количество МИЛЛИСЕКУНД.
5 проблема и в схеме и в скетче, пути я показал, идёте сами...
а как сделать чтобы не задержка рандомная,а сколько раз повторяется мигание?
Сформулируйте задачу более подробно.