Innehållsförteckning:

DIY väderstation med Nextion Display och Arduino: 11 steg
DIY väderstation med Nextion Display och Arduino: 11 steg

Video: DIY väderstation med Nextion Display och Arduino: 11 steg

Video: DIY väderstation med Nextion Display och Arduino: 11 steg
Video: Väderstation av julgranen - Trädgårdshacks med GardenR 2024, November
Anonim
Image
Image
Vad du kommer att behöva
Vad du kommer att behöva

I denna handledning kommer vi att använda Nextion -display, rtc1307 tidsmodul, Arduino UNO och Visuino för att visa aktuell tid, temperatur och luftfuktighet.

Se en demonstrationsvideo.

Steg 1: Vad du behöver

Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
  • Arduino uno (eller nano, mega vem som helst kan användas)
  • Nextion lcd 2,8 tum nx3224t028_011 (någon annan nextion lcd fungerar också)
  • I2C RTC DS1307 24C32 klockmodul i realtid för Arduino
  • Bygelkablar
  • Bakbord
  • Visuino -program: Ladda ner Visuino
  • Programmet Nextion Editor: Ladda ner här

Steg 2: Utveckla gränssnitt i Nextion Editor

Utveckla gränssnitt i Nextion Editor
Utveckla gränssnitt i Nextion Editor
Utveckla gränssnitt i Nextion Editor
Utveckla gränssnitt i Nextion Editor
Utveckla gränssnitt i Nextion Editor
Utveckla gränssnitt i Nextion Editor

Kontrollera först att SD -kortet är formaterat i FAT32 (Använd viss programvara som kortformaterare)

  • Starta Nextion Editor -programvaran och klicka på "Nytt" och spara ditt projekt till något som "Väder"
  • Sedan visas dialogrutan "Inställningar", välj vilken typ av skärm du har.
  • Ett tomt vitt ark skapas.
  • Dra 3x bild från verktygslådan till vänster.
  • Välj fliken "Bild" till vänster och ned, klicka på + -knappen och ladda bilderna. Du kan ladda ner några fina ikoner från internet för tid, temperatur och luftfuktighet (som Iconarchive -webbplats)
  • Välj varje bildelement och till höger-nedre "Attribut" -fönstret dubbelklickar du på "pic" -fältet och väljer bilden, gör detta för varje bildelement (3x).

Klicka på "Verktyg> Teckensnittsgenerator" på menyn

  • Skapa det teckensnitt som ska användas för att visa tid, temperatur och luftfuktighet och ange namnet som "MyFont1"
  • Klicka på "Generera teckensnitt" och spara det någonstans när du tillfrågas "Lägg till det genererade teckensnittet?" klicka på Ja.
  • Stäng dialogrutan så visas det genererade teckensnittet på fliken kvar under fliken "Teckensnitt" med ID 0
  • Från verktygslådan till vänster dra 3x "text", placera den där den kommer att visa data
  • För varje textelement som anges längst ner till höger i "Attribut" -fönstret, kan teckensnittet vara 0 <id för teckensnittet du genererade tidigare, du kan använda flera teckensnitt och ange ID för varje textelement
  • Du kan ange standardtextvärdet under "txt" -fältet, till exempel "Tid", "C", "%
  • Du kan ställa in färgen genom att klicka på "pco" -fältet Observera att varje textelement har ett visst objektnamn som "t0" etc, detta kommer senare att användas i Visuino
  • Du kan hitta varje objektnamn under fönstret "attribut"> objnamn

När du har placerat och placerat alla element:

  • klicka på "Kompilera" -knappen
  • klicka på menyn "File"> "Open Build Folder" hitta filen i vårt fall "Weather.tft" och kopiera den till SD -kortet.

Steg 3: Kretsen

