Satura rādītājs:

Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth: 5 soļi
Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth: 5 soļi

Video: Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth: 5 soļi

Video: Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth: 5 soļi
Video: #4 Online sesija: Attālināta piekļuve pie HMI un PLC ar Weintek EasyAccess 2.0 (LV) 2024, Novembris
Anonim
Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth
Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth

Sveiki visi! Šī ir mana pirmā pamācība, ceru, ka es palīdzēšu veidotāju kopienai, jo esmu guvis labumu no tā.

Bieži vien savos projektos mēs izmantojam sensorus, bet atrast veidu, kā apkopot datus, tos uzglabāt un nekavējoties pārsūtīt Tālruņi vai citas ierīces nekavējoties un bezvadu savienojumi nebija gatavs process. Šī pamācība palīdzēs jums

  • Datu iegūšana no sensora (DHT 11) - temperatūras un mitruma sensors.
  • Iegūto datu uzglabāšana SD kartē ar SD kartes moduli.
  • Datu pārsūtīšana bezvadu režīmā, izmantojot Bluetooth, uz pielāgotu Android lietotni.
  • Saņemto sensoru vērtību saglabāšana kā teksta fails (.txt fails).

1. darbība: komponentu saraksts

Komponentu saraksts
Komponentu saraksts
Komponentu saraksts
Komponentu saraksts
Komponentu saraksts
Komponentu saraksts

Nolaidīsimies, lai savāktu karaspēku, lai īstenotu šo satriecošo projektu.

  • Arduino Uno (arī jebkurš cits arduino būs piemērots)
  • micro SD kartes modulis.
  • SD kartes modulis (es izmantoju 8 GB, ieteicams izmantot> = 32 GB)
  • HC05 - Bluetooth modulis
  • DHT11 (temperatūras un mitruma sensors)
  • Džemperu ķekars.
  • Android tālrunis

2. darbība. Savienojumi:

Savienojumi
Savienojumi

Komponentu salikšana un savienošana projektam ir pusceļā. Minētie produkti ir viegli pieejami lielākajā daļā mazumtirdzniecības elektronisko veikalu un tiešsaistes vietņu, piemēram, Amazon.

Arduino - HC05 savienojums (Bluetooth):

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

Arduino - SDcard moduļa savienojums:

  • +5 V - Vcc
  • Gnd - Gnd
  • 11. tapa - MOSI (Master Out Slave In)
  • 12. tapa - MISO (Master In Slave Out)
  • 13. tapa - SCk (sinhronais pulkstenis)
  • 4. tapa - CS (mikroshēmas izvēle)

Arduino - HC05 savienojums (Bluetooth):

  • +5 V - Vcc
  • Gnd - Gnd
  • Piespraude A0 - signāls

3. solis: procedūra

Procedūra
Procedūra

Savienojiet visas detaļas, kā minēts iepriekšējā solī. Ar to mēs varam ierakstīt kodu Arduino Ide, lai sasniegtu savu mērķi.

Mūsu projekta otrā daļa ir panākt, lai Android lietotne uztvertu sensora vērtības, parādītu vērtības un saglabātu to failā mobilajā ierīcē. Esmu izmantojis Thunkable, lai izveidotu Android lietojumprogrammu, kā arī esmu nodrošinājis tam apk un aia.

4. darbība: Arduino kods:

Arduino kods ir dots un izskaidrots zemāk.

Arduino kods lielākoties ir pašsaprotams, izmantojot SD karšu bibliotēku un DHT11 bibliotēku. Bluetooth izmanto aparatūras sēriju, kas ir arduino pin0 un pin1, tāpēc Bluetooth pārsūtīšana notiek ar Serial print () funkcijām, kas izmanto I2C protokolu, un SD kartes modulis saziņai ar to izmanto SPI protokolu.

/*

* SD karte pievienota SPI kopnei šādi:

** MOSI - 11. tapa ** MISO - 12. tapa ** CLK - 13. tapa ** CS - 4. tapa (MKRZero SD: SDCARD_SS_PIN) * * HC 05 moduļa savienojums: ** TX - 0 tapa (noklusējums) [var būt mainīts, ja tiek izmantota programmatūra] ** RX - 1. tapa (noklusējums) [var mainīt, ja tiek izmantota programmatūra]

*/

#iekļaut

#iekļaut #iekļaut

Fails myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Atveriet seriālos sakarus un gaidiet, līdz atveras ports: Serial.begin (9600); Serial.println ("Tips, / tStatus, / tMitrums (%), / tTemperatūra (C)"); while (! Serial) {; // pagaidiet, līdz tiek izveidots seriālais ports. Nepieciešams tikai vietējam USB portam} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

anulēts DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Sērijas nospiedums (DHT.mitrums, 1); Serial.print (", / t"); Sērijas nospiedums (DHT. Temperatūra, 1); kavēšanās (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("SD kartes inicializēšana"); if (! SD.begin (4)) {Serial.println ("Inicializācija neizdevās."); atgriešanās; } Serial.println ("Inicializācija pabeigta!"); // atveriet failu. ņemiet vērā, ka vienlaikus var atvērt tikai vienu failu, // tāpēc pirms cita faila atvēršanas tas ir jāaizver. myFile = SD.open (fileNameStr, FILE_WRITE); // ja fails atvērts labi, uzrakstiet uz to: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.mitrums, 1); myFile.print (", / t"); myFile.print (DHT.temperatūra, 1); myFile.close (); Serial.println ("darīts!"); kavēšanās (200); /*Serial.print("Rakstīšana uz test.txt … "); myFile.println ("testēšana 1, 2, 3."); // aizveriet failu: myFile.close (); Serial.println ("darīts"); */} cits {// ja fails netika atvērts, izdrukājiet kļūdu: Serial.println ("kļūdas atvēršana test.txt"); }}

void sdCardRead (String fileName)

{// atkārtoti atveriet failu lasīšanai: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // lasīt no faila, līdz tajā nav nekā cita: while (myFile.available ()) {Serial.write (myFile.read ()); } // aizveriet failu: myFile.close (); } cits {// ja fails netika atvērts, izdrukājiet kļūdu: Serial.println ("kļūdas atvēršana test.txt"); }}

void loop () {

// pēc iestatīšanas nekas nenotiek //Serial.println("test 1.. 2.. 3 "); // kavēšanās (1000); }

5. darbība: Android lietotne:

Android lietotne
Android lietotne
Android lietotne
Android lietotne

Android lietotne ir veidota ar Thunkable lietojumprogrammu ar vilkšanas un nomešanas programmēšanu. Tas reģistrēs datus ekrānā esošajā etiķetē un, tiklīdz poga Saglabāt datus tiks nospiesta vietā AppInventor/Data ar faila nosaukumu, kuram ir piešķirts kods.

Projektu var paplašināt, lai bezsaistē saglabātu visus vēlamos sensora datus, aizstājot tos ar vēlamajiem sensoru moduļiem, un lietotni var paplašināt, lai izgūtu datus no krātuves un manipulētu, lai tas atbilstu lietojumprogrammai.

Ieteicams: