цифровая электроника
вычислительная техника
встраиваемые системы

 

Простой регистратор данных на Arduino с модулем SD-карты

Автор: Mike(admin) от 17-10-2016, 16:42

Одним из вариантов применения платы Arduino может быть сбор и обработка данных от различных датчиков. Для такого приложения внутренней памяти (как flash, так и энергонезависимой памяти EEPROM) микроконтроллера ATmega, используемого в Arduino, будет явно недостаточно. Тем более в некоторых случаях эти зарегистрированные данные необходимо прочитать и проанализировать на другом устройстве, например, на компьютере.


Простой регистратор данных на Arduino с модулем SD-карты

Тогда остается только запись информации на какой-либо внешний съемный накопитель, и самым удобным и дешевым вариантом является использование SD-карты. В этом материале будет показано, как своими руками сделать простейший регистратор данных с помощью платы Arduino Uno и модуля для работы с SD-картами.


Передача информации между Arduino и модулем для SD-карт осуществляется по протоколу SPI. Подключение этих двух устройств довольно простое:


5 V - 5 V (VCC)
GND - GND
D13 - SCK
D12 - MISO
D11 - MOSI
D10 - CS


Теперь в Arduino IDE нужно подключить библиотеку SdFat-master, которую можно скачать здесь. Разархивируйте содержимое zip-файла библиотеки в папку Libraries, находящуюся в каталоге Arduino IDE. Перед использованием SD-карты обязательно отформатируйте ее, например, в формате FAT16 или FAT32. После этого можете вставить ее в слот модуля.


Для того, чтобы проверить работоспособность модуля и SD-карты, в примерах выберете SdInfo. Соедините Arduino с компьютером посредством кабеля USB и загрузите скетч.


Простой регистратор данных на Arduino с модулем SD-карты

Затем откройте монитор последовательного порта, введите любой символ и нажмите Enter. После этого будет выведена информация по подключенной SD-карты.


Простой регистратор данных на Arduino с модулем SD-карты

Теперь можно приступить к записи данных непосредственно на SD-карту. Для начала откройте скетч Datalogger (File - Examples - SD - Datalogger) и загрузите его в Arduino. Этот скетч считывает информацию с трех аналоговых входов и записывает ее на карту памяти в текстовый файл datalog.txt, который можно открыть на компьютере. Запись данных можно наблюдать в мониторе последовательного порта.


Простой регистратор данных на Arduino с модулем SD-карты

Теперь можно создать свой логгер данных, подключив датчик температуры LM35. Схема подключения показана ниже.


Простой регистратор данных на Arduino с модулем SD-карты

Далее представлен код, который будет считывать значения температуры с датчика и записывать их на SD-карту в файл log.txt.



#include <SPI.h>
#include <SD.h>
File myFile;
int x = 0;
int tempValue;
void setup()
{
   pinMode(10, OUTPUT);
   SD.begin(10);
}
void loop()
{
   tempValue = analogRead(A0);
   myFile = SD.open("log.txt", FILE_WRITE);
   if (myFile) {
      myFile.print("Temperature ");
      myFile.print(x);
      myFile.print(":");
      myFile.println((long)tempValue*0.48875);
   }
   myFile.close(); 
   x++;
   delay(1000);
}



© digitrode.ru


Теги: Arduino, датчик температуры




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий