Подсветка светодиода с помощью Arduino Uno с клавиатуры ПК

Я попытался включить светодиод с помощью клавиатуры ПК и Arduino Uno с буквой A.
Я получаю сообщение

статус выхода 1
'keypressed' не был объявлен в этой области

Мой код:

int led1 = 10;

void setup()
{

pinMode(led1, OUTPUT);
}
void loop()
{ 

 if(keypressed == 'a'){
               digitalWrite(led1, HIGH);
               delay(500);
}  
}

В чем проблема?

, 👍0

Обсуждение

Э-э, пожалуйста, не говорите мне, что вы только что придумали термин «нажатие клавиши», потому что я почти уверен, что это НЕ то, как работает программирование. Кстати, получить ввод с клавиатуры для управления USB-устройством совсем не просто. Наряду с кодом Arduino для Arduino вам нужна еще одна программа, которая будет обнаруживать нажатия на клавиатуре, а затем взаимодействовать с Arduino через последовательный порт., @Bradman175

Я думаю, что keypressed() должно быть serial.Read(), а затем отправить букву a из последовательного монитора или, возможно, создать скрипт python, чтобы найти, подключиться к последовательному порту arduino, после чего вы сможете отправить это персонаж. keypressed() не является допустимой функцией arduino!, @Elbehery


2 ответа


2

Во-первых, вы не можете просто придумать термин "нажатие клавиши", потому что язык программирования не может его понять (если только вы не назначите его как переменную, тогда его целью будет просто сохранение и извлечение значений). Во-вторых, ардуино само по себе не может обнаружить нажатия клавиш с компьютера. Нужна программа на компьютере, чтобы иметь возможность обнаруживать нажатия клавиш с клавиатуры, а затем отправлять их на Arduino.

Так как же это сделать?

Предполагая, что вы используете Windows, изучите Python (не такой уж сложный язык программирования для компьютера), а затем найдите msvcrt, и оттуда узнайте, как получать нажатия клавиш (это работает, только если вы в данный момент выбираете запущенную программу) . Затем в arduino и python научитесь использовать последовательный порт. Для Python вам необходимо загрузить эту библиотеку и научиться ее использовать. Для Arduino он уже есть, вам просто нужно научиться им пользоваться. Затем вы можете сделать все остальное и включить светодиод.

Надеюсь, это поможет.

,

0

Здесь вы объявили keypressed как переменную, поэтому вам нужно назначить ей ввод с помощью

'нажата клавиша = serial.read()' без кавычек перед оператором if в цикле void. Примечание: используйте последовательный монитор для ввода, а также назначьте 'серийный.начало (9600)' без кавычек в функции настройки void перед оператором pinmode.

,