Kretsen
Kretsen
  • Anslut Arduino pin [5v] till breadboard Positive pin [Red]
  • Anslut Arduino pin [GND] till breadboard Negativ pin [Blue]
  • Anslut DHT11 sensorstift [-] till Arduino pin [GND]
  • Anslut DHT11 sensorstift [-] till breadboard positiv pin [Red]
  • Anslut DHT11 sensorsignalstift [S] till Arduino digital pin [7]
  • Anslut Time DS1307 modulstift [Vcc] till breadboard positiv pin [Red]
  • Anslut Time DS1307 -modulstiftet [GND] till den negativa stiftbrädan [Blå]
  • Anslut Time DS1307 modulstift [SDA] till Arduino pin [SDA]
  • Anslut Time DS1307 modulstift [SCL] till Arduino pin [SCL]
  • Anslut Nextion Display pin [VCC] till breadboard positive pin [Red]
  • Anslut Nextion Display pin [GND] till breadboard negative pin [Blue]
  • Anslut Nextion Display pin [RX] till Arduino pin [TX]
  • Anslut Nextion Display pin [TX] till Arduino pin [RX]

Steg 4: Starta Visuino och välj Arduino UNO -korttyp

Starta Visuino och välj Arduino UNO -korttyp
Starta Visuino och välj Arduino UNO -korttyp
Starta Visuino och välj Arduino UNO -korttyp
Starta Visuino och välj Arduino UNO -korttyp

För att börja programmera Arduino måste du ha Arduino IDE installerat härifrån:

Tänk på att det finns några kritiska buggar i Arduino IDE 1.6.6. Se till att du installerar 1.6.7 eller högre, annars fungerar inte denna instruktionsbok! Om du inte har gjort följ stegen i denna instruktion för att konfigurera Arduino IDE för att programmera Arduino UNO! Visuino: https://www.visuino.eu måste också installeras. Starta Visuino som visas på den första bilden Klicka på "Verktyg" -knappen på Arduino -komponenten (bild 1) i Visuino När dialogrutan visas väljer du "Arduino UNO" som visas på bild 2

Steg 5: Lägg till komponenter i Visuino

Lägg till komponenter i Visuino
Lägg till komponenter i Visuino
Lägg till komponenter i Visuino
Lägg till komponenter i Visuino
Lägg till komponenter i Visuino
Lägg till komponenter i Visuino
  1. Lägg till "Start" -komponenten
  2. Lägg till komponenten "Real Time Clock (RTC) DS 1307"
  3. Lägg till komponenten "Clock Generator"
  4. Lägg till komponenten "Luftfuktighet och termometer DHT11"
  5. Lägg till 2x "Analog to text" -komponent
  6. Lägg till komponenten "Decode (Split) datetime"
  7. Lägg till komponenten "Nextion Display"

Steg 6: I Visuino Set Components

I Visuino Set -komponenter
I Visuino Set -komponenter
I Visuino Set -komponenter
I Visuino Set -komponenter
I Visuino Set -komponenter
I Visuino Set -komponenter

Dubbelklicka på "RealTimeClock1" -komponenten, elementfönstret öppnas och:

  • Dra "Ställ in dag" och under egenskapsfönstret ställ in "Värde" till ditt nuvarande datum
  • Dra "Ange år" och under egenskapsfönstret ställ in "Värde" till ditt aktuella år
  • Dra "Ange månad" och ställ in "Värde" i fönstret för din aktuella månad
  • Dra "Ställ in timme" och under egenskapsfönstret ställ in "Värde" till din aktuella timme
  • Dra "Ställ in minut" och under egenskapsfönstret ställ in "Värde" till dina aktuella minuter

Välj komponenten "FormatedText1" och ställ in "text" under egenskapsfönstret på:%0:%1:%2

Dubbelklicka på komponenten "FormattedText1", elementfönstret öppnas och:

Dra 3x "Textelement" till vänster

Dubbelklicka på "DisplayNextion1" -komponenten, elementfönstret öppnas och:

Dra 3x "Text" -elementet till vänster och för varje elementuppsättning:

  • för första elementet namn det: Tid
  • för andra elementet namn det: Temperatur
  • för tredje elementet heter det: Luftfuktighet
  • För varje elementuppsättning "Sidindex": 0
  • för första elementuppsättningen "Elementnamn": t0 (detta är namnet som är synligt i Nextion -redigeraren ovanför varje element i mitt fall dess t0)
  • för andra elementuppsättningen "Elementnamn": t1 (detta är namnet som är synligt i Nextion -redigeraren ovanför varje element i mitt fall dess t1)
  • för andra elementuppsättningen "Elementnamn": t2 (detta är namnet som är synligt i Nextion -redigeraren ovanför varje element i mitt fall dess t2)

