Оглавление:

Регистратор данных температуры и влажности с Arduino на телефон Android с модулем SD-карты через Bluetooth: 5 шагов
Регистратор данных температуры и влажности с Arduino на телефон Android с модулем SD-карты через Bluetooth: 5 шагов

Видео: Регистратор данных температуры и влажности с Arduino на телефон Android с модулем SD-карты через Bluetooth: 5 шагов

Видео: Регистратор данных температуры и влажности с Arduino на телефон Android с модулем SD-карты через Bluetooth: 5 шагов
Видео: esp 32 cam. Плата ESP с камерой ov2640 Установка ESP32, подключение 2024, Ноябрь
Anonim
Регистратор данных температуры и влажности с Arduino на телефон Android с модулем SD-карты через Bluetooth
Регистратор данных температуры и влажности с Arduino на телефон Android с модулем SD-карты через Bluetooth

Привет всем, это моя первая инструкция. Надеюсь, я помогу сообществу разработчиков, поскольку она мне очень понравилась.

Часто мы используем датчики в наших проектах, но поиск способа сбора данных, их хранения и немедленной передачи. Телефоны или другие устройства, а также беспроводная связь не были готовым процессом. Это руководство проведет вас через

  • Получение данных от датчика (DHT 11) - датчика температуры и влажности.
  • Сохранение полученных данных на SD-карте с модулем SD-карты.
  • Передача данных по беспроводной сети через Bluetooth в индивидуальное приложение для Android.
  • Сохранение полученных значений датчиков в виде текстового файла (файл.txt).

Шаг 1: Список компонентов

Список компонентов
Список компонентов
Список компонентов
Список компонентов
Список компонентов
Список компонентов

Давайте приступим к сбору войск для создания этого потрясающего проекта.

  • Arduino Uno (подойдет и любой другой ардуино)
  • модуль карты micro SD.
  • Модуль SD-карты (тот, который я использую, 8 ГБ, рекомендуется использовать> = 32 ГБ)
  • HC05 - модуль Bluetooth
  • DHT11 (датчик температуры и влажности)
  • Связка перемычек.
  • Телефон на Андроиде

Шаг 2: Подключения:

Подключения
Подключения

Сборка и соединение компонентов - это половина работы над проектом. Упомянутые продукты легко доступны в большинстве розничных электронных магазинов и онлайн-сайтов, таких как Amazon.

Подключение Arduino - HC05 (Bluetooth):

  • + 5В - Vcc
  • Земля - Земля
  • Контакт 0 - Tx
  • Контакт 1 - Rx

Arduino - подключение модуля SDcard:

  • + 5В - Vcc
  • Земля - Земля
  • Контакт 11 - MOSI (Master Out Slave In)
  • Контакт 12 - MISO (Master In Slave Out)
  • Контакт 13 - SCk (синхронно)
  • Контакт 4 - CS (выбор микросхемы)

Подключение Arduino - HC05 (Bluetooth):

  • + 5В - Vcc
  • Земля - Земля
  • Контакт A0 - сигнал

Шаг 3: Процедура

Процедура
Процедура

Соедините все части, как упомянуто в предыдущем шаге. Таким образом, мы можем написать код в Arduino Ide для достижения нашей цели.

Вторая часть нашего проекта - создать приложение для Android, которое будет принимать значения датчиков, отображать значения и сохранять их в файле на мобильном устройстве. Я использовал Thunkable для создания приложения для Android, а также предоставил для него apk и aia.

Шаг 4: Код Arduino:

Код Arduino приведен и объяснен ниже.

Код arduino в основном не требует пояснений с библиотекой SD-карт и библиотекой DHT11. Bluetooth использует аппаратный последовательный порт, который является pin0 и pin1 Arduino, поэтому передача Bluetooth происходит с функциями Serial print (), которые используют протокол I2C, а модуль SD-карты использует протокол SPI для связи с ним.

/*

* SD-карта подключается к шине SPI следующим образом:

** MOSI - контакт 11 ** MISO - контакт 12 ** CLK - контакт 13 ** CS - контакт 4 (для MKRZero SD: SDCARD_SS_PIN) * * Подключение модуля HC 05: ** TX - контакт 0 (по умолчанию) [может быть изменено, если используется Softwareserial] ** RX - контакт 1 (по умолчанию) [можно изменить, если используется Softwareserial]

*/

#включают

#include #include

File myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Открываем последовательную связь и ждем открытия порта: Serial.begin (9600); Serial.println ("Тип, / tStatus, / tВлажность (%), / tТемпература (C)"); в то время как (! серийный) {; // ждем подключения последовательного порта. Требуется только для собственного порта USB} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

void DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Серийный отпечаток (DHT.влажность, 1); Serial.print (", / t"); Последовательная печать (DHT.температура, 1); задержка (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println («Инициализация SD-карты»); if (! SD.begin (4)) {Serial.println ("Ошибка инициализации."); возвращение; } Serial.println («Инициализация выполнена!»); // открываем файл. обратите внимание, что одновременно может быть открыт только один файл, // поэтому вы должны закрыть этот, прежде чем открывать другой. myFile = SD.open (fileNameStr, FILE_WRITE); // если файл открылся нормально, напишите в него: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.humidity, 1); myFile.print (", / t"); myFile.print (DHT.temperature, 1); myFile.close (); Serial.println («готово!»); задержка (200); /*Serial.print(" Запись в test.txt… "); myFile.println («тестирование 1, 2, 3.»); // закрываем файл: myFile.close (); Serial.println ("готово."); * /} else {// если файл не открывался, вывести ошибку: Serial.println ("error open test.txt"); }}

void sdCardRead (String fileName)

{// повторно открыть файл для чтения: myFile = SD.open (fileName); если (myFile) {Serial.println ("test.txt:"); // читаем из файла, пока в нем ничего не останется: while (myFile.available ()) {Serial.write (myFile.read ()); } // закрываем файл: myFile.close (); } else {// если файл не открывался, вывести ошибку: Serial.println ("error open test.txt"); }}

void loop () {

// после настройки ничего не происходит //Serial.println("test 1.. 2.. 3 "); // задержка (1000); }

Шаг 5. Приложение для Android:

Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android

Приложение для Android было создано с помощью приложения Thunkable с программированием перетаскивания. Он будет записывать данные в метку на экране и после нажатия кнопки «Сохранить данные» в расположении AppInventor / Data с именем файла, которому был присвоен код.

Проект может быть расширен, чтобы иметь автономное хранилище любых данных датчиков, которые мы хотим, заменив желаемые модули датчиков, и приложение может быть расширено для извлечения данных из хранилища и управления в соответствии с приложением.

Рекомендуемые: