Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <Ethernet.h>
  3. #include "Seeed_BME280.h"
  4. #include <Wire.h>
  5.  
  6. int buttonState = 0;
  7. int windRichting = 0;
  8. const int NOORD = 1;
  9. const int NOORDOOST = 2;
  10. const int OOST = 3;
  11. const int ZUIDOOST = 4;
  12. const int ZUID = 5;
  13. const int ZUIDWEST = 6;
  14. const int WEST = 7;
  15. const int NOORDWEST = 8;
  16.  
  17. const int hallSensorPin = 2;
  18. const unsigned long sampleTime = 1000;
  19. const int maxRPM = 1260;
  20. int rpmMaximum = 0;
  21. BME280 bme280;
  22.  
  23. byte mac[] = {
  24. 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
  25. };
  26. IPAddress ip(192, 168, 1, 1);
  27. IPAddress myDns(8, 8, 8, 8);
  28. char server[] = "213.134.252.166";
  29.  
  30. EthernetClient client;
  31.  
  32. void setup() {
  33.  
  34. Serial.begin(9600);
  35. Ethernet.begin(mac, ip, myDns);
  36.  
  37. {
  38. Serial.begin(9600);
  39. if (!bme280.init()) {
  40. Serial.println(F("Device error!"));
  41. }
  42. }
  43.  
  44. pinMode(hallSensorPin, INPUT);
  45. Serial.begin(9600);
  46.  
  47. pinMode(NOORD, INPUT);
  48. pinMode(NOORDOOST, INPUT);
  49. pinMode(OOST, INPUT);
  50. pinMode(ZUIDOOST, INPUT);
  51. pinMode(ZUID, INPUT);
  52. pinMode(ZUIDWEST, INPUT);
  53. pinMode(WEST, INPUT);
  54. pinMode(NOORDWEST, INPUT);
  55.  
  56. delay(1000);
  57. }
  58.  
  59. int getWindspeed() {
  60. delay(100);
  61. int rpm = getRPM();
  62. if (rpm > rpmMaximum) rpmMaximum = rpm;
  63.  
  64. int kmh = 10*rpm*0.001885;
  65. return kmh;
  66. }
  67.  
  68. int getRPM()
  69. {
  70. int count = 0;
  71. boolean countFlag = LOW;
  72. unsigned long currentTime = 0;
  73. unsigned long startTime = millis();
  74. while (currentTime <= sampleTime)
  75. {
  76. if (digitalRead(hallSensorPin) == HIGH)
  77. {
  78. countFlag = HIGH;
  79. }
  80. if (digitalRead(hallSensorPin) == LOW && countFlag == HIGH)
  81. {
  82. count++;
  83. countFlag=LOW;
  84. }
  85. currentTime = millis() - startTime;
  86. }
  87. int countRpm = int(60000/float(sampleTime))*count;
  88. return countRpm;
  89. }
  90.  
  91. int getWindDirection() {
  92. if (digitalRead(NOORD) == HIGH) {
  93. int windRichting = 1;
  94. } else if (digitalRead(NOORDOOST) == HIGH) {
  95. int windRichting = 2;
  96. } else if (digitalRead(OOST) == HIGH) {
  97. int windRichting = 3;
  98. } else if (digitalRead(ZUIDOOST) == HIGH) {
  99. int windRichting = 4;
  100. } else if (digitalRead(ZUID) == HIGH) {
  101. int windRichting = 5;
  102. } else if (digitalRead(ZUIDWEST) == HIGH) {
  103. int windRichting = 6;
  104. } else if (digitalRead(WEST) == HIGH) {
  105. int windRichting = 7;
  106. } else if (digitalRead(NOORDWEST) == HIGH) {
  107. int windRichting = 8;
  108. }
  109. return windRichting;
  110. }
  111.  
  112. void loop() {
  113. if (client.connect(server, 80)) {
  114. client.print(F("GET /write_data.php?"));
  115. client.print(F("temp="));
  116. client.print(bme280.getTemperature());
  117. float pressure;
  118. client.print(F("&pres="));
  119. client.print(pressure = bme280.getPressure());
  120. client.print(bme280.calcAltitude(pressure));
  121. client.print(F("&humi="));
  122. client.print(bme280.getHumidity());
  123. client.print(F("&wnsp="));
  124. client.print(getWindspeed());
  125. client.print(F("&wndi="));
  126. client.print(getWindDirection());
  127. client.println(F(" HTTP/1.1"));
  128. client.println(F("Host: 213.134.252.166")); //Mijn ip niet ddos'en aub
  129. client.println(F("Connection: close"));
  130. client.println(); // Niet weghalen
  131. client.println(); // Niet weghalen
  132. client.stop();
  133. } else {
  134. Serial.println(F("Geen verbinding\n"));
  135. }
  136.  
  137. delay(10000);
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement