Помогите новичку Пожалуйста! (+1 к карме)

evaguard
Offline
Зарегистрирован: 25.04.2018

Проблема понятна, но не понятен ее источник. Код работал месяц, не менялся вообще (надо для курсовика было, но я на месяцок подзабил). Поменял только пины - появилась ошибка. Вернул обратно - ошибка. Ошибка, ошибка, ошибка. Код брал с сайта:
http://arduino.ru/forum/programmirovanie/sketch-pod-kodovyi-zamok
Код работал на отлично. Удалил свой код, скопировал заново, вставил - та же ошибка.

Помогите, пожалуйста!

D:\arduino-1.8.5\HelloKeypad\HelloKeypad.ino:4:36: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
 Password password = Password("3000");  // password
 
                                    ^
 
 
На форумах видел, что я не один такой, но инструкции под темами не помогли...
 
evaguard
Offline
Зарегистрирован: 25.04.2018
#include <Keypad.h>
#include <Password.h>
 
Password password = Password("3000");  // password
int dlugosc = 4;                        // length of the password
int ledRed = 11;
int ledGreen = 9;
int buzzer = 12;
int relay = 10;
int ilosc; // number of clicks
 
const byte ROWS = 4; // rows
const byte COLS = 3; // cols
 
char keys[ROWS][COLS] =
{
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
 
byte rowPins[ROWS] = {5,4,3,2};
byte colPins[COLS] = {8,7,6};
 
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
 
void setup()
{
  Serial.begin(9600);
  keypad.addEventListener(keypadEvent);  
  pinMode(ledRed, OUTPUT);  
  pinMode(ledGreen, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(relay, OUTPUT);
  digitalWrite(ledRed, HIGH);
  digitalWrite(ledGreen, LOW);
 digitalWrite(relay, HIGH);
}
 
void loop()
{
  keypad.getKey();
}
void keypadEvent(KeypadEvent eKey)
{
  switch (keypad.getState())
  {
    case PRESSED:
      
int i;
for( i = 1; i <= 1; i++ )
{
  digitalWrite(buzzer, HIGH);  
  delay(50);            
  digitalWrite(buzzer, LOW);  
  delay(50); 
  
}    
 
Serial.print("Pressed: ");
Serial.println(eKey);
 
switch (eKey) 

  
{

case '#':
break;
 
case '*':
break;

 
default:
ilosc=ilosc+1;
password.append(eKey);
}
//Serial.println(ilosc);
 
}

 
if(ilosc == dlugosc)
{
delay(250);
checkPassword();
ilosc = 0;
}
}

 
void checkPassword()
{
  if (password.evaluate())
  {
int i;
for( i = 1; i <= 2; i++ )
{
  digitalWrite(buzzer, HIGH);  
  delay(70);            
  digitalWrite(buzzer, LOW);  
  delay(70);      
}    
    ilosc = 0;
    password.reset();

 
    Serial.println("Success");    
 
    digitalWrite(ledRed, LOW);
    digitalWrite(ledGreen, HIGH);
     digitalWrite(relay, LOW);
     delay (5000);
      digitalWrite(ledGreen, LOW);
      digitalWrite(relay, HIGH);
       digitalWrite(ledRed, HIGH);
       
 }
 else  
  {
int i;
for( i = 1; i <= 1; i++ )
{
  digitalWrite(buzzer, HIGH);  
  delay(200);            
  digitalWrite(buzzer, LOW);  
  delay(200);      
}  
    ilosc = 0;  
    password.reset();
 
    Serial.println("Wrong");
 
    digitalWrite(ledGreen, LOW);
    digitalWrite(ledRed, HIGH); 
    digitalWrite(relay, HIGH); 
  } 
 
  }

 

bankir_1986
Offline
Зарегистрирован: 23.03.2015

evaguard пишет:

Проблема понятна...

 
Не понимаю, в чем тогда проблема?

evaguard пишет:

... не понятен ее источник.

 Мозг, точнее его отсутствие

 

nik182
Offline
Зарегистрирован: 04.05.2015

Это ж не ошибка а предупреждение.

evaguard
Offline
Зарегистрирован: 25.04.2018

Почему тогда не компиллируется хекс фаил, если это всего лишь предупреждение?

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

(+1 к карме)

Девять!!! И ни центом меньше! Иначе, не скажу куда (char *) вставить!

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

Почему тогда не компиллируется хекс фаил, если это всего лишь предупреждение?

Видимо потому, что там ещё есть.

evaguard
Offline
Зарегистрирован: 25.04.2018

bankir_1986,если ты такой умный, в чем я сомневаюсь - исправь, а не пиши херню. Я смотрю ты с 2015го года тут херню пишешь, мб работу найдешь?

evaguard
Offline
Зарегистрирован: 25.04.2018

Я тебе дам +9 к карме и +3 к удаче в подарок. 

evaguard
Offline
Зарегистрирован: 25.04.2018

Я просто в ардуино дно, больше по чистому AVR. С такой проблемой там не сталкивался :с

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Никогда не надо помогать студентам! Они сами выбрали профессию и не хотят ничего делать - армия ждет тупых долба..бов.

Никому не нужны недоучки. Нет необходимости обязательно учиться. Зачем делать это через обман?

И да, я - вообще никогда ничего не списывал. Максимум - учебник в курилке читал. Это было 30 лет назад. Так что я - не лицемерю, а предъявляю к другим те же требования, что и к себе.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

wdrakula пишет:

армия ждет тупых долба..бов.

Кому они там нах нужны?

evaguard
Offline
Зарегистрирован: 25.04.2018

Щас бы хвастаться тем, что читал учебник 30 лет назад... Да еще и в курилке. Просто "пройди" мимо и не отвечай, если нет желания. Не выставляй себя дураком в глазах других пользователей.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

Я тебе дам +9 к карме и +3 к удаче в подарок. 

Прошёл тест на http://aeterna.qip.ru/test/view/137959/ и выяснил, что оплата не поступала. Вы, жулик, молодой человек!

evaguard
Offline
Зарегистрирован: 25.04.2018

[quote=ЕвгенийП]

Так ты знаешь, в чем ошибка, Евгений? А то я уже "const" повставлял везде, где можно и нельзя)

evaguard
Offline
Зарегистрирован: 25.04.2018

ЕвгенийП пишет:

evaguard пишет:

Я тебе дам +9 к карме и +3 к удаче в подарок. 

Прошёл тест на http://aeterna.qip.ru/test/view/137959/ и выяснил, что оплата не поступала. Вы, жулик, молодой человек!

Я отправил платёж сразу наверх. Чтобы засчитали в полной мере. А то эти службы доставки могут не додать.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

Не выставляй себя дураком в глазах других пользователей.

Да, дурак-то здесь один - тот, для которого предупреждение компилятора - аж проблема! Который

evaguard пишет:

больше по чистому AVR

только вот текст на С скомпилировать не может.

Не только дурак, да ещё и брехло.

Гуляй, мальчик, привет преподу!

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

Так ты знаешь, в чем ошибка, Евгений? А то я уже "const" повставлял везде, где можно и нельзя)

