Inhoudsopgave:

Offline weerstation Arduino: 18 stappen (met afbeeldingen)
Offline weerstation Arduino: 18 stappen (met afbeeldingen)

Video: Offline weerstation Arduino: 18 stappen (met afbeeldingen)

Video: Offline weerstation Arduino: 18 stappen (met afbeeldingen)
Video: Arduino UNO/NANO - ili9341 - weather station 2024, Juli-
Anonim
Offline weerstation Arduino
Offline weerstation Arduino
Offline weerstation Arduino
Offline weerstation Arduino
Offline weerstation Arduino
Offline weerstation Arduino
Offline weerstation Arduino
Offline weerstation Arduino

Samenvatting

De laatste keer dat ik een thermometer kocht, zag ik dat er bijna altijd verschil in de waarden is. Mijn taak was om de temperatuur en de vochtigheid in de babykamer te volgen. Er was ook een probleem met het lezen van de waarden van 2-3 meter bereik op de meeste thermometers en ik moest opstaan om de temperatuurwaarde te zien, het probleem dat ik heb met de meeste thermometers was het licht. Een ander probleem was dat ik de temperatuurwaarde niet kan zien omdat deze geen achtergrondverlichting heeft om energie te besparen. Ik wil geen energie besparen, ik heb slechts een paar uur energieopslag nodig om dit apparaat te laten werken als de hoofdstroomlijn uitvalt.

Dus ik kwam met een idee:

- Om een thermometer te maken met toestemming om de temperatuurwaarde te wijzigen.

- Dat kan met achtergrondverlichting en kleuren. - Om alle dingen te combineren die gewone thermometers hebben: (RTC, batterij, Min Max t, enz.) - En om extra functies te hebben, zoals seizoenen en feestdagen

Dus ik begon het project voor 1 jaar. Het softwaregedeelte kostte me enkele maanden om te voltooien. Ik heb verschillende versies van de software gemaakt en de afgelopen 2 weken heb ik het project voltooid.

Informatie over apparaatsoftware

Arduino-code en bibliotheken:

Code wordt ook geüpload op Code stap.

https://github.com/stevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Apparaatfuncties

  • Opstartpagina - toont de datum en tijd van de laatste firmware-upload.
  • Startpagina - met tijd, datum, batterijpictogram, temperatuurpictogram, temperatuurwaarde, vochtigheidswaarde, Tmax, Tmin, seizoenen, feestdagen, USB-indicator wanneer aangesloten.
  • Menupagina - met Temp, Clock, Battery, About, Back menu's
  • Temp-pagina - maakt het mogelijk om de DHT-sensor te kalibreren
  • Klokpagina - hiermee kunt u de tijd en datum bewerken
  • Batterijpagina - toont batterij-informatie, % percentage, mV-spanning, oplaadstatus
  • Over pagina - toont informatie voor de auteur
  • Terug-functie voor het verlaten van het menu
  • Transparante panelen
  • RTC lange levensduur
  • Lithiumbatterij - tot ~9 uur (450mAh)
  • Indicatie batterij bijna leeg - toont het pictogram in rood ~ resterende 5 min.
  • Verschillende kleuren voor de - Lage, Medium, Hoge temperatuur
  • Vakantie- en seizoensberichten
  • Programmeerbare socket - aan de achterkant
  • Gebruikersinterface - met roterende encoder

De achterkant met het bord wordt niet bedekt, omdat ik wil dat de baby het bord kan zien en aanraken, terwijl het apparaat niet is ingeschakeld. Je kunt een soort hoes maken voor de achterkant van het bord.

Stap 1: Schets het apparaat, teken het init-idee

Schets het apparaat, teken het init-idee
Schets het apparaat, teken het init-idee
Schets het apparaat, teken het init-idee
Schets het apparaat, teken het init-idee
Schets het apparaat, teken het init-idee
Schets het apparaat, teken het init-idee

Bepaal wat u wilt hebben - hoeveel pagina's, menu's, hoe u de menu's en de pagina's kunt wijzigen.

Als je andere ideeën hebt, kun je deze wijzigen met de arduino-code.

Bepaal welke vorm je wilt en wat eenvoudig kan. Ik kies eerst voor 3D-printen, maar besluit daarna om eenvoudig materiaal te gebruiken.

