Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Përshëndetje të gjithëve, Ky është udhëzimi im i parë ndonjëherë, Shpresoj të ndihmoj komunitetin krijues pasi kam qenë i përfituar prej tij.
Shpesh ne përdorim sensorë në projektet tona, por gjetja e një mënyre për të mbledhur të dhënat, ruajtur dhe transferuar ato Telefonat ose pajisjet e tjera menjëherë dhe pa tel nuk ishin një proces i gatshëm. Ky udhëzues do t'ju udhëheqë
- Marrja e të dhënave nga sensori (DHT 11) - sensori i temperaturës dhe lagështisë.
- Ruajtja e të dhënave të fituara në kartën SD me modulin e kartës SD.
- Transferimi i të dhënave pa tel duke përdorur Bluetooth në një Aplikacion Android të bërë me porosi.
- Ruajtja e vlerave të marra të sensorit si skedar teksti (skedar.txt).
Hapi 1: Lista e Komponentëve
Le të zbresim për të mbledhur trupat për të bërë këtë projekt të mrekullueshëm.
- Arduino Uno (çdo arduino tjetër gjithashtu do të jetë i përshtatshëm)
- modul i kartës micro SD.
- Moduli i kartës SD (ai që po përdor është 8 GB, këshillohet të përdoret> = 32 GB)
- HC05 - modul Bluetooth
- DHT11 (Sensori i temperaturës dhe lagështisë)
- Tufa kërcyesit.
- Telefon Android
Hapi 2: Lidhjet:
Bashkimi dhe lidhja e komponentëve është bërë përgjysmë për projektin. Produktet e përmendura janë lehtësisht të disponueshme në shumicën e dyqaneve elektronike me pakicë dhe faqet online si Amazon.
Lidhja Arduino - HC05 (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin 0 - Tx
- Pin 1 - Rx
Lidhja e modulit Arduino - SDcard:
- +5V - Vcc
- Gnd - Gnd
- Pin 11 - MOSI (Master Out Slave In)
- Pin 12 - MISO (Master In Slave Out)
- Pin 13 - SCk (Ora sinkron)
- Pin 4 - CS (Zgjedhja e çipit)
Lidhja Arduino - HC05 (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin A0 - Sinjal
Hapi 3: Procedura
Lidhni të gjitha pjesët siç u përmend në hapin e mëparshëm, Me këtë ne mund të shkruajmë kod në Arduino Ide për të arritur qëllimin tonë.
Pjesa e dytë e projektit tonë është që të kemi një aplikacion Android që të marrë vlerat e sensorit, të shfaqë vlerat dhe ta ruajë atë në një skedar në celular. Unë kam përdorur Thunkable për të bërë Aplikacionin Android dhe gjithashtu kam siguruar apk dhe aia për të.
Hapi 4: Kodi Arduino:
Kodi Arduino është dhënë dhe shpjeguar më poshtë.
Kodi arduino është kryesisht vetë shpjegues me bibliotekën e kartave SD dhe bibliotekën DHT11. Bluetooth përdor serial harduerik i cili është pin0 dhe pin1 i arduino kështu që transferimi bluetooth ndodh me funksionet Serial print () i cili përdor protokollin I2C dhe moduli i kartës SD përdor protokollin SPI për të komunikuar me të.
/*
* Karta SD e bashkangjitur në autobusin SPI si më poshtë:
** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (për MKRZero SD: SDCARD_SS_PIN) * * Lidhja e modulit HC 05: ** TX - pin 0 (parazgjedhje) [mund të jetë ndryshuar nëse Softwareserial po përdoret] ** RX - pin 1 (parazgjedhje) [mund të ndryshohet nëse Softwareserial po përdoret]
*/
#përfshi
#përfshi #përfshi
Dosja myFile;
dht DHT; #përcakto DHT11_PIN A0
void setup () {
// Hapni komunikimet serike dhe prisni që porti të hapet: Serial.begin (9600); Serial.println ("Lloji, / tStatusi, / tM lagështia (%), / tTemperatura (C)"); ndërsa (! Serial) {; // prisni që porti serik të lidhet. Nevojitet vetëm për portën amtare USB} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");
}
i pavlefshëm DHTAcq ()
{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (DHT. Lagështi, 1); Serial.print (", / t"); Serial.print (DHT.temperatura, 1); vonesa (2000); }
void sdCardWrite (String fileNameStr)
{Serial.println ("Fillimi i kartës SD"); nëse (! SD.filloj (4)) {Serial.println ("Initilizimi dështoi."); kthim; } Serial.println ("Initilizimi u krye!"); // hap skedarin. vini re se vetëm një skedar mund të jetë i hapur në të njëjtën kohë, // kështu që ju duhet ta mbyllni këtë para se të hapni një tjetër. myFile = SD.open (fileNameStr, FILE_WRITE); // nëse skedari është hapur në rregull, shkruaji atij nëse: (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT. lagështi, 1); myFile.print (", / t"); myFile.print (temperatura DHT, 1); myFile.close (); Serial.println ("u krye!"); vonesë (200); /*Serial.print("Shkrimi në test.txt … "); myFile.println ("testimi 1, 2, 3."); // mbyll skedarin: myFile.close (); Serial.println ("bërë."); */} tjetër {// nëse skedari nuk u hap, printoni një gabim: Serial.println ("gabimi i hapjes test.txt"); }}
void sdCardRead (Emri i skedarit të vargut)
{// rihap skedarin për të lexuar: myFile = SD.open (emri i skedarit); if (myFile) {Serial.println ("test.txt:"); // lexoni nga skedari derisa nuk ka asgjë tjetër në të: while (myFile.available ()) {Serial.write (myFile.read ()); } // mbyll skedarin: myFile.close (); } else {// nëse skedari nuk është hapur, printoni një gabim: Serial.println ("Gabimi në hapjen e test.txt"); }}
lak void () {
// asgjë nuk ndodh pas konfigurimit //Serial.println("test 1.. 2.. 3 "); // vonesa (1000); }
Hapi 5: Aplikacioni Android:
Aplikacioni Android është bërë me aplikacionin Thunkable me programim drag and drop. Ai do t'i regjistrojë të dhënat në etiketën në ekran dhe sapo të shtypet butoni Store Data në vendndodhjen AppInventor/Data me emrin e skedarit që i është dhënë kodi.
Projekti mund të zgjerohet për të pasur ruajtje jashtë linje të çfarëdo të dhëne të sensorit që duam të zëvendësojmë me modulet e dëshiruara të sensorit dhe aplikacioni mund të zgjerohet për të tërhequr të dhënat nga ruajtja dhe për të manipuluar që i përshtaten aplikacionit.