Файлы калибровки для каждого Arduino?
Я планирую установить в своем саду множество встроенных устройств, и каждое из них будет иметь свой собственный аналоговый датчик влажности. Каждый датчик влажности должен быть откалиброван индивидуально.
В идеальном мире у меня было бы одинаковое программное обеспечение на каждом встроенном устройстве с файлом конфигурации, содержащим калибровку для подключенного аналогового датчика влажности, чтобы я мог свести к минимуму разработку и работу CI / CD.
Возможно ли это с Arduino, или мне было бы лучше использовать встроенное устройство с адресуемой вспышкой, например ESP32?
@Matt Simmons, 👍1
Обсуждение1 ответ
Как уже упоминал Эдгар Бонет, стоит попробовать встроенную EEPROM. Однако ниже я привожу несколько вариантов:
- В случае, если файл конфигурации (данные) макс. 1 КБ, вы можете использовать встроенную / внутреннюю EEPROM Arduino UNO.
- В случае, если файл конфигурации больше, у вас есть несколько вариантов:
- На ESP32 вы можете использовать 4 КБ EEPROM.
- Если оно выше, то на ESP32 вы также можете использовать файловую систему SPIFFS, хранящуюся в EEPROM.
- Для других микроконтроллеров (включая ESP32) вы можете использовать внешний EEPROM различных размеров на основе SPI или I2C.
- Если вы хотите использовать очень большой конфигурационный файл, вы можете использовать SD-карту, что, конечно, намного медленнее, которая обычно основана на SPI и может использоваться как на Arduino, так и на ESP32.
Итак, для сравнения между Arduino Uno / ESP32
MCU Solution Speed Size External Wearout
Hardware
----------- ------------------ ----- ------ -------- --------------
Arduino Internal EEPROM High 1 KB No EEPROM Wearout
ESP32 EEPROM Simulation High 4 KB No Flash Wearout
ESP32 SPIFFS File System High <Flash No Flash Wearout
Size
Both External EEPROM High <1MB * Yes EEPROM Wearout
Both SD Card Slow <256GB Yes -
* Обычно от 4 КБ до 1 МБ, с использованием SPI или I2C
- DHT11 аналоговый или цифровой?
- Как подключить LCD i2c, используя только контакты A0 и A1 (приведены SDA, SCL, GND и VCC)
- Как найти пиковое значение аналогового сигнала?
- Генерация истинного аналогового сигнала с помощью Arduino
- Управление сервоприводом без библиотеки сервоприводов
- Невозможно получить постоянное чтение с тензодатчиками
- Как откалибровать термометр MPU 6050?
- Как считывать аналоговое значение на ESP32-CAM с включенным считывателем SD-карт?
Вы можете попробовать использовать встроенную EEPROM., @Edgar Bonet
Если встроенный EEPROM слишком мал, существует множество последовательных EEPROM для шины SPI и I2C, что дает вам много энергонезависимой памяти., @the busybee
в вашем вопросе есть некоторое заблуждение. esp32 также можно использовать с Arduino. существует множество различных Arduino с различными возможностями энергонезависимой памяти. вы должны быть более конкретными,, @Juraj
я бы поставил кастрюлю на устройство, так как калибровка меняется по мере окисления и износа датчиков (что происходит через несколько месяцев, даже при отсутствии активного питания). В любом случае они не очень точны, отклонение на 10% от обратных показаний считается хорошим для всех датчиков, кроме совершенно новых., @dandavis