Het idee is om transparante wanden aan de boven- en onderkant te hebben, ook kun je een fijnere doos maken.

Dus de belangrijkste onderdelen van de doos zijn:

  1. Voorkant - met display en encoder
  2. Rechts - met de RTC-module
  3. Links - met de DHT-module
  4. Achterkant - met de andere kant van het bord
  5. Top - Transparant met de 3.7V batterij en de AAN/UIT schuifschakelaar
  6. Bodem - Transparant

Stap 2: Kies de juiste componenten

  1. TP4056 Micro USB-oplader 5V 1A 18650 oplaadbord voor lithiumbatterijen - Ebay
  2. 1.44" 128x128 SPI Full Color 65K TFT LCD-schermmodule ST7735 - Ebay
  3. KY-040 Rotary Encoder Module voor Arduino - Ebay
  4. DHT22 AM2302 Digitale temperatuur- en vochtigheidssensor - Ebay
  5. Tiny RTC I2C-modules 24C32 Geheugen DS1307 Real-time klok RTC-modulekaart - Ebay
  6. Pro Micro-controllerkaart ATmega328P 16MHz Arduino Pro Mini-module - Ebay
  7. 3.7V 450mAh Lipo oplaadbare batterij - Ebay
  8. 6 Pins 2 Posities DPDT Aan/Aan Mini Schuifschakelaar - Ebay

  9. CR2032 CR 2032 3V knoopcel knoopcelbatterij - Ebay
  10. 10x22cm soldeerprototype koperen printplaat enkelzijdig universeel - Ebay
  11. Mannelijke & Vrouwelijke 40-pins 2,54 mm Header Socket Single Row Strip - Ebay

Stap 3: Bedradingsschema voorbereiden

Bedradingsschema voorbereiden
Bedradingsschema voorbereiden

Het diagram toont de connectiviteit van de vergelijkbare sensoren, terwijl het display bijna hetzelfde is.

Voor correct pingebruik, zie de Arduino-code in de codestap.

Download het fritzing-bestand voor meer informatie over de pinout. Plaats de muisaanwijzer op de punten in het diagram om de exacte pinnen van de modules te zien.

Stap 4: Aanvullende informatie voordat u begint - Stroomverbruik

Aanvullende informatie voordat u begint - Stroomverbruik
Aanvullende informatie voordat u begint - Stroomverbruik

Het project gebruikt een 450mAh-batterij, maar u kunt meer gebruiken. Kijk maar eens naar het stroomverbruik om de juiste batterij voor specifieke gebruiksuren te kiezen en te berekenen. Bij gebruik van 450mAh kan het apparaat ca. 9 uren.

In rust draait het apparaat met ongeveer 0,102A - Hier wordt geen optimalisatie van energiebesparing uitgevoerd

Wanneer de knop wordt ingedrukt, wordt de hoge stroom toegepast en deze is ongeveer 0,177A.

Stap 5: Sluit het beeldscherm aan

Sluit het beeldscherm aan
Sluit het beeldscherm aan
Sluit het beeldscherm aan
Sluit het beeldscherm aan

Het display gebruikt SPI voor verbinding.

Er is een adafruit-bibliotheek voor deze driver ST7735.

Stap 6: RTC-module aansluiten

RTC-module aansluiten
RTC-module aansluiten

Maak PCB-modificatie om de CR2032-batterij te gebruiken.

  • Verwijder D1
  • R4. verwijderen
  • R5. verwijderen
  • Verwijder R6
  • Korte R6

Meer informatie over deze wijziging vindt u hier.

Stap 7: Bevestig de voorwand met het display, RTC, batterij, roterende encoder

Bevestig de voorwand met het display, RTC, batterij, roterende encoder
Bevestig de voorwand met het display, RTC, batterij, roterende encoder
Bevestig de voorwand met het display, RTC, batterij, roterende encoder
Bevestig de voorwand met het display, RTC, batterij, roterende encoder
Bevestig de voorwand met het display, RTC, batterij, roterende encoder
Bevestig de voorwand met het display, RTC, batterij, roterende encoder

Als u het apparaat wilt opstarten, uploadt u gewoon de code uit de codestap en volgt u de andere stappen terwijl u de nieuwe onderdelen wijzigt en bevestigt.

