Ви не увійшли.
Чтобы не отправлялись все символы уберите Serial.println(symbol);
СПС. Это дебажная строка, все заработало, последняя бутылка пива была лишней((
Чтобы не отправлялись все символы уберите Serial.println(symbol);
Подскажите что не так.
Идея в том чтобы после ввода некоторой комбинации с телефона, она сохранялась в строку до момента нажатия на решетку, после сравниваем с correct_password и если строки совпали отправить в терминал success, иначе failed.
на деле в терминал отправляются все подряд символы в момент их нажатия включая # , но после # еще отправляется failed
Что не так? спс.
#include <DTMF.h>
//init dtmf
int sensorPin = A0;
float n=128.0;//wider the bandwidth
float sampling_rate=8926.0;
DTMF dtmf = DTMF(n,sampling_rate);
float d_mags[8];
const String correct_password = "123";
String readed_password;
int led = 13;
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop()
{
dtmf.sample(sensorPin);
dtmf.detect(d_mags,506);
char symbol = dtmf.button(d_mags,1800.);
if( symbol == 0 )
return;
Serial.println(symbol);
if( symbol == '#' )
{
if( readed_password == correct_password )
Serial.println("success");
else
Serial.println("failed");
readed_password = "";
}
else
readed_password += symbol;
}