Конечно знаю, там знать нечего. Могу посоветовать хорошую литературу. Надо?

evaguard
Offline
Зарегистрирован: 25.04.2018

Делаешь из себя умника, а толку 0. Сидишь на форуме, и вместо помощи херней страдаешь. Зачем писать, если просто хочешь выпендриться? Я тебе задал конкретный вопрос:"Почему не создает хекс фаил", в ответ получил словарный понос. Найди друзей, иди выговорись, чтобы не поносить на форумах.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

Делаешь из себя умника, а толку 0. 

Ох не говорите, сам страдаю! Сижу, а толку - 0! Да и какой с меня толк-то? Вот от таких Вы толковой энергией и заряжаюсь, спасибо Вам, что зашли!

evaguard
Offline
Зарегистрирован: 25.04.2018

 

 

 

 

Кто-то из нормальных, пожалуйста. Исправил, но все равно не хочет создавать хекс фаил...

nik182
Offline
Зарегистрирован: 04.05.2015

Так он компилятор файл создал. Найти его другая проблема.

evaguard
Offline
Зарегистрирован: 25.04.2018

Ну, обычно, в папке со скетчем он и создается... Даже в поиск вбил. Не создается.

Archiving built core (caching) in: C:\Users\evagu\AppData\Local\Temp\arduino_cache_26594\core\core_arduino_avr_nano_cpu_atmega328_c44956fcefb6c6c9a2fae9776f77e97b.a
Скетч использует 3878 байт (12%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 382 байт (18%) динамической памяти, оставляя 1666 байт для локальных переменных. Максимум: 2048 байт.
 
Вот что пишет при первой попытки компиллирования. Пробую еще раз - не пишет ничего. Файла нет..
nik182
Offline
Зарегистрирован: 04.05.2015

Проверил. Создает и теперь даже два! Ещё один с бутом.

 

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

nik182 пишет:

Проверил. Создает 

Это он для лохов создаёт, а для нормальных пацанов - выпендривается :(((

evaguard
Offline
Зарегистрирован: 25.04.2018

C:\Users\evagu\AppData\Local\Temp\arduino_build_170429
Нашел по этому адрессу, но в поиске виндовс все равно его нет)
Хз почему он решил туда сохраняться, в настройках все как обычно) Спасибо) +9 к карме и +3 к удаче тебе.
Он должен сохраняться по другому адрессу, но ладно, и так хорошо)
 

 

 

 

nik182
Offline
Зарегистрирован: 04.05.2015

Он его не сохраняет. Он там его создает. А в конце должен скопировать и в tmp подтереть. Обычно проблемы возникают если есть непонятки с правами доступа к файлу куда переписать и к папке.

evaguard
Offline
Зарегистрирован: 25.04.2018

все поправил, спасибо. Надо было протисать одну строчку в тхт файле настройки.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

evaguard пишет:

Он должен сохраняться по другому адрессу, но ладно, и так хорошо)

Ни фига он Вам не должен.

Это Вы должны были просто найти в меню IDE пункт "Скетч | Экпорт бинарного файла" и выбирать его, а не "проверить". Ну, или просто давить Ctrl+Alt+S - тогда бы он сохранялся в ту же папку, где и файл .ino лежит. Но, это для дураков, Вы же умный, Вы лёгких путей не ищете.