Table des matières:

Enregistreur de données de température et d'humidité d'Arduino vers un téléphone Android avec module de carte SD via Bluetooth : 5 étapes
Enregistreur de données de température et d'humidité d'Arduino vers un téléphone Android avec module de carte SD via Bluetooth : 5 étapes

Vidéo: Enregistreur de données de température et d'humidité d'Arduino vers un téléphone Android avec module de carte SD via Bluetooth : 5 étapes

Vidéo: Enregistreur de données de température et d'humidité d'Arduino vers un téléphone Android avec module de carte SD via Bluetooth : 5 étapes
Vidéo: Беспроводная зарядка мобильного телефона - беспроводная передача энергии 2024, Juillet
Anonim
Enregistreur de données de température et d'humidité d'Arduino vers un téléphone Android avec module de carte SD via Bluetooth
Enregistreur de données de température et d'humidité d'Arduino vers un téléphone Android avec module de carte SD via Bluetooth

Bonjour à tous, il s'agit de mon premier Instructable, j'espère aider la communauté des fabricants car j'en ai bénéficié.

Souvent, nous utilisons des capteurs dans nos projets, mais trouver un moyen de collecter les données, de les stocker et de les transférer immédiatement et sans fil n'était pas un processus prêt à l'emploi. Ce Instructable vous guidera à travers

  • Acquisition des données du capteur (DHT 11) - capteur de température et d'humidité.
  • Stockage des données acquises sur carte SD avec module de carte SD.
  • Transfert des données sans fil via Bluetooth vers une application Android personnalisée.
  • Stockage des valeurs de capteur reçues sous forme de fichier texte (fichier.txt).

Étape 1: liste des composants

Liste des composants
Liste des composants
Liste des composants
Liste des composants
Liste des composants
Liste des composants

Descendons pour rassembler les troupes pour faire ce projet génial.

  • Arduino Uno (tout autre arduino conviendra également)
  • module de carte micro SD.
  • Module de carte SD (celui que j'utilise est de 8 Go, il est conseillé d'utiliser >=32 Go)
  • HC05 - Module Bluetooth
  • DHT11 (Capteur de température et d'humidité)
  • Bande de cavaliers.
  • Téléphone Android

Étape 2: Connexions:

Connexions
Connexions

L'assemblage et la connexion des composants sont à mi-chemin du projet. Les produits mentionnés sont facilement disponibles dans la plupart des magasins d'électronique et des sites en ligne comme Amazon.

Connexion Arduino - HC05 (Bluetooth):

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

Connexion du module Arduino - SDcard:

  • +5V - Vcc
  • Gnd - Gnd
  • Broche 11 - MOSI (Master Out Slave In)
  • Broche 12 - MISO (Master In Slave Out)
  • Broche 13 - SCk (horloge synchrone)
  • Broche 4 - CS (sélection de puce)

Connexion Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Broche A0 - Signal

Étape 3: Procédure

Procédure
Procédure

Connectez toutes les pièces comme mentionné à l'étape précédente. Avec cela, nous pouvons écrire du code dans l'Arduino Ide pour atteindre notre objectif.

La deuxième partie de notre projet est d'avoir une application Android pour recevoir les valeurs des capteurs, afficher les valeurs et les stocker dans un fichier dans le mobile. J'ai utilisé Thunkable pour créer l'application Android et j'ai également fourni l'apk et l'aia pour cela.

Étape 4: Code Arduino:

Le code Arduino a été donné et expliqué ci-dessous.

Le code arduino est principalement explicite avec la bibliothèque de cartes SD et la bibliothèque DHT11. Le bluetooth utilise une série matérielle qui est la broche 0 et la broche 1 de l'arduino. Par conséquent, le transfert Bluetooth se produit avec les fonctions Serial print() qui utilisent le protocole I2C et le module de carte SD utilise le protocole SPI pour communiquer avec lui.

/*

* Carte SD connectée au bus SPI comme suit:

** MOSI - broche 11 ** MISO - broche 12 ** CLK - broche 13 ** CS - broche 4 (pour MKRZero SD: SDCARD_SS_PIN) * *Connexion module HC 05: ** TX - broche 0 (par défaut)[peut être modifié si Softwareserial est utilisé] ** RX - broche 1 (par défaut) [peut être modifié si Softwareserial est utilisé]

*/

#comprendre

#include #include

Fichier monFichier;

dht DHT; #définir DHT11_PIN A0

void setup() {

// Ouvrir les communications série et attendre que le port s'ouvre: Serial.begin(9600); Serial.println("Type, \tStatus, \tHumidity(%), \tTemperature(C)"); while (!Série) {; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement } DHTAcq(); sdCardWrite("test3.txt"); sdCardRead("test3.txt");

}

annuler DHTAcq()

{ Serial.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); Serial.print(DHT.humidité, 1); Serial.print(", \t"); Serial.print(DHT.temperature, 1); retard (2000); }

void sdCardWrite(String fileNameStr)

{ Serial.println("Initialisation de la carte SD"); if (!SD.begin(4)) { Serial.println("L'initialisation a échoué."); revenir; } Serial.println("Initilisation terminée !"); // ouvre le fichier. notez qu'un seul fichier peut être ouvert à la fois, // vous devez donc fermer celui-ci avant d'en ouvrir un autre. monFichier = SD.open(fileNameStr, FILE_WRITE); // si le fichier s'est ouvert correctement, écrivez-y: if (monFichier) { monFichier.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); monFichier.print(DHT.humidité, 1); monFichier.print(", \t"); monFichier.print(DHT.temperature, 1); monFichier.close(); Serial.println("fait!"); retard (200); /*Serial.print("Ecriture dans test.txt…"); monFichier.println("test 1, 2, 3."); // ferme le fichier: monFichier.close(); Serial.println("fait."); */ } else { // si le fichier ne s'est pas ouvert, affiche une erreur: Serial.println("error opening test.txt"); } }

void sdCardRead (String fileName)

{ // rouvre le fichier en lecture: myFile = SD.open(fileName); if (monFichier) { Serial.println("test.txt:"); // lit à partir du fichier jusqu'à ce qu'il n'y ait rien d'autre dedans: while (myFile.available()) { Serial.write(myFile.read()); } // ferme le fichier: monFichier.close(); } else { // si le fichier ne s'est pas ouvert, affiche une erreur: Serial.println("error opening test.txt"); } }

boucle vide() {

// rien ne se passe après l'installation //Serial.println("test 1.. 2.. 3"); //retard(1000); }

Étape 5: Application Android:

Application Android
Application Android
Application Android
Application Android

L'application Android a été conçue avec l'application Thunkable avec une programmation par glisser-déposer. Il enregistrera les données sur l'étiquette à l'écran et une fois que vous aurez appuyé sur le bouton Store Data à l'emplacement AppInventor/Data avec le nom de fichier auquel le code a été attribué.

Le projet peut être étendu pour avoir un stockage hors ligne de toutes les données de capteur que nous voulons en les remplaçant par les modules de capteur souhaités et l'application peut être étendue pour récupérer les données du stockage et les manipuler en fonction de l'application.

Conseillé: