Indholdsfortegnelse:
- Trin 1: Vareliste
- Trin 2: Relativ introduktion
- Trin 3: Tilslut kredsløbet
- Trin 4: Forbered dig på at kompilere
- Trin 5: Testkode til DHT22 Sensor Serial Port
- Trin 6: Kode til projektet
- Trin 7: Beskrivelse
Video: Vejrstation ved hjælp af Arduino UNO: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Skabt af: Hazel Yang
Dette projekt er en vejrstation, der bruger et Arduino UNO -kort til at styre datastrømmen, en DHT22 -sensor til at indsamle data og en OLED -skærm til at vise dataene.
Trin 1: Vareliste
1. Skærm: OLED, 1,3 Display SH1106, I2C hvid farve ---- PID: 18283
2. Sensor: Digital fugtigheds- og temperatursensor DHT22 ---- PID: 7375
3. Tilslutter: Jumper Wires ---- PID: 10316 eller 10318 eller 10312 (afhænger af længden) eller du kan bruge solid wire 22 AWG ---- PID: 22490
Breadboard ---- PID: 10686 eller 10698 eller 103142 (afhænger af størrelse)
4. Strøm: Dette kabel kan kun tilsluttes med en computer USB -port, og kablet bruges også til dataoverførsel mellem IDE og Arduino -kortet. USB-KABEL, A TIL B, M/M, 0,5M (1,5FT) ---- PID: 29862
Eller du kan bruge dette til at drive kortet: 5V 2A AC/DC-adapter ---- PID: 10817.
Trin 2: Relativ introduktion
Introduktion af skærm: 1,3 OLED Display Hvid
1. Du kan finde det dokument, der viser den grundlæggende opsætning og beskrivelser:
Introduktion af sensor: Fugt- og temperatursensor DHT22 1. Du kan finde det dokument, der viser beskrivelserne:
Trin 3: Tilslut kredsløbet
DHT22 -sensoren sender serielle data til pin 2. Så, tilslut den anden pin fra venstre, "SDA" pin skal tilsluttes pin 2.
Til SSH1106 -skærmen bruger den den analoge pin til at transmittere. Skærmens kredsløb vil være "SCL" pin til Arduinos "A5" og "SDA" pin til Arduinos "A4". Mens pixelpositionsdataene transmitterer kontinuerligt, udløser displayfunktionen i programmet kun kommandoen én gang hver gang den læser dataene fra sensoren.
Både sensoren og skærmen kan bruge 3.3V til at tænde for Arduino som en DC -strømindgang. Til strømforsyning skal vi forbinde begge "VCC" benene til Arduinos "3.3V". Og "GND" -stifterne kan simpelthen sluttes til "GND" -stiften på Arduino -kortet.
Brug USB A til B -kablet, tilslut Arudino til computeren.
Trin 4: Forbered dig på at kompilere
"u8glib" til SSH1106 skærm fra Olikraus.
"DHT -sensorbibliotek" til DHT22 -sensor fra Adafruit. Du skal downloade de to biblioteker: DHT22 sensorbibliotek:
U8glib:
Og brug "administrer bibliotek" i IDE til at få dem pakket ud. Online instruktion i administration af biblioteker:
Trin 5: Testkode til DHT22 Sensor Serial Port
Test coe til DHT22 sensor seriel port (som er inde i DHT22 biblioteket >> eksempler):
(Du kan springe denne del over.)
Det er bare for at teste DHT22 sensoren læser data normalt
#omfatte
#omfatte
#omfatte
#omfatte
#omfatte
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
ugyldig opsætning () {
Serial.begin (9600);
Serial.println (F ("DHT22 test!"));
dht.begin ();
}
void loop () {
// Vent et par sekunder mellem målingerne.
forsinkelse (2000);
// Læsningstemperatur eller fugtighed tager omkring 250 millisekunder!
// Sensoraflæsninger kan også være op til 2 sekunder 'gamle' (det er en meget langsom sensor)
float h = dht.readHumidity ();
// Læs temperaturen som Celsius (standard)
float t = dht.readTemperature ();
// Læs temperaturen som Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature (true);
// Kontroller, om nogen læsning mislykkedes, og afslut tidligt (for at prøve igen).
hvis (isnan (h) || isnan (t) || isnan (f)) {
Serial.println (F ("Kunne ikke læse fra DHT -sensor!"));
Vend tilbage;
}
// Beregn varmeindeks i Fahrenheit (standard)
float hif = dht.computeHeatIndex (f, h);
// Beregn varmeindeks i Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex (t, h, false);
Serial.print (F ("Fugtighed:"));
Serial.print (h);
Serial.print (F ("% temperatur:"));
Serial.print (t);
Serial.print (F ("° C"));
Serial.print (f);
Serial.print (F ("° F Varmeindeks:"));
Serial.print (hic);
Serial.print (F ("° C"));
Serial.print (hif);
Serial.println (F ("° F"));
}
// Efter at have sammensat programmet, skal du klikke på TOOLS >> SERIAL MONITOR for at kontrollere dataene.
// Afslutning af testprogrammet.
Trin 6: Kode til projektet
#omfatte
#omfatte
#omfatte
#omfatte
#omfatte
#define DHTPIN 2
#define DHTTYPE DHT22
#include "U8glib.h"
U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE);
DHT -sensor (DHTPIN, DHTTYPE);
void draw (void) {
u8g.setFont (u8g_font_unifont);
float h = sensor.readHumidity ();
// Læs temperaturen som Celsius (standard)
float t = sensor.readTemperature ();
// Kontroller, om nogen læsning mislykkedes, og afslut tidligt (for at prøve igen).
hvis (isnan (h) || isnan (t)) {
u8g.print ("Fejl.");
til(;;);
Vend tilbage;
}
u8g.setPrintPos (4, 10);
u8g.print ("Temperatur (C):");
u8g.setPrintPos (4, 25);
u8g.print (t);
u8g.setPrintPos (4, 40);
u8g.print ("Fugtighed (%):");
u8g.setPrintPos (4, 55);
u8g.print (h);
}
void setup (void) {
u8g.setRot180 ();
Serial.begin (9600);
sensor.begin ();
}
void loop (void) {
// billedslynge
u8g.firstPage ();
gør {
tegne();
} mens (u8g.nextPage ());
// genopbyg billedet efter en vis forsinkelse (2000);
}
// Slut på hovedprogrammet.
Trin 7: Beskrivelse
Initialiser derefter pin -kredsløbet til Arduino -kortet. Fordi sensorbiblioteket kræver, at dataene erklærer objektet.
Og du kan teste sensordata ved at overvåge outputdataene via digital pin 2 ved hjælp af funktionen "Serial.print ()". Fordi datatransmissionens frekvens er omtrent 1 læsning hvert 2. sekund (hvilket er 0,5 Hz), når vi programmerer den i Arduino IDE, skal vi indstille forsinkelsen inde i loop -funktionen til at være mere end 2 sekunder. Så der er en "forsinkelse (2000)" inde i loop -funktionen. Dette sikrer, at dataene opdateres ofte. I funktionen "draw" skal du hente dataene fra den serielle dataport og sætte dem i float -tal ved hjælp af funktionerne "readHumidity" og "readTemperature".
Udskriv fugtighed og temperatur ved hjælp af udskrivningsfunktionen i filen "u8glib". Du kan justere positionen ved at ændre nummeret i funktionen "setPrintPos". Udskrivningsfunktionen kan direkte vise tekst og tal.
Giv den serielle port en forsinkelse på 10 sekunder for at konfigurere hardwaren. Ring derefter til startfunktionen for sensoren. Ifølge mit kredsløb var min skærm på hovedet. Så jeg inkluderede også en "setRot180" -funktion til at rotere skærmen.
Arduino -kortets loop -funktion er hovedfunktionen. Det bliver ved med at kalde tegnefunktionen for at vise tekst og data hver gang sensoren opdateres.
Skærmen ser sådan ud:
Du kan afbryde Arduino UNO fra din computer og forsyne den med en 5V DC -strømadapter, der slutter til dens 2,1 mm -stik. Det gemmer programmet inde i dets drev og kan løbende køre programmet igen efter at have været drevet.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Mini vejrstation ved hjælp af Arduino og ThingSpeak: 4 trin
Mini vejrstation ved hjælp af Arduino og ThingSpeak: Hej alle sammen. I denne instruks vil jeg guide dig gennem trinene til at lave en personlig mini -vejrstation. Vi vil også bruge ThingSpeak API til at uploade vores vejrdata til deres servere, eller hvad er formålet med en vejrstation
Arduino vejrstation ved hjælp af BMP280 -DHT11 - Temperatur, luftfugtighed og tryk: 8 trin
Arduino vejrstation ved hjælp af BMP280 -DHT11 - Temperatur, luftfugtighed og tryk: I denne vejledning lærer vi, hvordan man laver en vejrstation, der viser en TEMPERATUR, Fugtighed og tryk på LCD -displayet TFT 7735 Se en demonstrationsvideo
Ekstern vejrstation ved hjælp af Arduino: 7 trin
Ekstern vejrstation ved hjælp af Arduino: Anvendte materialer: Priserne er omtrentlige og efter hukommelse. NodeMCU V3 Lua - 3 € Digital temperatur og luftfugtighed DTH 22 - 2 € Fotoresistor (LDR) sensormodul registrerer lysfølsom fotodiode til Arduino - 0,80 € 1 sæt/parti Sne/regndråbesøgningssensor
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er