Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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
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:
Å 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
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 -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.