2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Introduksjon:
Hei, dette er #LionoMaker. Dette er min åpen kildekode og offisielle YouTube -kanal.
Her er lenken: Liono Maker / YOUTUBE CHANNEL
I dette prosjektet vil vi lære å lage "Logging Weather Station Data". dette er et veldig interessant prosjekt. I dette prosjektet bruker jeg Micro SD -kort, DS3231 -modul, DHT 11, GPS -modul, LDR og Arduino UNO. Værstasjonsdata betyr at det vil oppdage fuktighet, temperatur, lys, dato og tid, lengdegrad og breddegrad.
MERK:
1) I Fritzing Schematics bruker jeg pin6 & pin7 til å kommunisere GPS -modul og pin 4 til å kommunisere DHT11. 2) I Proteus Schematics bruker jeg pin3 & pin 4 til å kommunisere GPS -modul og pin6 til å kommunisere DHT11. 3) Ellers er begge tilkoblingene riktige, bare vi trenger å definere pins# i Arduino -koding i henhold til skjemaet.
//*******************************************************
Trinn 1:
1_SD-kort:-
SD -kort (Secure Digital) kan brukes til datalagring og datalogging. Eksempler inkluderer datalagring på digitale kameraer eller mobiltelefoner og datalogging for å registrere informasjon fra sensorer. Micro SD -kort kan lagre 2 GB data og bør formateres som FAT32 (File Allocation Table) -format. Micro SD -kortet fungerer på 3,3V, så bare micro SD -kortmoduler med en 5V til 3,3V spenningsnivåskifterbrikke og en 3,3V spenningsregulator kan kobles til Arduino 5V forsyning. Micro SD -modulen kommuniserer med Arduino ved hjelp av Serial Peripheral Interface (SPI). SPI -tilkoblingspinnene på micro SD -modulen inkluderer MOSI-, MISO-, SCK -pinnene og SS -pinnen betegnet chip select (CS), som er koblet til Arduino -pinner 11, 12, 13 og 10.
SD-kortgrensesnitt med Arduino UNO:
GND ------ GND
5 volt ------- VCC
Pin12 -------- MISO
Pin11 -------- MOSI
Pin13 ------- SCK
Pin10 -------- SCS
Data skrives bare til filen på SD -kortet etter instruksjonen file.close (); derfor må hver file.println (data) instruksjon følges av en file.close () instruksjon og gå foran en SD.open ("filnavn", FILE_WRITE) instruksjon. SD.open () -funksjonen har standardinnstillingen FILE_READ, så alternativet FILE_WRITE er nødvendig for å skrive til en fil. Instruksen som kreves hver gang for å skrive til et SD -kort er SD.open ("filnavn", FILE_WRITE); file.println (data); file.close ();
2) LDR:-
En fotomotstand (akronym LDR for Light Decreasing Resistance, eller lysavhengig motstand, eller fotokonduktiv celle) er en passiv komponent som reduserer motstanden i forhold til å motta lysstyrke (lys) på komponentens følsomme overflate. Motstanden til en fotomotstand avtar med økning i innfallende lysintensitet; med andre ord, den viser fotokonduktivitet.
LDR -grensesnitt med Arduino UNO:
Den ene terminalen er koblet til med 5 volt og den andre terminalen er koblet til 1k motstand. Den andre enden av 1k -motstanden er jordet. LDR er i seg selv en motstand, og denne typen konfigurasjoner brukes til å måle og spenning, dette er spenningsdeler -teknikk. Den vanlige terminalen er koblet til analog pin# A3 på Arduino UNO.
3) DS3231:-
Dato og klokkeslett for en sensormåling eller en datapost kan inkluderes når du skriver data til et SD-kort ved hjelp av en sanntidsklokke (RTC) -modul, for eksempel DS3231. Sanntidsklokken kan gi sekunder, minutter, timer, dag, dato, måned og år informasjon. DS3231 kan drives med 3,3V eller 5V og et CR2032 litium knappcellebatteri driver RTC når den ikke er koblet til Arduino. DS3231 har også en innebygd temperatursensor. DS3231 bruker I2C -kommunikasjon med de to toveis linjene:
1) Seriell klokke (SCL)
&
2) Seriedata (SDA)
MERK: >>> DS3231 koblet til Arduino UNO som sådan;
DS3231: Arduino UNO:
Gnd ----------------------- Gnd
VCC --------------------- 5 volt
SDA -------------------- pin# A4
SCL -------------------- pin#A5
4) DHT11:-
DHT11 er en billig digital sensor for registrering av temperatur og fuktighet. Denne sensoren kan enkelt kobles til en hvilken som helst mikrokontroller som Arduino, Raspberry Pi osv … for å måle fuktighet og temperatur umiddelbart. DHT11 fuktighets- og temperatursensor er tilgjengelig som sensor og som modul. Forskjellen mellom denne sensoren og modulen er opptrekkmotstanden og en påslått LED. DHT11 er en relativ fuktighetssensor. For å måle luften rundt bruker denne sensoren en termostat og en kapasitiv fuktighetssensor.
Koble til DHT 11 -sensor med Arduino UNO:
DHT11 Arduino UNO
GND ---------------------------- GND
VCC ----------------------------- 5 volt
Data (signal) ------------------ PIN#6
5) GPS-modul:-
GPS -modul (Global Positioning System) og brukes til navigasjon. Modulen sjekker ganske enkelt plasseringen på jorden og gir utdata som er lengdegrad og breddegrad for posisjonen.
Det finnes forskjellige typer GPS -moduler og brukes til å finne verdier av forskjellige variabler. som for eksempel;
//**********************************************************************************************************************
MERK:- FOR FLERE DETALJER DU KAN RINGE DENNE FUNKSJONEN;
gps.getDataGPRMC (tid, status, breddegrad, latitudHemisphere, longitud, longitudMeridiano, speedKnots, trackAngle, date, magneticVariation, magneticVariationOrientation);
Serial.println (tid); Serial.println (status);
Serial.println (breddegrad);
Serial.println (latitudHemisphere);
Serial.println (lengde);
Serial.println (longitudMeridiano);
Serial.println (speedKnots);
Serial.println (trackAngle);
Serial.println (dato);
Serial.println (magnetisk variasjon);
Serial.println (magneticVariationOrientation);
//******************************************************************************************************************
et annet eksempel brukes til å opprette en kobling for GPS -modulen. som for eksempel;
gps. Google (lenke);
//*******************************************************************************************************************
&&&
MERK:- HVIS DU IKKE FÅR MER DETALJER, KAN DU RINGE DENNE FUNKSJONEN;
gps.getDataGPRMC
bredde, bredde Hemisfære, lengde, lengde Meridiano
; Serial.println (breddegrad);
Serial.println (latitudHemisphere);
Serial.println (lengde);
Serial.println (longitudMeridiano);
//******************************************************************************************************************
Jeg har brukt disse linjene for å få LONGITUDEE & LATITUDE.
Longi = (gps.location.lng (), 54.01125); Lati = (gps.location.lat (), 1.95949);
//******************************************************************************************************************
Merk:
du kan bruke kodingen ovenfor for å få mer informasjon fra GPS -modulen. Jeg har nettopp brukt til å få lengdegrad og breddegrad.
//******************************************************************************************************************
Følgende er måten å koble til GPS -modulen med ARDUINO UNO:
GPS -modul: Arduino UNO:
Gnd ---------------------------- Gnd
Vcc ------------------------------ 5volt
RX ------------------------------- pin#3
TX ------------------------------ pin#4
//********************************************************************************************************************
Steg 2:
SLIK FÅR DU "DATA. CSV" -FIL MENS PROTEUS-SIMULERINGER:-
MERK:
> For det første, Kontroller at kretsen din er riktig og at det ikke er noen feil.
> du har lastet opp hex -fil i Arduino UNO.
> du har lastet opp SD-kortfil på SD-kort.
> start simuleringen etter å ha trykket på avspillingsknappen i venstre nedre hjørne på Proteus.
> din virtuelle terminal åpnes og dataene dine registreres etter forsinkelse (1000);
>>>>>>>>> Trykk Esc >>>>>>>>>>>>>>>>>>>
Du vil se innholdsvinduet for minnekort, her er data.csv -filen tilgjengelig. Eksporter den til datamaskinen din.
Trinn 3:
EXCEL Working:-
Åpne Excel og injiser data.csv -filen i den. data vil vises i kolonner med navn og ta en linjediagram.