Игра заключается в следующем: игроки становятся в круг и передают бомбу по кругу, при передаче бомбы,игрок отвечает на вопрос ведущего, у кого бомба в руках взорвётся-выбывает. ПРОШУ ПОМОЧЬ В НАПИСАНИИ КОДА! есть вариант испльзовать функцию delay ,но лучше без неё. Есть 4 кнопки ,первая запускает цикл заново(равносильно ресету), 2,3 и 4 кнопки устанавливают верхний порог времени взрыва,расчитывающееся рандомно 1, 1.5 , 3 минут соответственно. всё время до взрыва работает таймер типа пип-пип-пип. вот скетч,который есть на данный момент: Код (Text): #include <Bounce.h> const int go = 2; //кнопка начала игры const int but1 = 3; // время игры до 1 минуты const int but2 = 4; //время игры до 1.5 минуты const int but3 = 5; //время игры до 3 минут const int flash = 6; // светодиод const int motor = 7; //моторчик const int din = 8; //динамик int ledState = LOW; // текущее состояние таймера long previousMillis = 0; // переменная для хранения времени long intPause = 500; // интервал между звуком int intBeep=150; //время звучания Bounce bgo= Bounce(go,5); Bounce bbut1 = Bounce(but1,5); Bounce bbut2 = Bounce(but2,5); Bounce bbut3 = Bounce(but3,5); //дальше иут функции int muz(int x){ int result; unsigned long currentMillis = millis(); if(currentMillis - previousMillis > intPause) //проверяем не пора ли пиликнуть { previousMillis = currentMillis; //сохранили последнее время if (ledState == LOW) ledState = HIGH; else ledState = LOW;// включаем или выключаем в зависимости от текущего состояния if (ledState==HIGH) { tone(din,2000,intBeep); } } return result; } void setup() { pinMode(din, OUTPUT); //определяю пины выходов pinMode(motor, OUTPUT); pinMode(flash, OUTPUT); pinMode(go, INPUT); // включаю подтягивающий резистор,чтобы не мудрить с кнопкой,просто один пин кнопки к пину ардуина , втрой пин кнопки к минусу. digitalWrite(go, HIGH); pinMode(but1, INPUT); digitalWrite(but1, HIGH); pinMode(but2, INPUT); digitalWrite(but2, HIGH); pinMode(but3, INPUT); digitalWrite(but3, HIGH); } void loop() { if ((but1 or but2 or but3)==LOW){ return; } else{ } } Главная проблема на этот момент:звук взрыва,долго пытался его сделать похожим на "бууум" ,но мне кажется придётся сделать что-то другое (звук смерти в игре марио) В дополнительных материалах программы для создания звуков для ардуино. Моторчик создаёт вибрацию,для его подключения к ардуино, была спаяна схема:потому как, моторчик потребляет намного больше 40 мили ампер,что опасно для ардуины,мой мотор может работать и от 5 вольт,а если у вас будет питание больше,то транзистор скорее всего придётся заменять на более мощный платформа: arduino pro mini Проект пока в разработке,скетч не работает на данный момент. Интересные странички(и,или использованные): 1 http://www.freeduino.ru/arduino/sample_Buttons.html функция bounce. 2 http://dvrobot-forum.ucoz.ru/forum/3-21-1#617 как подключить к одному пину несколько кнопок. 3 http://arduino.ru/Tutorial/DigitalPins как включить внутренний подтягивающий резистор. Использованные библиотеки : 1 Bounce http://arduino.cc/playground/uploads/Code/Bounce.zip
Помните игру на Денди - "танчики" (Battle City) ? Попробуйте сделать звук взрыва как там - характерное шипение Мне кажется, пищалка как раз подобное в состоянии выдать... И засуньте код под тэг CODE, предварительно отформатировав его нажатием Ctrl+T в Arduino IDE.
Вот идея интерестная http://arduino.ru/forum/proekty/igra-bomba-na-arduino#comment-57384 Есть библиотека, по проигрыванию wav файлов. Посмотрите, может быть это то что вам нужно: http://cyber-place.ru/showthread.php?t=274&page=1
Раскопал конвертер с wav - *.c Можно использовать библиотеку PlaySound http://yadi.sk/d/aXQfLjxvJK4xs чтобы играть мелодию. Честно говоря звук не очень
При компиляции ошибка? Если да то скачай новую та была для старой Arduino IDE http://yadi.sk/d/XKcxFbWpJTNwW Изменил одну строчку А программа для конвертирования называется Vim как я понял она для языка С# http://yadi.sk/d/YBJdwuwbJTNmz Извлекаешь её в удобное место заходишь командную строку (windows) в каталог с программой У меня это: C:\vim73\ Чтобы компилировать пишешь: "xxd -i sound.wav sound.h" sound.wav это мелодия в каталоге sound.h это исходник
Открываешь sound.h "unsigned char sound_wav[]" меняешь на "const unsigned char sound_wav[] PROGMEM" и "unsigned int sound_wav_len" на "const unsigned int sound_wav_len" Скетч и конвертированную мелодию держать в одном каталоге Скетч чтобы сыграть мелодию: PHP: #include <PlaySound.h> #include "sound.h" void setup(){} void loop() { PlaySound::startPlayback((uint8_t *)sound_wav, sound_wav_len); delay(1500); } Пин для динамика 11