Можно ли вводить цифры в com порт не с пк, а с самой ардуино?
- Войдите на сайт для отправки комментариев
Пт, 05/05/2017 - 14:20
Форумчане! Нашел код для пароля, немного изменил его - все работает. Но столкнулся с тем, что не знаю, как вводить цифры в ком-порт через нажатия кнопок, которые к пинам подключены. Есть ли возможность вводить цифры в ком-порт не через пк, а через саму ардуинку?
#include <Password.h>
Password password1 = Password( "1234" );
Password password2 = Password( "4321" );
byte currentLength = 0;
int val = 0;
void setup(){
pinMode (2, INPUT);
pinMode (3, INPUT);
pinMode (4, INPUT);
pinMode (5, INPUT);
pinMode (6, INPUT);
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (13, OUTPUT);
Serial.begin(9600);
Serial.println("Try to guess the password!");
Serial.println("Reset with ! evaluate with ?");
Serial.print("Enter password: ");
}
void loop(){
if (Serial.available()){
char input = Serial.read();
switch (input){
case '!': //reset password
password1.reset();
password2.reset();
currentLength = 0;
Serial.println("\tPassword is reset!");
break;
case '?': //evaluate password
if (password1.evaluate()){
Serial.println("\tYou guessed the correct password!");
digitalWrite (13, 1);
}
if (password2.evaluate()){
Serial.println("\tYou guessed the correct password!");
digitalWrite (13, 1);
delay (1000);
digitalWrite(13, 0);
}
break;
default: //append any keypress that is not a '!' nor a '?' to the currently guessed password.
password1.append(input);
password2.append(input);
currentLength++;
//Print some feedback.
Serial.print("Enter password: ");
for (byte i=0; i<currentLength; i++){
Serial.print('*');
}
Serial.println();
}
}
if (digitalRead(5)==1){
val = '1';
delay (1000);
Serial.write(val);
}
}
P.S. мигалочки на 13 пине - только для проверки, в самом проекте релешки стоять будут. Заранее спасибо.
класс титановый велосипед для тактовой кнопки.
читать с конца.