Можно ли вводить цифры в 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 пине - только для проверки, в самом проекте релешки стоять будут. Заранее спасибо.
класс титановый велосипед для тактовой кнопки.
читать с конца.