Ви не увійшли.
Спасибо! буду пробовать. отпишусь по результату
http://playground.arduino.cc/code/Keypad
прикольно )
навскидку, де то так сделал бы
char buffer[10];
Serial.println("input password >");
char keypress;
memset(buffer,0,10); // очистка буфера
int pos = 0;
int pass_err = 1;
do {
keypress = klava.getKey(); // чтение нажатой кнопки
if (keypress != NO_KEY) // если нажато
{
Serial.print('*'); // вывод звезды, индикация события
buffer[pos%sizeof(buffer)] = keypress; // копируем в буфер
pos++; // смещаем позицию
}
if ( pos >= 6 ) // 6 символов
{
if ( strcmp (buffer,(char*)"123456") == 0 ) // сравниваем с нужным паролем
{
pass_err = 0; // сравнение успешно
Serial.println("password ok");
}
else
{ // password error, reset position
pos = 0;
memset(buffer,0,10);
Serial.println("error");
Serial.println("input password > ");
}
} // if ( pos >= 6 )
} while ( pass_err ); // в цикле пока не будет корректный пароль
#include <stdio.h> #include <string.h> int main () { char key[] = "apple"; char buffer[80]; do { printf ("Guess my favorite fruit? "); fflush (stdout); scanf ("%79s",buffer); } while (strcmp (key,buffer) != 0); puts ("Correct answer!"); return 0; }
легкий пинок в нужную сторону )
Спасибо что откликнулись! Но учитывая мои знания в программировании 0,1%, мне не понятен этот код))
#include <stdio.h>
#include <string.h>
int main ()
{
char key[] = "apple";
char buffer[80];
do {
printf ("Guess my favorite fruit? ");
fflush (stdout);
scanf ("%79s",buffer);
} while (strcmp (key,buffer) != 0);
puts ("Correct answer!");
return 0;
}
легкий пинок в нужную сторону )
Прошу сильно не ругать, т.к. мне до программиста как медному тазику до ржавчины. Есть код который я мурыжу 3 день и не могу реализовать сравнение ниже преведу его.нужно дописать как я понимаю совсем чуток а вот как это сделать еще не дотямываю!
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'}
};
byte rowPins[ROWS] = { 9, 8 };
byte colPins[COLS] = { 12, 11, 10 };
Keypad klava = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#define pwr 13
String sbros;
String summa;
int dlinna=0;
void setup()//--------------------------
{
pinMode(pwr,OUTPUT);
digitalWrite(pwr, HIGH);
Serial.begin(9600);
}
void loop()//------------------------
{
char keypress = klava.getKey();
if (keypress){
Serial.println(keypress);
dlinna=dlinna-1;
if (dlinna==6){
summa="";
sbros="";
dlinna=0;
Serial.println("LONG");
};
summa=summa+keypress;
Serial.println(summa);
sbros=String(keypress);
if(summa=="123456")
{
Serial.println("PASS OK");
summa="";
sbros="";
}
ВОТ СЮДА НАДО НАПИСАТЬ КУСОК ТАКОГО ХАРАКТЕРА (ЕСЛИ СУММА НЕ СОВПАДАЕТ С 123456 ТО ДЕЛАЕМ СБРОС НА НАЧАЛО ВВОДА ПАРОЛЯ СТРОКА if(summa!="123456") НЕ РАБОТАЕТ ПОЧЕМУ ТО )
}
};
может моя ошибка в чем то другом и мой ход мыслей неправильный!
Буду признателен за любую помощь начинающему Arduinщику . С уважением Виталий!