Steg 7: I Visuino Connect -komponenter

I Visuino Connect -komponenter
I Visuino Connect -komponenter
  • Anslut "Start1" pin "Out" till "RealTimeClock1"> "Set Day1" pin "Clock"
  • Anslut "Start1" pin "Out" till "RealTimeClock1"> "Set Hour1" pin "Clock"
  • Anslut "Start1" pin "Out" till "RealTimeClock1"> "Set Year1" pin "Clock"
  • Anslut "Start1" pin "Out" till "RealTimeClock1"> "Set Month1" pin "Clock"
  • Anslut "Start1" pin "Out" till "RealTimeClock1"> "Set Minute1" pin "Clock"
  • Anslut "RealTimeClock1" komponentstift [Out] till "DecodeDateTime1" pin [In]
  • Anslut "RealTimeClock1" komponentstift [Control] till Arduino board I2C pin [In]
  • Anslut komponentstiftet "ClockGenerator1" [Out] till "HumidityThermometer1" component pin [Clock]
  • Anslut "DecodeDateTime1" -komponenten till pin [Hour] till "FormattedText1"> "Textelement1" pin [In]
  • Anslut "DecodeDateTime1" -komponenten till pin [Hour] till "FormattedText1"> "Textelement2" pin [In]
  • Anslut "DecodeDateTime1" -komponenten till pin [Hour] till "FormattedText1"> "Textelement3" pin [In]
  • Anslut komponentstiftet "HumidityThermometer1" [Temperatur] till komponentstiftet "AnalogToText1" [In]
  • Anslut komponentstiftet "HumidityThermometer1" [Humidity] till komponentstiftet "AnalogToText2" [In]
  • Anslut "HumidityThermometer1" komponentstift [Sensor] till Arduino board digital pin [7]
  • Anslut "FormattedText1" komponentstift [Out] till "DisplayNextion1" komponentstift Time [In]
  • Anslut komponentstiftet "AnalogToText1" [Out] till "DisplayNextion1" komponentstift Temperatur [In]
  • Anslut komponentstiftet "AnalogToText2" [Out] till "DisplayNextion1" komponentstift Fukt [In]

Anslut "DisplayNextion1" pin [Out] till arduino board "Serial [0]" pin [In]

Steg 8: Kopiera Nextion -filen till SD -kortet

Se till att du har Nextion -filen på SD -kortet

  • Stäng av Nextion Display
  • Sätt in SD -kortet i Nextion Display
  • Slå på Nextion -skärmen och du bör se hur uppdateringen av Nextion -skärmen uppdateras
  • Stäng av Nextion Display
  • Ta bort SD -kortet från Nextion -displayen

Nu är Nextion Display klar.

Steg 9: Generera, kompilera och ladda upp Arduino -koden

Generera, kompilera och ladda upp Arduino -koden
Generera, kompilera och ladda upp Arduino -koden
Generera, kompilera och ladda upp Arduino -koden
Generera, kompilera och ladda upp Arduino -koden

I Visuino, tryck på F9 eller klicka på knappen som visas på bild 1 för att generera Arduino -koden och öppna Arduino IDE I Arduino IDE, klicka på knappen Upload för att kompilera och ladda upp koden (bild 2) Obs:

Se till att när du laddar upp koden till Arduino för att koppla bort Arduino pin [RX] och Arduino pin [TX] När uppladdningen är klar, anslut tillbaka Arduino pin [RX] och Arduino pin [TX]

Steg 10: Spela

Om du driver Arduino UNO -modulen kommer displayen att börja visa en aktuell temperatur och fuktighetsnivå + tid som du ställde in i Visuino. Grattis! Du har slutfört ditt väderstationprojekt med Visuino.

Vidare bifogas Visuino -projektet, som jag skapade för denna instruerbara Du kan ladda ner och öppna det i Visuino:

och

Nextion -fil för Nextion Editor (Weather. HMI) och sammanställd Nextion -fil (Weather.tft) som du kan kopiera direkt till din Nextion -skärm.

Steg 11: Resurser

Du kan också kolla denna fantastiska handledning för att lära dig hur du arbetar med Nextion Displayshttps://www.instructables.com/id/Visuino-Nextion-Lcd-Based-Acceleration-to-Angle-Di/

Rekommenderad: