Sommario:

Registratore di dati di temperatura e umidità da Arduino a telefono Android con modulo scheda SD tramite Bluetooth: 5 passaggi
Registratore di dati di temperatura e umidità da Arduino a telefono Android con modulo scheda SD tramite Bluetooth: 5 passaggi

Video: Registratore di dati di temperatura e umidità da Arduino a telefono Android con modulo scheda SD tramite Bluetooth: 5 passaggi

Video: Registratore di dati di temperatura e umidità da Arduino a telefono Android con modulo scheda SD tramite Bluetooth: 5 passaggi
Video: Recensione contenuti Rivista n.235 Elettronica In - Maggio 2019 2024, Dicembre
Anonim
Registratore di dati di temperatura e umidità da Arduino a telefono Android con modulo scheda SD tramite Bluetooth
Registratore di dati di temperatura e umidità da Arduino a telefono Android con modulo scheda SD tramite Bluetooth

Ciao a tutti, questo è il mio primo Instructable in assoluto, spero di aiutare la comunità dei creatori in quanto ne ho tratto beneficio.

Spesso utilizziamo sensori nei nostri progetti, ma trovare un modo per raccogliere i dati, archiviarli e trasferirli. Telefoni o altri dispositivi immediatamente e senza fili non erano un processo già pronto. Questo Instructable ti guiderà attraverso

  • Acquisizione dati dal sensore (DHT 11) - sensore di temperatura e umidità.
  • Memorizzazione dei dati acquisiti in SD card con modulo SD card.
  • Trasferimento dei dati wireless tramite Bluetooth a un'app Android personalizzata.
  • Memorizzazione dei valori del sensore ricevuti come file di testo (file.txt).

Passaggio 1: elenco dei componenti

Elenco dei componenti
Elenco dei componenti
Elenco dei componenti
Elenco dei componenti
Elenco dei componenti
Elenco dei componenti

Andiamo a radunare le truppe per realizzare questo fantastico progetto.

  • Arduino Uno (anche qualsiasi altro arduino sarà adatto)
  • modulo per scheda microSD.
  • Modulo scheda SD (quello che sto utilizzando è 8 GB, si consiglia di utilizzare> = 32 GB)
  • HC05 - Modulo Bluetooth
  • DHT11 (Sensore di temperatura e umidità)
  • Mazzo di maglioni.
  • Telefono Android

Passaggio 2: connessioni:

Connessioni
Connessioni

Mettere insieme e collegare i componenti è a metà del progetto. I prodotti citati sono facilmente disponibili nella maggior parte dei negozi di elettronica al dettaglio e siti online come Amazon.

Collegamento Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 0 - Tx
  • Pin 1 - Rx

Arduino - Collegamento del modulo SDcard:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (orologio sincrono)
  • Pin 4 - CS (selezione chip)

Collegamento Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin A0 - Segnale

Passaggio 3: procedura

Procedura
Procedura

Connetti tutte le parti come menzionato nel passaggio precedente, con questo possiamo scrivere il codice nell'Ide di Arduino per raggiungere il nostro obiettivo.

La seconda parte del nostro progetto è avere un'app Android per ricevere i valori del sensore, visualizzare i valori e salvarli in un file nel cellulare. Ho usato Thunkable per creare l'applicazione Android e ho anche fornito l'apk e aia per questo.

Passaggio 4: codice Arduino:

Il codice Arduino è stato fornito e spiegato di seguito.

Il codice arduino è per lo più autoesplicativo con la libreria di schede SD e la libreria DHT11. Il bluetooth utilizza la seriale hardware che è pin0 e pin1 dell'arduino, quindi il trasferimento bluetooth avviene con le funzioni Serial print() che utilizza il protocollo I2C e il modulo della scheda SD utilizza il protocollo SPI per comunicare con esso.

/*

* Scheda SD collegata al bus SPI come segue:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (per MKRZero SD: SDCARD_SS_PIN) * *Connessione modulo HC 05: ** TX - pin 0 (default)[può essere modificato se viene utilizzato Softwareserial] ** RX - pin 1 (predefinito) [può essere modificato se viene utilizzato Softwareserial]

*/

#includere

#include #include

File mioFile;

dht DHT; #define DHT11_PIN A0

void setup() {

// Apri le comunicazioni seriali e attendi l'apertura della porta: Serial.begin(9600); Serial.println("Tipo, \tStato, \tUmidità(%), \tTemperatura(C)"); while (!Serial) {; // attendi che la porta seriale si connetta. Necessario solo per la porta USB nativa } 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); ritardo (2000); }

void sdCardWrite(String fileNameStr)

{ Serial.println("Inizializzazione scheda SD"); if (!SD.begin(4)) { Serial.println("Inizializzazione fallita."); Restituzione; } Serial.println("Inizializzazione eseguita!"); //apro il file. nota che può essere aperto solo un file alla volta, // quindi devi chiudere questo prima di aprirne un altro. mioFile = SD.open(fileNameStr, FILE_WRITE); // se il file si è aperto correttamente, scrivici: if (myFile) { myFile.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); mioFile.print(DHT.humidity, 1); mioFile.print(", \t"); mioFile.print(DHT.temperature, 1); mioFile.close(); Serial.println("fatto!"); ritardo(200); /*Serial.print("Scrivo su test.txt…"); myFile.println("test 1, 2, 3."); // chiudi il file: myFile.close(); Serial.println("fatto."); */ } else { // se il file non si apre, stampa un errore: Serial.println("error opening test.txt"); } }

void sdCardRead(String fileName)

{ // riapri il file per la lettura: myFile = SD.open(fileName); if (mioFile) { Serial.println("test.txt:"); // legge dal file finché non contiene nient'altro: while (myFile.available()) { Serial.write(myFile.read()); } // chiudi il file: myFile.close(); } else { // se il file non si apre, stampa un errore: Serial.println("error opening test.txt"); } }

ciclo vuoto() {

// non succede nulla dopo l'installazione //Serial.println("test 1.. 2.. 3"); //ritardo(1000); }

Passaggio 5: applicazione per Android:

Applicazione Android
Applicazione Android
Applicazione Android
Applicazione Android

L'app per Android è stata realizzata con l'applicazione Thunkable con programmazione drag and drop. Registrerà i dati sull'etichetta sullo schermo e una volta premuto il pulsante Store Data sulla posizione AppInventor/Data con il nome del file a cui è stato assegnato il codice.

Il progetto può essere esteso per avere l'archiviazione offline di qualsiasi dato del sensore che desideriamo sostituendo con i moduli del sensore desiderati e l'app può essere estesa per recuperare i dati dall'archivio e manipolare in base all'applicazione.

Consigliato: