Помогите разобраться с ошибкой в скетче.
- Войдите на сайт для отправки комментариев
Ср, 15/04/2020 - 21:22
Здравствуйте господа!
С ардуинкой знаком два дня и до этого нигде не программировал. Взял стандартный скетч для клавиатуры с пин-кодом.
Все работает. Теперь стоит задача, что бы при правильно введенном пин-коде зуммер(я так понимаю пассивный) начал пищать на частоте 5500 в течении 40 секунд с изменением количества писков в секунду. Тоесть что бы по истечению времени количество писков нарастало. Я накидал скетч, но конечно же неправильно. Быть может, укажите на ошибку?Или, я прям чувствую что такое есть, на конкретный интрефейс или функцию для подобной задачи?
Заранее спасибо!)
#include <Password.h>
#include <Keypad.h>
Password password = Password( "7355608" );
int DelaySound = 1000;
int DelaySound1 = 750;
int DelaySound2 = 500;
int DelaySound3 = 333;
int DelaySound4 = 250;
int DelaySound5 = 150;
const byte ROWS = 3;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'3','6','9','#'},
{'2','5','8','0'},
{'1','4','7','*'},
};
byte rowPins[ROWS] = {4, 8, 6};
byte colPins[COLS] = {7, 2, 9, 5};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
keypad.addEventListener(keypadEvent);
}
void loop(){
keypad.getKey();
}
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
Serial.print("Pressed: ");
Serial.println(eKey);
switch (eKey){
case '*':
checkPassword();
password.reset();
break;
case '#':
password.reset();
break;
default:
password.append(eKey);
}
}
}
void checkPassword(){
if (password.evaluate()){
Serial.println("Bomb has been planted");
void setup(){
}
void loop()
{
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound);
tone(11, 5500);
delay(DelaySound1);
tone(11, 5500);
delay(DelaySound1);
tone(11, 5500);
delay(DelaySound1);
tone(11, 5500);
delay(DelaySound1);
tone(11, 5500);
delay(DelaySound1);
tone(11, 5500);
delay(DelaySound1);
tone(11, 5500);
delay(DelaySound2);
tone(11, 5500);
delay(DelaySound2);
tone(11, 5500);
delay(DelaySound2);
tone(11, 5500);
delay(DelaySound2);
tone(11, 5500);
delay(DelaySound2);
tone(11, 5500);
delay(DelaySound2);
tone(11, 5500);
delay(DelaySound3);
tone(11, 5500);
delay(DelaySound3);
tone(11, 5500);
delay(DelaySound3);
tone(11, 5500);
delay(DelaySound3);
tone(11, 5500);
delay(DelaySound3);
tone(11, 5500);
delay(DelaySound3);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound4);
tone(11, 5500);
delay(DelaySound5);
tone(11, 5500);
delay(DelaySound5);
tone(11, 5500);
delay(DelaySound5);
tone(11, 5500);
delay(DelaySound5);
tone(11, 5500, 1500);
noTone(9);
}else{
Serial.println("error");
}
}
убрать сетап и луп из функции checkPassword и избавится от delay
С ардуинкой знаком два дня
до этого нигде не программировал.
накидал скетч ... для клавиатуры с пин-кодом.
Два дня и сразу на форум - "памагити"? Может самому поработать хотя бы полгодика? Язык изучить, попрактиковаться "на
кошкахмигании светодиодами"?Вы правда думаете, что можно зайти с улицы и сразу начать программировать?
"Накидайте" лучше мигание светодиодом (ну, или навоз на клумбу).
шо_апять? ))))))))))))))))))))))))))
Так без delay, функция tone будет непрерывна(((
что опять?
Мне нужна одна конкретная задача от ардуинки. В чем проблема подсказать?
Ох***евшие программисты пошли. Я же не говорю всем, кто спрашивает меня «а как приготовить вкусный шашлык?а как варить пасту до состояния альденте?а как пожарить сочный ангус стейк дома?» может сначала отучишься в универе 4 года, потом поработаешь на производстве и в рестиках 5 лет и сам во всем разберешься?
Я почему-то беру и подсказываю человеку и прикинь, я еще как то не умер от этого.
Так без delay, функция tone будет непрерывна(((
ленивый всегда найдёт отговорку. Ох..евший "программист" это как раз про тебя .
Как готовить шашлык знают все. Поэтому при подсказках по шашлыку не надо вдаваться в детали. Достаточно немного подсказать. Для меня первый ответ совершенно понятен и совершенно справедлив. Его достаточно что бы исправить ошибки. Это именно ответ на уровне подсказки по шашлыку. Почему такая обида? Читать лекции по основам программирования это точно задача не форума, а института.
Я почему-то беру и подсказываю человеку и прикинь, я еще как то не умер от этого.
так тебе уже тоже подсказали.