Stap 8: transparante muren voorbereiden

Transparante muren voorbereiden
Transparante muren voorbereiden

Ik gebruik 3 mm plexi. U kunt vergelijkbaar transparant materiaal gebruiken. Ik gebruik er maar één voor de onderkant.

Stap 9: Maak de juiste muur

Creëer de juiste muur
Creëer de juiste muur
Creëer de juiste muur
Creëer de juiste muur

Maak de rechter zijmuur. Gebruik maat CR2032 voor het gat.

Stap 10: linkerzijmuur maken

Linker zijmuur maken
Linker zijmuur maken
Linker zijmuur maken
Linker zijmuur maken
Linker zijmuur maken
Linker zijmuur maken

Maak de linker zijmuur. Gebruik de maat van de DHT-module voor het gat.

Stap 11: Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan

Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan!
Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan!
Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan!
Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan!
Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan!
Maak de socket met het universele bord en de rails, sluit RTC, encoder, display en display aan!

Sluit en soldeer alle pinnen volgens het draadschema. U kunt Arduino UNO gebruiken met een lege schets geïnstalleerd om de Arduino Mini te programmeren. Benodigde pinnen:

  • VCC 5V
  • GND
  • RX
  • TX
  • RESET

Vergeet bij deze stappen niet de batterij 3.7V los te koppelen als u de schets uploadt voordat u klaar bent met de onderdelen.

Stap 12: Schakel het in voordat u doorgaat

Image
Image

Op dit punt kunt u het apparaat inschakelen en alle functies gebruiken.

Gebruik het videovoorbeeld om te zien wat de software was op versie 1.1. Er is ook een github-link in de samenvattingsstap om de laatste update te zien.

Schakel het apparaat in voordat u doorgaat met de andere stappen voordat u de bovenklep sluit, zorg ervoor dat het normaal werkt.

Stap 13: Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant

Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant
Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant
Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant
Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant
Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant
Voeg TP4056 en de batterij toe, soldeer de schuifschakelaar, voeg oplaaddraad toe aan pin 5, soldeer de programmeerbare aansluiting aan de achterkant

Test na elk solderen het systeem, zorg ervoor dat de onderdelen goed werken voordat u verder gaat.

Stap 14: Maak de bovenklep

Maak de bovenklep
Maak de bovenklep
Maak de bovenklep
Maak de bovenklep
Maak de bovenklep
Maak de bovenklep

Ik gebruik 0,5 mm plexivel uit de powerbankdoos.

Stap 15: Coderen

Gebruik de parameters in de init-sectie om uw voorkeuren te definiëren.

Voor de feestdagen gebruik ik Bulgaars. U kunt de array bewerken met de feestdagen in uw land.

Het apparaat toont 4 seizoenen, bewerk ze in de voorkeurscode voor uw locatie.

Als uw sensoren anders zijn, volg dan de pinnendefinities en bewerk ze in de code. Ik heb bijna alle regels commentaar achtergelaten voor een beter begrip van de code.

Geteste platformen:

  • Arduino UNO
  • Arduino Pro Mini

Haal de bibliotheken die je nodig hebt uit de repository, gebruik die, gedefinieerd in de schets.

Stap 16: Test het apparaat voor de laatste hand

Test het apparaat voor de laatste hand
Test het apparaat voor de laatste hand
Test het apparaat voor de laatste hand
Test het apparaat voor de laatste hand
Test het apparaat voor de laatste hand
Test het apparaat voor de laatste hand

Het apparaat is perfect, het mijne is gekalibreerd -4*C, ik heb mijn Toshiba-airconditioner, 2 eenvoudige ommuurde thermometers en twee digitale thermometers gebruikt om het te kalibreren. Als uw sensor verschillende waarden meet, kunt u deze nu wijzigen.

Stap 17: Interfacevoorbeeld

Interfacevoorbeeld
Interfacevoorbeeld
Interfacevoorbeeld
Interfacevoorbeeld
Interfacevoorbeeld
Interfacevoorbeeld

Vergeet niet om de Firmware-info in het init-gedeelte van de code te bewerken om uw inloggegevens te tonen of laat het zoals het is.

Aanbevolen: