Innholdsfortegnelse:

Temperatur- og fuktighetsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trinn
Temperatur- og fuktighetsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trinn

Video: Temperatur- og fuktighetsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trinn

Video: Temperatur- og fuktighetsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trinn
Video: Scentroid's CTAir Continuous Urban Air Quality Monitor Seminar A 12.08.2020 (Subtitled) 2024, November
Anonim
Temperatur- og fuktighetsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth
Temperatur- og fuktighetsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth

Hei alle sammen, Dette er min første instruerbare noensinne. Håper jeg hjelper skapermiljøet ettersom jeg har fått fordeler av det.

Ofte bruker vi sensorer i prosjektene våre, men det var ikke en ferdig prosess å finne en måte å samle data, lagre og overføre telefoner eller andre enheter på. Denne instruksen vil guide deg gjennom

  • Innhente data fra sensor (DHT 11) - temperatur- og fuktighetssensor.
  • Lagre de innhentede dataene på SD -kortet med SD -kortmodulen.
  • Overføre dataene trådløst med Bluetooth til en skreddersydd Android -app.
  • Lagre de mottatte sensorverdiene som tekstfil (.txt -fil).

Trinn 1: Komponentliste

Komponentliste
Komponentliste
Komponentliste
Komponentliste
Komponentliste
Komponentliste

La oss gå ned for å samle troppene for å lage dette fantastiske prosjektet.

  • Arduino Uno (annen arduino vil også være egnet)
  • micro SD -kortmodul.
  • SD -kortmodul (den jeg bruker er 8 GB, det anbefales å bruke> = 32 GB)
  • HC05 - Bluetooth -modul
  • DHT11 (temperatur- og fuktighetssensor)
  • En haug med hoppere.
  • Android -telefon

Trinn 2: Tilkoblinger:

Tilkoblinger
Tilkoblinger

Å sette sammen og koble til komponenter er halvveis ferdig for prosjektet. Produktene nevnt er lett tilgjengelige i de fleste elektroniske butikker og nettsteder som Amazon.

Arduino - HC05 -tilkobling (Bluetooth):

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

Arduino - SD -kortmodulstilkobling:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (Klokke synkron)
  • Pin 4 - CS (Chip Select)

Arduino - HC05 -tilkobling (Bluetooth):

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

Trinn 3: Fremgangsmåte

Fremgangsmåte
Fremgangsmåte

Koble til alle delene som nevnt i forrige trinn. Med dette kan vi skrive kode i Arduino Ide for å nå målet vårt.

Den andre delen av prosjektet vårt er å få en Android -app til å motta sensorverdiene, vise verdiene og lagre den i en fil i mobilen. Jeg har brukt Thunkable til å lage Android -applikasjonen, og har også levert apk og aia for den.

Trinn 4: Arduino -kode:

Arduino -koden er gitt og forklart nedenfor.

Arduino -koden er for det meste selvforklarende med SD -kortbibliotek og DHT11 -bibliotek. Bluetooth bruker maskinvareseriell som er pin0 og pin1 i arduinoen, derfor skjer Bluetooth -overføring med funksjonene Serial print () som bruker I2C -protokollen, og SD -kortmodulen bruker SPI -protokollen for å kommunisere med den.

/*

* SD -kort festet til SPI -bussen som følger:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN) * * HC 05 modultilkobling: ** TX - pin 0 (standard) [kan være endret hvis programvare brukes] ** RX - pin 1 (standard) [kan endres hvis programvare brukes]

*/

#inkludere

#include #include

Fil myFile;

dht DHT; #define DHT11_PIN A0

ugyldig oppsett () {

// Åpne seriell kommunikasjon og vent på at porten åpnes: Serial.begin (9600); Serial.println ("Type, / tStatus, / tFuktighet (%), / tTemperatur (C)"); mens (! Seriell) {; // vent på at seriell port kobles til. Bare nødvendig for en innfødt USB -port} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

ugyldig DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serielt trykk (DHT. Fuktighet, 1); Serial.print (", / t"); Serielt trykk (DHT. Temperatur, 1); forsinkelse (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Initialiserer SD -kort"); hvis (! SD.begin (4)) {Serial.println ("Initialisering mislyktes."); komme tilbake; } Serial.println ("Initiering gjort!"); // åpne filen. Vær oppmerksom på at bare en fil kan være åpen om gangen, // så du må lukke denne før du åpner en annen. myFile = SD.open (fileNameStr, FILE_WRITE); // hvis filen åpnet ok, skriv til den: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.fuktighet, 1); myFile.print (", / t"); myFile.print (DHT.temperatur, 1); myFile.close (); Serial.println ("ferdig!"); forsinkelse (200); /*Serial.print("Writing to test.txt … "); myFile.println ("testing 1, 2, 3."); // lukk filen: myFile.close (); Serial.println ("ferdig."); */} annet {// hvis filen ikke åpnes, skriver du ut en feil: Serial.println ("feil ved åpning av test.txt"); }}

void sdCardRead (strengfilnavn)

{// gjenåpne filen for lesing: myFile = SD.open (filnavn); if (myFile) {Serial.println ("test.txt:"); // lese fra filen til det ikke er noe annet i den: while (myFile.available ()) {Serial.write (myFile.read ()); } // lukk filen: myFile.close (); } annet {// hvis filen ikke åpnet, skriver du ut en feil: Serial.println ("feil ved åpning av test.txt"); }}

void loop () {

// ingenting skjer etter oppsett //Serial.println("test 1.. 2.. 3 "); // forsinkelse (1000); }

Trinn 5: Android -app:

Android -app
Android -app
Android -app
Android -app

Android -appen er laget med Thunkable -program med dra og slipp -programmering. Den vil logge dataene på etiketten på skjermen, og når du har trykket på Butikkdata -knappen på plasseringen AppInventor/Data med filnavnet som har fått koden.

Prosjektet kan utvides til å ha frakoblet lagring av sensordataene vi ønsker ved å erstatte med ønskede sensormoduler, og appen kan utvides for å hente data fra lagringen og manipulere for å passe applikasjonen.

Anbefalt: