Inhoudsopgave:
- Stap 1: Componentenlijst
- Stap 2: Aansluitingen:
- Stap 3: Procedure
- Stap 4: Arduino-code:
- Stap 5: Android-app:
Video: Temperatuur- en vochtigheidsdatalogger van Arduino naar Android-telefoon met SD-kaartmodule via Bluetooth - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Hallo allemaal, dit is mijn eerste Instructable ooit, ik hoop dat ik de maker-gemeenschap help omdat ik er baat bij heb gehad.
Vaak gebruiken we sensoren in onze projecten, maar het vinden van een manier om de gegevens te verzamelen, op te slaan en over te dragen. Telefoons of andere apparaten direct en draadloos waren geen kant-en-klaar proces. Dit Instructable zal u begeleiden door:
- Gegevens ophalen van sensor (DHT 11) - temperatuur- en vochtigheidssensor.
- Opslaan van de verkregen gegevens op SD-kaart met SD-kaartmodule.
- De data draadloos via Bluetooth overzetten naar een op maat gemaakte Android App.
- Opslaan van de ontvangen sensorwaarden als tekstbestand (.txt-bestand).
Stap 1: Componentenlijst
Laten we naar beneden gaan om de troepen te verzamelen om dit geweldige project te maken.
- Arduino Uno (elke andere Arduino is ook geschikt)
- micro SD-kaartmodule.
- SD-kaartmodule (degene die ik gebruik is 8 GB, het wordt aangeraden om >=32 GB te gebruiken)
- HC05 - Bluetooth-module
- DHT11 (temperatuur- en vochtigheidssensor)
- Stelletje springers.
- Android telefoon
Stap 2: Aansluitingen:
Het in elkaar zetten en aansluiten van componenten is voor het project halverwege. De genoemde producten zijn gemakkelijk verkrijgbaar in de meeste elektronische winkels en online sites zoals Amazon.
Arduino - HC05-verbinding (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin 0 - Tx
- Pin 1 - Rx
Arduino - SD-kaart module aansluiting:
- +5V - Vcc
- Gnd - Gnd
- Pin 11 - MOSI (Master Uit Slave In)
- Pin 12 - MISO (Master In Slave Out)
- Pin 13 - SCk (klok synchroon)
- Pin 4 - CS (Chip Select)
Arduino - HC05-verbinding (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin A0 - Signaal
Stap 3: Procedure
Verbind alle onderdelen zoals vermeld in de vorige stap, Hiermee kunnen we code schrijven in de Arduino Ide om ons doel te bereiken.
Het tweede deel van ons project is om een Android-app te hebben om de sensorwaarden te ontvangen, de waarden weer te geven en op te slaan in een bestand op de mobiel. Ik heb Thunkable gebruikt om de Android-applicatie te maken en heb er ook de apk en aia voor geleverd.
Stap 4: Arduino-code:
De Arduino-code is hieronder gegeven en uitgelegd.
De Arduino-code is meestal zelfverklarend met een SD-kaartbibliotheek en een DHT11-bibliotheek. De bluetooth maakt gebruik van hardware seriële die pin0 en pin1 van de arduino is, vandaar dat bluetooth-overdracht plaatsvindt met de seriële print () -functies die het I2C-protocol gebruiken en de SD-kaartmodule het SPI-protocol gebruikt om ermee te communiceren.
/*
* SD-kaart als volgt aangesloten op de SPI-bus:
** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (voor MKRZero SD: SDCARD_SS_PIN) * *HC 05 module-aansluiting: ** TX - pin 0 (standaard) gewijzigd als Softwareserial wordt gebruikt] ** RX - pin 1 (standaard) [kan worden gewijzigd als Softwareserial wordt gebruikt]
*/
#erbij betrekken
#include #include
Bestand mijnBestand;
dht-DHT; #definieer DHT11_PIN A0
ongeldige setup() {
// Open seriële communicatie en wacht tot de poort wordt geopend: Serial.begin (9600); Serial.println("Type, \tStatus, \tVochtigheid(%), \tTemperatuur(C)"); while (!Serial) {; // wacht tot de seriële poort verbinding maakt. Alleen nodig voor native USB-poort } DHTAcq(); sdCardWrite("test3.txt"); sdCardRead ("test3.txt");
}
ongeldig DHTAcq()
{ Serial.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); Serial.print (DHT.vochtigheid, 1); Serieel.print(", \t"); Seriële.afdruk (DHT.temperatuur, 1); vertraging (2000); }
void sdCardWrite(String bestandsnaamStr)
{ Serial.println("Initialiseren SD-kaart"); if (!SD.begin(4)) { Serial.println("Initialisatie mislukt."); opbrengst; } Serial.println("Initialisatie klaar!"); // open het bestand. merk op dat er maar één bestand tegelijk geopend kan zijn, // dus je moet dit bestand sluiten voordat je een ander opent. mijnBestand = SD.open(bestandsnaamStr, FILE_WRITE); // als het bestand goed is geopend, schrijf er dan naar: if (myFile) { myFile.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); myFile.print(DHT.vochtigheid, 1); mijnBestand.print(", \t"); myFile.print(DHT.temperatuur, 1); mijnBestand.close(); Serial.println("klaar!"); vertraging (200); /*Serial.print("Schrijven naar test.txt…"); myFile.println("test 1, 2, 3."); // sluit het bestand: myFile.close(); Serial.println("klaar."); */ } else { // als het bestand niet is geopend, druk dan een fout af: Serial.println("error opening test.txt"); } }
void sdCardRead (String bestandsnaam)
{ // heropen het bestand om te lezen: myFile = SD.open(fileName); if (mijnBestand) { Serial.println("test.txt:"); // lees uit het bestand totdat er niets anders in zit: while (myFile.available()) { Serial.write(myFile.read()); } // sluit het bestand: myFile.close(); } else { // als het bestand niet is geopend, druk dan een fout af: Serial.println("error opening test.txt"); } }
lege lus() {
// er gebeurt niets na installatie //Serial.println ("test 1.. 2.. 3"); //vertraging (1000); }
Stap 5: Android-app:
De Android-app is gemaakt met de Thunkable-applicatie met slepen en neerzetten. Het logt de gegevens in op het label op het scherm en zodra de Store Data-knop is ingedrukt op de locatie AppInventor/Data met de bestandsnaam die de code heeft gekregen.
Het project kan worden uitgebreid met offline opslag van alle sensorgegevens die we willen door deze te vervangen door de gewenste sensormodules en de app kan worden uitgebreid om de gegevens uit de opslag op te halen en te manipuleren om aan de toepassing te voldoen.
Aanbevolen:
Meting van temperatuur met behulp van ADT75 en Arduino Nano: 4 stappen
Temperatuurmeting met ADT75 en Arduino Nano: ADT75 is een zeer nauwkeurige, digitale temperatuursensor. Het bestaat uit een bandgap-temperatuursensor en een 12-bits analoog-naar-digitaalomzetter voor het bewaken en digitaliseren van de temperatuur. Zijn zeer gevoelige sensor maakt hem competent genoeg voor mij
Meting van temperatuur met behulp van LM75BIMM en Arduino Nano: 4 stappen
Meting van temperatuur met behulp van LM75BIMM en Arduino Nano: LM75BIMM is een digitale temperatuursensor ingebouwd met thermische waakhond en heeft een tweedraads interface die de werking ondersteunt tot 400 kHz. Het heeft een oververhittingsuitgang met programmeerbare limiet en hystersis.In deze tutorial wordt de interfacin
Meting van temperatuur met behulp van AD7416ARZ en Arduino Nano: 4 stappen
Temperatuurmeting met behulp van AD7416ARZ en Arduino Nano: AD7416ARZ is een 10-bits temperatuursensor met vier enkelkanaals analoog naar digitaal converters en een ingebouwde temperatuursensor. De temperatuursensor op de onderdelen is toegankelijk via multiplexerkanalen. Deze zeer nauwkeurige temp
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: 37 stappen
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: Introductie van NCD's Long Range IoT Industrial draadloze trillings- en temperatuursensor, met een bereik tot 3 mijl door het gebruik van een draadloze mesh-netwerkstructuur. Dit apparaat is voorzien van een nauwkeurige 16-bits trillings- en temperatuursensor en
HRV-temperatuur naar OpenHAB via ESP8266 (voorbeeld met seriecode!): 3 stappen
HRV-temperatuur naar OpenHAB via ESP8266 (voorbeeld van seriële code!): HRV - Draadloos naar OpenHAB Deze instructie is specifiek voor diegenen die een HRV-systeem (verwarmingsrecirculatieventilatie) hebben - hoewel delen van de printplaat, openhab-configuratie of Arduino-code (zoals lezen TTL seriële data) kan h