Arduino Nano BLE 33 пример скетча по умолчанию "USBHID> Клавиатура" делает Arduino непригодным для использования
Как возникла проблема
Я поиграл с использованием Arduino Nano BLE 33 в качестве клавиатуры и наткнулся на скетч USBHID> Keyboard, который я получил через предложение по умолчанию от менеджера платы для установки плат Arduino Mbed OS Nano
:
Смотрите источник на github.com/arduino/ArduinoCore-mbed, или воспроизведено ниже:
#include "PluggableUSBHID.h"
#include "USBKeyboard.h"
USBKeyboard Keyboard;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
delay(1000);
Keyboard.printf("Hello world\n\r");
}
Это казалось довольно невинным, поэтому я загрузил его, не задумываясь, думая, что могу доверять всему, что предоставлено самим Arduino в качестве примера сценария.
В чем проблема
Но теперь, как только я подключаю Nano, он вводит Hello world
, за которым следует новая строка every. одинокий. во-вторых.
Если я попытаюсь загрузить скетч blink, чтобы очистить его, мне сначала нужно выбрать порт, но процесс перехода через меню для выбора правильного порта занимает секунду, а при вводе Hello world
выбирается диспетчер библиотек и в конечном итоге открывается при нажатии enter из-за \н\р.
Таким образом, мой Arduino Nano стал бесполезным из-за кода, включенного в качестве примера в скетчи по умолчанию. Это не круто.
Неудачное решение № 1
Я попытался создать пользовательское сочетание клавиш, чтобы выбрать порт менее чем за секунду, а затем нажать cmd-U
для загрузки, но я думаю, что там также может быть проблема, потому что я получаю эту ошибку:
...
Found upload port: /dev/cu.usbmodem11401
/Users/<my username>/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac -d --port=cu.usbmodem11401 -U -i -e -w /var/folders/y1/md9_k_td4rz1f0pq26d24crh0000gn/T/arduino_build_230227/<my script name>.ino.bin -R
-> No device found on cu.usbmodem11401
An error occurred while uploading the sketch
....
Я абсолютно уверен, что cu.usbmodem11401
является правильным портом, потому что это то, что появляется, когда я использую ls /dev/cu *
при подключении Arduino. Поэтому я думаю, что Arduino IDE пытается загрузить файл в cu.usbmodem11401
, но видит, что это клавиатура, и решает, что он не может загрузить код на клавиатуру, поэтому прерывает работу.
Неудачное решение номер 2
Я попытался загрузить blink.ino
с другого ноутбука (также macos), но ничего не изменилось.
Неудачное решение номер 3
Я пытался искать способы "не доверять" клавиатуре, чтобы Arduino не посылал удары по клавиатуре, но ничего не смог.
Неудачное решение номер 4
Возможно, попытка короткого замыкания любого провода, который Arduino использует для связи с ноутбуком, сработает, но я не знаю достаточно, чтобы сделать это, поэтому я бы просто случайным образом подключал провода к земле, чего я действительно не хочу делать ...
Плавник
Я в растерянности, не знаю, что попробовать. Я зарегистрировал проблему с репозиторием github, но я не могу придумать других решений.
@beyarkay, 👍0
1 ответ
Лучший ответ:
Согласно техническомузаданию...
3.6 Восстановление платы
Все платы Arduino имеют встроенный загрузчик, который позволяет прошивать плату через USB. В случае, если скетч блокирует процессор и плата больше не доступна через USB, можно перейти в режим загрузчика, дважды нажав кнопку сброса сразу после включения питания.
Итак, подключите его и дважды нажмите кнопку сброса. Затем он должен загрузить загрузчик, и он будет сидеть там, ожидая, пока вы его перепрограммируете.
- Arduino nano как клавиатура HID
- Keyboard.h не найдена на Arduino nano
- Кнопка и поворотная ручка для отправки нажатия клавиши на ПК
- Arduino Uno R3 HID с модулем HC-06 BT
- Не удается ввести обратную косую черту (\) с помощью библиотеки клавиатуры
- Могу ли я использовать PL2303 USB to TTL Последовательный конвертер Модуль отправки нажатия клавиш с помощью Arduino nano?
- Почему Xbox360 не может определить Arduino Leonardo как клавиатуру?
- Клавиатура Arduino стартует строчными буквами (но не должна)
Легенда. Большое спасибо! Теперь я пойду прочитаю таблицу данных..., @beyarkay