Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #include "Seeed_BME280.h"
- #include <Wire.h>
- int buttonState = 0;
- int windRichting = 0;
- const int NOORD = 1;
- const int NOORDOOST = 2;
- const int OOST = 3;
- const int ZUIDOOST = 4;
- const int ZUID = 5;
- const int ZUIDWEST = 6;
- const int WEST = 7;
- const int NOORDWEST = 8;
- const int hallSensorPin = 2;
- const unsigned long sampleTime = 1000;
- const int maxRPM = 1260;
- int rpmMaximum = 0;
- BME280 bme280;
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
- IPAddress ip(192, 168, 1, 1);
- IPAddress myDns(8, 8, 8, 8);
- char server[] = "213.134.252.166";
- EthernetClient client;
- void setup() {
- Serial.begin(9600);
- Ethernet.begin(mac, ip, myDns);
- {
- Serial.begin(9600);
- if (!bme280.init()) {
- Serial.println(F("Device error!"));
- }
- }
- pinMode(hallSensorPin, INPUT);
- Serial.begin(9600);
- pinMode(NOORD, INPUT);
- pinMode(NOORDOOST, INPUT);
- pinMode(OOST, INPUT);
- pinMode(ZUIDOOST, INPUT);
- pinMode(ZUID, INPUT);
- pinMode(ZUIDWEST, INPUT);
- pinMode(WEST, INPUT);
- pinMode(NOORDWEST, INPUT);
- delay(1000);
- }
- int getWindspeed() {
- delay(100);
- int rpm = getRPM();
- if (rpm > rpmMaximum) rpmMaximum = rpm;
- int kmh = 10*rpm*0.001885;
- return kmh;
- }
- int getRPM()
- {
- int count = 0;
- boolean countFlag = LOW;
- unsigned long currentTime = 0;
- unsigned long startTime = millis();
- while (currentTime <= sampleTime)
- {
- if (digitalRead(hallSensorPin) == HIGH)
- {
- countFlag = HIGH;
- }
- if (digitalRead(hallSensorPin) == LOW && countFlag == HIGH)
- {
- count++;
- countFlag=LOW;
- }
- currentTime = millis() - startTime;
- }
- int countRpm = int(60000/float(sampleTime))*count;
- return countRpm;
- }
- int getWindDirection() {
- if (digitalRead(NOORD) == HIGH) {
- int windRichting = 1;
- } else if (digitalRead(NOORDOOST) == HIGH) {
- int windRichting = 2;
- } else if (digitalRead(OOST) == HIGH) {
- int windRichting = 3;
- } else if (digitalRead(ZUIDOOST) == HIGH) {
- int windRichting = 4;
- } else if (digitalRead(ZUID) == HIGH) {
- int windRichting = 5;
- } else if (digitalRead(ZUIDWEST) == HIGH) {
- int windRichting = 6;
- } else if (digitalRead(WEST) == HIGH) {
- int windRichting = 7;
- } else if (digitalRead(NOORDWEST) == HIGH) {
- int windRichting = 8;
- }
- return windRichting;
- }
- void loop() {
- if (client.connect(server, 80)) {
- client.print(F("GET /write_data.php?"));
- client.print(F("temp="));
- client.print(bme280.getTemperature());
- float pressure;
- client.print(F("&pres="));
- client.print(pressure = bme280.getPressure());
- client.print(bme280.calcAltitude(pressure));
- client.print(F("&humi="));
- client.print(bme280.getHumidity());
- client.print(F("&wnsp="));
- client.print(getWindspeed());
- client.print(F("&wndi="));
- client.print(getWindDirection());
- client.println(F(" HTTP/1.1"));
- client.println(F("Host: 213.134.252.166")); //Mijn ip niet ddos'en aub
- client.println(F("Connection: close"));
- client.println(); // Niet weghalen
- client.println(); // Niet weghalen
- client.stop();
- } else {
- Serial.println(F("Geen verbinding\n"));
- }
- delay(10000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement