Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. #include "DHT.h"
  2. #define DHTPIN 10 // what digital pin we're connected to
  3. #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
  4. #include <Wire.h>
  5. #include <BH1750.h>
  6. #include <OneWire.h>
  7.  
  8. BH1750 lightMeter;
  9. int sensor = A0; //Sensor pin
  10. OneWire ds(2); // on pin 10 (a 4.7K resistor is necessary)
  11. const int analogInPin = A2;
  12. const int analogOutPin = 9;
  13.  
  14. int sensorValue = 0;
  15. int outputValue = 0;
  16. DHT dht(DHTPIN, DHTTYPE);
  17.  
  18. void setup() {
  19. Serial.begin(9600);
  20. dht.begin();
  21. lightMeter.begin();
  22. pinMode(sensor,INPUT);
  23. }
  24.  
  25. void loop() {
  26. float h = dht.readHumidity();
  27. float k = dht.readTemperature();
  28. uint16_t lux = lightMeter.readLightLevel();
  29. int x = analogRead(sensor);
  30. sensorValue = analogRead(analogInPin);
  31. outputValue = map(sensorValue, 0, 1023, 0, 14);
  32. analogWrite(analogOutPin, outputValue);
  33. if (isnan(h) || isnan(k)) {
  34. return; }
  35. byte i;
  36. byte present = 0;
  37. byte type_s;
  38. byte data[12];
  39. byte addr[8];
  40. float celsius, fahrenheit;
  41.  
  42. if ( !ds.search(addr)) {
  43. ds.reset_search();
  44. delay(250);
  45. return;}
  46.  
  47. if (OneWire::crc8(addr, 7) != addr[7]) {
  48. return;}
  49. ds.reset();
  50. ds.select(addr);
  51. ds.write(0x44, 1); // start conversion, with parasite power on at the end
  52.  
  53. delay(1000); // maybe 750ms is enough, maybe not
  54. // we might do a ds.depower() here, but the reset will take care of it.
  55.  
  56. present = ds.reset();
  57. ds.select(addr);
  58. ds.write(0xBE); // Read Scratchpad
  59.  
  60.  
  61. for ( i = 0; i < 9; i++) { // we need 9 bytes
  62. data[i] = ds.read(); }
  63. int16_t raw = (data[1] << 8) | data[0];
  64. if (type_s) {
  65. raw = raw << 3; // 9 bit resolution default
  66. if (data[7] == 0x10) {
  67. // "count remain" gives full 12 bit resolution
  68. raw = (raw & 0xFFF0) + 12 - data[6];
  69. }
  70. } else {
  71. byte cfg = (data[4] & 0x60);
  72. // at lower res, the low bits are undefined, so let's zero them
  73. if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
  74. else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
  75. else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
  76. //// default is 12 bit resolution, 750 ms conversion time
  77. }
  78. celsius = (float)raw / 16.0;
  79. fahrenheit = celsius * 1.8 + 32.0;
  80. Serial.print(h);//vlaznost zraka
  81. Serial.print(" ");
  82. Serial.print(k);//temperatura zraka C
  83. Serial.print(" ");
  84. Serial.print(lux);//svjetlost
  85. Serial.print(" ");
  86. Serial.print(x);//vlaznost zemljista %
  87. Serial.print(" ");
  88. Serial.print(celsius);// temperatura zemljista
  89. Serial.print(" ");
  90. Serial.println(analogRead(2)*14.0/1024, 1);//PH vrijednost
  91. }
  92.  
  93.  
  94.  
  95.  
  96.  
  97. // Humidity zrak , Temperature(C) zrak, svjetlost
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement