Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bouw een Simpele Weerstation met Arduino UNO, BMP280 Sensor en LCD

Onderdelen en Benodigdheden

Arduino UNO × 1
Adafruit Standard LCD - 16x2 Wit op Blauw × 1
GY-BM E/P 280 (BMP280 Sensor) × 1
Weerstand 221 ohm × 1
Draadjes (generisch) × 17
UTSOURCE Elektronische Onderdelen (leverancier) × 1

Apps en Online Diensten

  • Arduino IDE - Voor het programmeren van de Arduino

Over dit Project

Dit is de eerste versie van een heel simpel weerstation gemaakt met een Arduino UNO, een BMP280 sensor en een LCD-scherm. De BMP280 meet temperatuur en luchtdruk met hoge precisie.

Sponsor: Utsource.net - een betrouwbare website voor het bestellen van elektronische componenten voor je projecten!

Ik werk al aan versie 2.0 (die draadloos zal zijn), dus blijf me volgen voor updates! ;)

Bouw een Simpele Weerstation met Arduino UNO, BMP280 Sensor en LCD
Bouw een Simpele Weerstation met Arduino UNO, BMP280 Sensor en LCD

Code

Arduino Code (C/C++)

Met deze code kun je de sensordata naar het LCD scherm sturen. De code initialiseert de sensor en het LCD, leest temperatuur en druk uit, past een kleine correctie toe en toont de waarden op het scherm.

#include <LiquidCrystal.h> // Bibliotheek voor het LCD scherm
#include <BMP280.h> // Bibliotheek voor de BMP280 sensor

BMP280 bmp; // Initialiseer je sensor
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialiseer je LCD, check de wiring

#define P0 1013.25 // Standaard atmosferische druk
#define contrast 9 // Pinnen voor contrast en helderheid regeling
#define brightness 10

double T = 0; // Startwaarde temperatuur
double P = 0; // Startwaarde druk
char measure = 0;

void collectData() {
  measure = bmp.startMeasurment();
  if(measure != 0) {
    delay(measure);
    measure = bmp.getTemperatureAndPressure(T, P);
    if(measure != 0) {
      P = P + 17; // '+17' is een correctie voor sensorfout
      T = T - 0.8; // Zie boven
      lcd.clear();
      lcd.print("T: ");
      lcd.print(T);
      lcd.print(" C");
      lcd.setCursor(0, 1);
      lcd.print("P: ");
      lcd.print(P);
      lcd.print(" hPa");
    } else {
      lcd.print("Fout.");
    }
  } else {
    lcd.print("Fout.");
  }
}

void setup() {
  lcd.begin(16, 2);
  pinMode(contrast, OUTPUT);
  pinMode(brightness, OUTPUT);
  analogWrite(contrast, 100); // '100' en '255' zijn de contrast en helderheid waarden die ik voorstel
  analogWrite(brightness, 255);
  
  if(!bmp.begin()) {
    delay(1000);
    lcd.print("Init. mislukt.");
    lcd.setCursor(0, 1);
    delay(1000);
    lcd.print("Check wiring.");
    while(1);
  } else {
    lcd.print("Init. OK.");
  }
  
  bmp.setOversampling(4);
  delay(2000);
  collectData();
}

void loop() {
  collectData();
  delay(2000);
}

Schema's

Met deze wiring zou je geen problemen moeten ondervinden:

Bouw een Simpele Weerstation met Arduino UNO, BMP280 Sensor en LCD

Productieproces

  1. Een buitenweerstation bouwen met Raspberry Pi 2 en ADS-WS1
  2. Een Raspberry Pi-weerstation bouwen dat dagelijkse weergegevens e-mailt
  3. Geavanceerd Weerstation v2.0: Real-time Temperatuur, Druk, Vochtigheid & Hoogte Monitoring
  4. Arduino-gestuurde 6-Shooter Drank Mixstation – Bouw je eigen Cocktail Automaat
  5. Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
  6. DIY Arduino USB Gaming Controller – Bouw Je Eigen High-Performance Gamepad
  7. Pixel Chaser: Interactieve één-tik LED-spel met Arduino Nano
  8. High-Performance Arduino Weerballon Datalogger
  9. Bouw een $10 Draagbare Arduino Weerstation (AWS) – Eenvoudige DIY met Nano, DHT22, BMP180 & LCD
  10. eDOT: Precieze Arduino-klok & weerstation met ingebouwde IR-remote
  11. NeoPixel Matrix Pong op Arduino Nano: Bouw je eigen neon Pong-spel