Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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
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:
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
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:
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.