Можно ли собирать данные, пока Arduino питается от батареи, подключаться к компьютеру, а затем считывать значения в последовательном мониторе?

Я хочу сделать проект, в котором буду собирать такие данные, как количество солнечных часов в день, а также максимумы и минимумы температуры. Как только я соберу 24-часовые данные, я хочу подключить их к компьютеру, чтобы считывать значения в последовательном мониторе. Когда я пытаюсь открыть последовательный монитор, он перезапускает программу, стирая всю память. Я попытался что-то сделать с помощью PROGMEM, но это, похоже, не помогло, так как это только для констант. Я хочу избежать использования жидкокристаллического дисплея для отображения данных, если это возможно.

, 👍3

Обсуждение

Вы собираетесь отключить питание перед подключением к ПК? Сколько данных ypu ожидает накопить в течение этих 24 часов? Существует ли только одно значение для каждого солнечного часа, максимальной температуры и минимальной температуры?, @Sim Son

Он будет питаться от порта 9 В, поэтому он не потеряет мощность. Я просто храню 5 переменных. Часы солнечного света, высокая температура, низкая температура, высокая влажность и низкая влажность., @Austin John Lippincott

Причина, по которой вы теряете свои данные в данный момент, заключается в том, что открытие последовательного порта сбрасывает Arduino. Вот как он запускает загрузчик для программирования. Вам придется отключить его, чтобы предотвратить сброс. Внутри перемычки есть след "RESET EN", который вы можете отрезать, чтобы отключить сброс, а затем снова соединить перемычку, когда захотите перепрограммировать. Или вы можете добавить большой конденсатор (например, 100 мкФ) между RESET и GND, чтобы попытаться свести на нет импульс reset., @Majenko


1 ответ


1

Да, это вполне возможно. Вам нужно будет написать процедуру, которую вы можете запустить с помощью последовательного. Например, вы будете слушать по последовательному каналу, пока не получите команду dump. Затем запустите функцию, которая выведет ваши переменные в последовательный режим.

Вы просто должны быть осторожны при сохранении 5 переменных.

При хранении в памяти (ОЗУ) следует избегать потери питания. Поэтому я бы предложил адаптер USB-последовательного подключения FTDI. Там вы просто подключаете провода TX, RX и GND и переходите к последовательному монитору Arduino IDE.

При хранении в EEPROM вы можете использовать обычный USB-разъем Arduino.

,

У меня не будет никаких потерь мощности, так как я использую 9-вольтовый разъем. Может быть, происходит кратковременное отключение питания, как только я подключаю его к компьютеру, а затем он переключает источники питания? EEPROM может быть хорошим вариантом. Я просто беспокоюсь, что через некоторое время он заполнится слишком быстро., @Austin John Lippincott

Вы не должны пытаться одновременно подключать Arduino к разъему Barrel И USB., @Kwasmich

Приятно это знать, спасибо., @Austin John Lippincott

@AustinJohnLippincott, насколько я понимаю, ардуино включают в себя схемы защиты, чтобы вы МОГЛИ одновременно подключать как USB, так и разъем для подключения, @Duncan C