Как записать данные на флешку?
Я работаю над проектом, в котором мне нужно регистрировать данные, но мне интересно, можно ли регистрировать эти данные на флэш-накопителе? Я знаю, что могу записывать данные на SD-карту, но я подумал, что флэш-накопитель будет более доступен для пользователей, которые хотят получить данные. И если есть возможность записать на флешку, можно ли это сделать в формате CSV? Данные — это просто данные датчика.
@Renier Jr., 👍2
Обсуждение2 ответа
Лучший ответ:
В принципе, вы можете записывать на флэш-накопитель любые данные, двоичные и текстовые (таким образом, также CSV).
Однако Arduino Uno не поддерживает прямое подключение USB-накопителя. Если вы хотите подключить USB-накопитель, вам понадобится так называемый USB Host Shield (для Arduino).
Дополнительную информацию можно прочитать на сайте Arduino на этой странице:
https://docs.arduino.cc/retired/shields/arduino-usb-host -щит
[Обновлено]
В качестве альтернативы хост-шилду Uno также может помочь переход на другой микроконтроллер Arduino. Для связи с флэш-накопителями требуется USB-хост.
Некоторые модели Arduino имеют встроенный порт USB (например, Arduino Due, Arduino Leonardo, Arduino Micro, Arduino Nano 33 IOT, Arduino Zero, Arduino MKR Zero, Arduino MKR1000...), который будет работать как клиентское USB-устройство.
Меньший набор микроконтроллеров может действовать как USB-клиент или хост (например, Arduino Due, Arduino Portenta и т. д.). Существует библиотека USBHost для Arduino Due, указанная в справочнике по Arduino. Документация по Arduino Portenta в режиме хоста USB находится здесь.
Здесь обсуждение ( и ссылку на альтернативную библиотеку) относительно использования Due для записи файлов на флэш-накопитель.
Конечно, требуется кабель-переходник или флэш-накопитель с физическим разъемом, соответствующим родному порту USB на выбранном MCU. Оба общедоступны.
См. также Может ли Arduino взаимодействовать с USB-устройствами без защитного экрана USB?
Для Micro и Leonardo в техническом описании ATmega32U4 указано, что его USB-контроллер «поддерживает полноскоростную и низкоскоростную роль _Device_». Я не вижу упоминания о поддержке роли _host_. Вы уверены, что они могут выступать в качестве хозяина?, @Edgar Bonet
Привет, Эдгар, у меня нет опыта работы с Due, поэтому я полагался на связанное обсуждение списка других MCU с родным USB. Я отредактирую свой ответ. Спасибо. Знаете ли вы список MCU с родным USB, поддерживающим хост?, @RowanP
Нет простите. Мой опыт работы с Arduino с поддержкой USB ограничен игрой с библиотекой [Keyboard](https://github.com/arduino-libraries/Keyboard) на Micro. Я только что узнал, что Due поддерживает хост, благодаря вашему ответу., @Edgar Bonet
Спасибо за помощь!, @Renier Jr.
- Защита вашего компьютера от глупых (arduino) ошибок
- Установите Arduino IDE в Raspberry Pi 3 модели B.
- Arduino Uno R3 (с Atmega 16u2) и MAC OSX 10.11 (El Capitan) не работают
- Arduino Uno не загружает код и перегревается
- Как считывать и записывать данные с USB-накопителя?
- Динамически обновить масштаб виджета Tkinter из портов Arduino с помощью python и firmata
- Arduino Uno R3 не распознается Arduino IDE в Ubuntu 21.04
- Разбудить компьютер из Uno
они делают крошечные ридеры, которые преобразуют sd / microsd в USB-накопители примерно в том же форм-факторе, что и флэш-накопитель. не совсем то же самое, но гораздо проще и дешевле взаимодействовать с MCU., @dandavis