Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Hei kaikki, tämä on ensimmäinen Instructable koskaan, toivottavasti autan valmistajayhteisöä, koska olen hyötynyt siitä.
Usein käytämme projekteissamme antureita, mutta keinon kerätä tiedot, tallentaa ne ja siirtää ne Puhelimet tai muut laitteet välittömästi ja langattomasti eivät olleet valmiita. Tämä opastettava opastaa sinut läpi
- Tietojen hankkiminen anturista (DHT 11) - lämpötila- ja kosteusanturi.
- Tallennettujen tietojen tallentaminen SD -kortille SD -korttimoduulilla.
- Tietojen siirtäminen langattomasti Bluetoothin avulla räätälöityyn Android -sovellukseen.
- Vastaanotettujen anturiarvojen tallentaminen tekstitiedostona (.txt -tiedosto).
Vaihe 1: Komponenttiluettelo
Mennään alas keräämään joukkoja tekemään tämä mahtava projekti.
- Arduino Uno (mikä tahansa muu arduino sopii myös)
- micro SD -korttimoduuli.
- SD -korttimoduuli (käyttämäni on 8 Gt, on suositeltavaa käyttää> = 32 Gt)
- HC05 - Bluetooth -moduuli
- DHT11 (lämpötila- ja kosteusanturi)
- Joukko puseroita.
- Android -puhelin
Vaihe 2: Liitännät:
Osien kokoaminen ja liittäminen on hankkeen puolivälissä. Mainitut tuotteet ovat helposti saatavilla useimmista vähittäiskaupan sähköisistä kaupoista ja online -sivustoista, kuten Amazon.
Arduino - HC05 -yhteys (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Nasta 0 - Tx
- Nasta 1 - Rx
Arduino - SDcard -moduuliliitäntä:
- +5V - Vcc
- Gnd - Gnd
- Nasta 11 - MOSI (Master Out Slave In)
- Nasta 12 - MISO (Master In Slave Out)
- Nasta 13 - SCk (synkroninen kello)
- Nasta 4 - CS (Chip Select)
Arduino - HC05 -yhteys (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Nasta A0 - Signaali
Vaihe 3: Toimenpide
Yhdistä kaikki osat kuten edellisessä vaiheessa mainittiin. Tämän avulla voimme kirjoittaa koodin Arduino Ideiin tavoitteemme saavuttamiseksi.
Projektimme toinen osa on saada Android -sovellus tunnistamaan anturien arvot, näyttämään arvot ja tallentamaan ne matkapuhelimessa olevaan tiedostoon. Olen käyttänyt Thunkablea Android -sovelluksen tekemiseen ja toimittanut sille myös apk: n ja aian.
Vaihe 4: Arduino -koodi:
Arduino -koodi on annettu ja selitetty alla.
Arduino -koodi on enimmäkseen itsestään selvä SD -korttikirjastolla ja DHT11 -kirjastolla. Bluetooth käyttää laitteistosarjaa, joka on arduino pin0 ja pin1, joten bluetooth -siirto tapahtuu Serial print () -toiminnoilla, jotka käyttävät I2C -protokollaa ja SD -korttimoduuli käyttää SPI -protokollaa kommunikoidakseen sen kanssa.
/*
* SD -kortti kiinnitetään SPI -väylään seuraavasti:
** MOSI - nasta 11 ** MISO - nasta 12 ** CLK - nasta 13 ** CS - nasta 4 (MKRZero SD: SDCARD_SS_PIN) * * HC 05 -moduuliliitäntä: ** TX - nasta 0 (oletus) [voidaan muutettu, jos ohjelmistoa käytetään] ** RX - nasta 1 (oletus) [voidaan muuttaa, jos ohjelmistoa käytetään]
*/
#sisältää
#Sisällytä #Sisällytä
Tiedosto myFile;
dht DHT; #define DHT11_PIN A0
void setup () {
// Avaa sarjaliikenne ja odota portin avautumista: Serial.begin (9600); Serial.println ("Tyyppi, / tTila, / tKosteus (%), / tLämpötila (C)"); while (! Sarja) {; // odota, että sarjaportti muodostaa yhteyden. Tarvitaan vain natiiville USB -portille} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");
}
mitätön DHTAcq ()
{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Sarjajälki (DHT.kosteus, 1); Serial.print (", / t"); Sarjajälki (DHT. Lämpötila, 1); viive (2000); }
void sdCardWrite (merkkijonotiedoston_nimi)
{Serial.println ("SD -kortin alustaminen"); if (! SD.begin (4)) {Serial.println ("Alustus epäonnistui."); palata; } Serial.println ("Alustus tehty!"); // avaa tiedosto. Huomaa, että vain yksi tiedosto voidaan avata kerrallaan, // joten sinun on suljettava tämä tiedosto ennen toisen avaamista. myFile = SD.open (fileNameStr, FILE_WRITE); // jos tiedosto avattiin ok, kirjoita sille: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.kosteus, 1); myFile.print (", / t"); myFile.print (DHT.lämpötila, 1); myFile.close (); Serial.println ("tehty!"); viive (200); /*Serial.print ("Kirjoittaminen test.txt -tiedostoon…"); myFile.println ("testaus 1, 2, 3."); // sulje tiedosto: myFile.close (); Serial.println ("valmis"); */} muu {// jos tiedosto ei avautunut, tulosta virhe: Serial.println ("virhe avattaessa testi.txt"); }}
void sdCardRead (merkkijonon tiedostonimi)
{// avaa tiedosto uudelleen lukemista varten: myFile = SD.open (fileName); if (oma tiedosto) {Serial.println ("test.txt:"); // lukea tiedostosta, kunnes siinä ei ole mitään muuta: while (myFile.available ()) {Serial.write (myFile.read ()); } // sulje tiedosto: myFile.close (); } else {// jos tiedosto ei avautunut, tulosta virhe: Serial.println ("virhe avattaessa testi.txt"); }}
void loop () {
// mitään ei tapahdu asennuksen jälkeen //Serial.println("test 1.. 2.. 3 "); // viive (1000); }
Vaihe 5: Android -sovellus:
Android -sovellus on tehty Thunkable -sovelluksella, jossa on vedä ja pudota -ohjelmointi. Se kirjaa tiedot näytön etikettiin ja kun Tallenna tiedot -painiketta on painettu paikassa AppInventor/Data tiedostonimellä, jolle on annettu koodi.
Projektia voidaan laajentaa niin, että se voi tallentaa offline -tilassa mitä tahansa haluamiamme anturitietoja korvaamalla halutut anturimoduulit, ja sovellusta voidaan laajentaa hakemaan tiedot tallennustilasta ja käsittelemään sovelluksen mukaan.