Съдържание:

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

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

Видео: Регистратор на данни за температурата и влажността от Arduino до телефон с Android с модул SD карта чрез Bluetooth: 5 стъпки
Видео: Контроллер температуры мобильного телефона с модулем WIFI DT 06 | Программирование LDmicro-Roboremo 2024, Ноември
Anonim
Регистратор на данни за температурата и влажността от Arduino до телефон с Android с модул SD карта чрез Bluetooth
Регистратор на данни за температурата и влажността от Arduino до телефон с Android с модул SD карта чрез Bluetooth

Здравейте всички, това е първият ми Instructable някога, надявам се, че ще помогна на общността на производителите, тъй като бях облагодетелстван от него.

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

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

Стъпка 1: Списък на компонентите

Списък на компонентите
Списък на компонентите
Списък на компонентите
Списък на компонентите
Списък на компонентите
Списък на компонентите

Нека слезем да съберем войските, за да направим този страхотен проект.

  • Arduino Uno (всеки друг arduino също ще бъде подходящ)
  • модул за micro SD карта.
  • Модул SD карта (този, който използвам е 8 GB, препоръчително е да използвате> = 32 GB)
  • HC05 - Bluetooth модул
  • DHT11 (сензор за температура и влажност)
  • Куп джъмпери.
  • Android телефон

Стъпка 2: Връзки:

Връзки
Връзки

Сглобяването и свързването на компоненти е направено наполовина за проекта. Споменатите продукти са лесно достъпни в повечето електронни магазини и онлайн сайтове като Amazon.

Връзка Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Пин 0 - Tx
  • Щифт 1 - Rx

Arduino - Връзка с модул SDcard:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • ПИН 12 - MISO (Master In Slave Out)
  • Пин 13 - SCk (синхронизиран часовник)
  • Pin 4 - CS (Chip Select)

Връзка Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • ПИН А0 - Сигнал

Стъпка 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]

*/

#включва

#включи #включи

Файл myFile;

dht DHT; #дефинирайте DHT11_PIN A0

void setup () {

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

}

void DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (DHT.humidity, 1); Serial.print (", / t"); Serial.print (DHT.temperature, 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 ("грешка при отваряне на test.txt"); }}

void sdCardRead (String fileName)

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

void loop () {

// нищо не се случва след настройка //Serial.println("test 1.. 2.. 3 "); // забавяне (1000); }

Стъпка 5: Приложение за Android:

Приложение за Android
Приложение за Android
Приложение за Android
Приложение за Android

Приложението за Android е направено с Thunkable приложение с програмиране с плъзгане и пускане. Той ще регистрира данните в етикета на екрана и след като натисне бутона Store Data на местоположението AppInventor/Data с името на файла, на който е даден кодът.

Проектът може да бъде разширен, за да има офлайн съхранение на каквито и да е сензорни данни, които искаме да заменим с желаните сензорни модули, а приложението може да бъде разширено, за да извлича данните от хранилището и да манипулира, за да отговаря на приложението.

Препоръчано: