Meni
Forumi
Nove poruke
Sve teme
Najnovije teme
Nove poruke
♫ Radio
Dnevnici
Dnevnici Vanjskog Uzgajanja
Dnevnici Unutrašnjeg Uzgajanja
Završeni Vanjski Dnevnici
Završeni Unutrašnji Dnevnici
Novo
Popularne teme
Nove poruke
Najnovije aktivnosti
Članovi
Trenutno prisutni
Forumi
Prijava
Registracija
Nove poruke
Sve teme
Najnovije teme
Nove poruke
Meni
Install the app
Install
Objavite odgovor
Forumi
Uzgajanje Marihuane
Oprema za Unutrašnji uzgoj
DIY WiFi Temp and Humi controller
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Koristite zastareli pregledač. Možda neće pravilno prikazivati ove ili druge veb stranice.
Trebali biste nadograditi ili koristiti
alternativni pregledač
.
Poruka
<blockquote data-quote="5150" data-source="post: 370574" data-attributes="member: 6225"><p>Pozdrav za sve vutroljpce!</p><p></p><p>Hteo sam sa vama da podelim svoj zadnji Arduino projekat a tice se wireless monitoringa temperature i vlaznosti vazduha u grow boksu, uz istovremenu kontrolu temperature i vlaznosti vazduha uredjajima koji su prikljuceni na ovaj uredjaj (ovlazivac, ventilatori).</p><p></p><p>Trenutno stanje uslova u boksu moguce je pratiti na internetu.Takodje je moguc pregled uslova unazad, recimo nedelju dana, mesec dana unazad.</p><p>Znaci odlicna stvar kada niste kod kuce, recimo na poslu u skoli ili kod rodbine na selu <img src="/styles/default/xenforo/smilies/smajli2.png" class="smilie" loading="lazy" alt=":D" title="Kez :D" data-shortname=":D" /></p><p></p><p>Uredjaj nije uopste tesko napraviti, a njegove blagodeti ce te tek videti ukoliko ga napravite i sami...</p><p></p><p>Zaboravite na malo malo otvaranje boksa da bi ste videli kolika je temp ili vlaznost. samo otvorite browser na pc ili na telefonu <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite2" alt=";)" title="Wink ;)" loading="lazy" data-shortname=";)" /></p><p></p><p>Kako izgelda prikaz na netu mozete videti na slici ispod.</p><p></p><p>[ATTACH=full]24218[/ATTACH]</p><p></p><p>Srce uredjaja je Arduino Uno, a moguce je koristiti i druge Arduino proizvode uz prilagodjenje programa.</p><p></p><p>SLIKA ARDUINO UNO</p><p></p><p>[ATTACH=full]24219[/ATTACH]</p><p></p><p></p><p>Senzor za merenje temperature i vlaznosti vazduha je SHT11. jedan od malo mozda skupljih senzora koji se mogu nabaviti ali isto tako mnogo mnogo tacniji od jeftinih kineskih koji pojavljuju u zadnje vreme.</p><p>Naravno uz korigovanje programa moguce je iskoristiti i neki od tih jeftinih. Tipa DHT11, DHT22 itd...</p><p></p><p></p><p>SLIKA SHT11</p><p>[ATTACH=full]24220[/ATTACH]</p><p></p><p>Upravljanje uredjajima se vrsi uz pomoc dvostrukog relejnog modula za arduino procesore.</p><p>svaki od releja ima normalno otvorene i normalno zatvorene kontakte.</p><p>Tako da, ukoliko recimo koristimo jedan relej za kontrolisanje temperature, moguce je vezati uredja tako da bude ukljucen DOK se ne dostigne odredjena temperatura,</p><p>ili pak KAD se dostigne odredjena temperatura. Isto vazi i za relej za kontrolisanje vlaznosti...</p><p></p><p>SLIKA RELEJNOG MODULA</p><p>[ATTACH=full]24221[/ATTACH]</p><p></p><p>Prikaz trenutnog stanja na uredjaju se vrsi uz pomoc 16x2 LCD dispeja.</p><p>Na njemu mozete procitati trenutnu temeraturu i vlaznost.</p><p></p><p>SLIKA DISPLEJA</p><p>[ATTACH=full]24222[/ATTACH]</p><p></p><p></p><p>Prenos podataka izmedju naseg uredjaja i interneta je izveden wifi modulom koji se skoro pojavio na trzistu,</p><p>izuzetno je jeftin (3$-5$) i sve vise nalazi primenu medju mikrokontrolerima.</p><p></p><p>SliKA ESP8266</p><p>[ATTACH=full]24223[/ATTACH]</p><p></p><p></p><p>Spajanje Komponenti mozete izvrsiti i sa jumper zicama kojih ima po isto tako povoljnim cenama.</p><p>Znaci da skoro ceo projekat mozete uraditi bez upotrebe lemilice <img src="/styles/default/xenforo/smilies/smajli2.png" class="smilie" loading="lazy" alt=":D" title="Kez :D" data-shortname=":D" /></p><p>Bice nam potrebni musko zenski kablovi. MALE to FEMALE...</p><p></p><p>[ATTACH=full]24225[/ATTACH]</p><p></p><p>Uredjaj treba spojiti prema sledecoj semi...</p><p></p><p></p><p></p><p>povezivanje sht11 na Arduino</p><p>-----------------------------</p><p>dataPin na pin 11 na Arduinu</p><p>clockPin na pin 12 na Arduinu</p><p>vcc na 5v na Arduinu</p><p>gnd na gnd na Arduinu</p><p></p><p>[ATTACH]24233[/ATTACH]</p><p></p><p>povezivanje lcd na Arduino</p><p>-----------------------------</p><p>vcc na 5v na Arduinu</p><p>gnd na gnd na Arduinu</p><p>SDA na analog pin 4 na Arduinu</p><p>SCL na analog pin 5 na Arduinu</p><p>[ATTACH]24234[/ATTACH]</p><p></p><p>Povezivanje Relejne ploce na Arudino</p><p>------------------------------------</p><p>vcc na 5v na Arduinu</p><p>gnd na gnd na Arduinu</p><p>IN1 na digital pin 6 na Arduinu</p><p>IN2 na digital pin 7 na Arduinu</p><p></p><p></p><p>povezinje ESP8266 wifi modula na Arduino</p><p>-----------------------------------------</p><p>gnd na gnd na Arduinu</p><p>tx na digital pin 2 na Arduinu</p><p>rx na digital pin 3 na Arduinu</p><p>vcc na +3.3 pin na Arduinu</p><p>ch_pd na +3.3 pin na Arduinu</p><p>[ATTACH]24235[/ATTACH]</p><p></p><p></p><p>Kada smo uspesno spojili sve prema prilozenoj semi, potrebno je isprogramirati mikrokontroler preko USB porta na PC.</p><p>Za to je potrebo da skinemo Arduino software sa <a href="http://www.arduino.cc/download_handler.php?f=/arduino-1.6.5-r2-windows.exe" target="_blank">http://www.arduino.cc/download_handler.php?f=/arduino-1.6.5-r2-windows.exe</a></p><p>Ukoliko koristite Windows operativni sistem. Za Linux i MacOs posetite <a href="http://www.arduino.cc/en/Main/Software" target="_blank">http://www.arduino.cc/en/Main/Software</a></p><p></p><p>Instalirajte softver koji ste skinuli, odaberite COM port na kome se nalazi vas prikljuceni Arduino uredjaj(TOOLS,PORT)</p><p>i da odaberete tip Arduina koji je prikljucen (TOOLS,BOARD,Arduino Uno)</p><p>Izaberite novi projekat (FILE,NEW)i sa copy paste ubacite sadrzaj programa koji se nalazi ispod.</p><p>Programiranje Arduina vrsite sa FILE, UPLOAD.</p><p></p><p>U samom kodu programa je potrebno izmeniti nekoliko promenljivih koji se ticu vasih potreba.</p><p>-Vrednost za zeljenu temperaturu i vlaznost trenutne vredonsti su 27 za temperaturu i 60% za vlagu</p><p>-Pristupna sifra i ime vaseg AP (Acess Point, wifi router)</p><p>-pristupna sifra (API KEY) za <a href="http://www.ThingSpeak.com" target="_blank">www.ThingSpeak.com</a> preko kog se vrsi prikazivanje trenutnih vrednosti iz boxa</p><p></p><p></p><p></p><p>Pre programiranja samog mikrokontrolera, potrebno je registrovati se na <a href="http://www.thingspeak.com" target="_blank">www.thingspeak.com</a> radi dobijanja sifre za upload podataka</p><p>iz uredjaja na internet.</p><p>Novi kanal kreirate sa NEW CHANEL i potrebno je kreirate FIELD1 i FIELD2.Field1 za temperaturu i Field2 za vlaznost vazduha.</p><p>U field1 upisite "temp" a u field2 "humi"</p><p>API KEY koji je potrebno uneti u program mozete pronaci u tabu API KEYS, pod Read Api Keys:</p><p>Njega ubacite u program pre programiranja mikrokontrolera.</p><p></p><p>Za nastavak je potrbno definisati kako ce izgledati prikaz temperature i vlaznosti na internetu.</p><p>To radite isto na thingspeak sajtu pod PLUGINS.</p><p>POtrebno je kreirati dva plugina, jedan za temp, drugi za humi. To radite sa NEW PLUGIN, GOOGLE GAUGE,CREATE PLUGIN</p><p></p><p>Crvena, zelena i zuta polja odnosno njihove vrednosti mozete promeniti na vec kreiranim prikazima na samom sajtu,</p><p>u PLUGINS pa EDIT.Sve imate i zadnjem polju pod javascript.Tu je moguce i korigovati velicinu sata za prikaz, ime itd...</p><p></p><p>Ukoliko ste sve dobro spojili na Arudinu, lepo definisali ime i sifru za wireless i API key,isprogramirali ARduino,</p><p>svakih 60 sekundi bi trebalo da imate prikaz nove vrednosti na internetu. A prikaz mozete pratiti i na LCD displeju na samom uredjaju.</p><p></p><p>Moguce je i izbaciti odredjene komponente ukoliko vas nisu potrebne, recimo LCD DISPLEJ i RELEJNI MODUL.</p><p>Znaci necete imate prikaz u boksu, i necete imati kontrolu ventilatora i ovlazivaca/deovlazivaca, ali ce te imati online</p><p>prikaz trenutne temperature u boksu, dok ste na poslu <img src="/styles/default/xenforo/smilies/smajli2.png" class="smilie" loading="lazy" alt=":D" title="Kez :D" data-shortname=":D" /></p><p></p><p>Ukoliko imate neki problem pri sastavljanju, programiranju i slicno, mozete da kontaktirate na PM ili direktno ovde.</p><p>Probacu da vam pomognem, koliko je u mojoj moci.</p><p>Sve komponente mozete da nabavite na Ebay ili Aliexpress po jako jako povoljnim cenama.</p><p></p><p>izvorni kod za Arduino:</p><p></p><p>[CODE]/**</p><p>* ReadSHT1xValues</p><p>* Display values on lcd display and to thingspeak server over esp8266</p><p>*/</p><p></p><p>#include <SHT1x.h></p><p>#include <Wire.h></p><p>#include <LiquidCrystal_I2C.h></p><p>#include <SoftwareSerial.h></p><p>#include <stdlib.h></p><p></p><p>#define SSID "IMEVASEGWIFI" //name of wireless access point to connect to</p><p>#define PASS "evdeupisitepassword" //wifi password</p><p>String apiKey = "123123123123"; //Ovde upisite vas API Key sa ThingSpeak</p><p></p><p>// connect 2 to TX</p><p>// connect 3 to RX</p><p>SoftwareSerial ser(2, 3); // RX, TX</p><p></p><p></p><p>// Specify data and clock connections and instantiate SHT1x object</p><p>#define dataPin 11</p><p>#define clockPin 12</p><p></p><p>LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display</p><p>SHT1x sht1x(dataPin, clockPin);</p><p>int maxtemp=27; //set the max temp</p><p>int minhumi=60;// set the min humidity</p><p>float temp_c;</p><p> float temp_f;</p><p> float humidity;</p><p> long previousMillis = 0;</p><p> long interval = 60000; //one minute sending interval</p><p>void setup()</p><p>{</p><p>pinMode(13, OUTPUT);</p><p>pinMode(6, OUTPUT);</p><p>pinMode(7, OUTPUT);</p><p>digitalWrite(13, LOW);</p><p>digitalWrite(6, HIGH);</p><p>digitalWrite(7, HIGH);</p><p>ser.begin(9600);</p><p> Serial.begin(9600); // Open serial connection to report values to host</p><p> Serial.println("Starting up");</p><p> lcd.init(); // initialize the lcd</p><p> lcd.backlight();</p><p>// reset ESP8266</p><p>ser.println("AT+RST");</p><p>delay (1000);</p><p>connectWiFi();</p><p>delay (1000);</p><p></p><p></p><p>}</p><p></p><p>void loop()</p><p>{</p><p></p><p></p><p> // Read values from the sensor</p><p> temp_c = sht1x.readTemperatureC();</p><p> humidity = sht1x.readHumidity();</p><p></p><p> // Print a message to the LCD.</p><p></p><p></p><p> lcd.setCursor(0, 0);</p><p> lcd.print("Temp: ");</p><p> lcd.print(temp_c);</p><p> lcd.setCursor(0, 1);</p><p> lcd.print("Humidity: ");</p><p> lcd.print(humidity);</p><p></p><p> // Print the values to the serial port</p><p> Serial.print("Temperature: ");</p><p> Serial.print(temp_c, 1);</p><p> Serial.print("C / ");</p><p>// Serial.print(temp_f, DEC);</p><p> Serial.print(" Humidity: ");</p><p> Serial.print(humidity,1);</p><p> Serial.println("%");</p><p></p><p> /// SEND DATA TO SERVER</p><p>unsigned long currentMillis = millis();</p><p> if(currentMillis - previousMillis > interval) {</p><p> // save the last time you blinked the LED</p><p> previousMillis = currentMillis;</p><p> senddata();</p><p> }</p><p></p><p></p><p></p><p>if (temp_c - 0.5 > maxtemp)</p><p>{</p><p>digitalWrite(6, LOW);</p><p>}</p><p></p><p>if (temp_c < maxtemp)</p><p>{</p><p>digitalWrite(6, HIGH);</p><p>}</p><p></p><p></p><p></p><p>if (humidity - 1 > minhumi)</p><p>{</p><p>digitalWrite(7, LOW);</p><p></p><p>}</p><p></p><p>if (humidity < minhumi)</p><p>{</p><p>digitalWrite(7, HIGH);</p><p>}</p><p></p><p>// delay(2000);</p><p>}</p><p></p><p>void connectWiFi() {</p><p> Serial.println("SEarching for WiFi network");</p><p></p><p> ser.println("AT+cwmode=1");</p><p> delay(1000);</p><p> String cmd = "AT+CWJAP=\"";</p><p> cmd += SSID;</p><p> cmd += "\",\"";</p><p> cmd += PASS;</p><p> cmd += "\"";</p><p></p><p> ser.println(cmd);</p><p> delay(5000); //give it time - my access point can be very slow sometimes</p><p></p><p> if(ser.find("OK")) //ie a healthy response</p><p> {</p><p> Serial.println("Connected to WiFi...");</p><p> }</p><p> else</p><p> {</p><p> Serial.println("Not connected to WiFi.");</p><p> }</p><p></p><p></p><p>}</p><p></p><p>void senddata() {</p><p> // convert to temp:</p><p></p><p> float temp = temp_c;</p><p> float hum = humidity;</p><p> // convert to string</p><p> char buf[16];</p><p> String strTemp = dtostrf(temp, 4, 1, buf);</p><p></p><p> char test[16];</p><p> String strHumi = dtostrf(hum, 4, 1, test);</p><p></p><p> // TCP connection</p><p> String cmd = "AT+CIPSTART=\"TCP\",\"";</p><p> cmd += "184.106.153.149"; // api.thingspeak.com</p><p> cmd += "\",80";</p><p> ser.println(cmd);</p><p> if(ser.find("Error")){</p><p> Serial.println("AT+CIPSTART error");</p><p> return;</p><p> }</p><p></p><p> // prepare GET string</p><p> String getStr = "GET /update?api_key=";</p><p> getStr += apiKey;</p><p> getStr +="&field1=";</p><p> getStr += String(strTemp);</p><p> getStr +="&field2=";</p><p> getStr += String(strHumi);</p><p></p><p> getStr += "\r\n\r\n";</p><p></p><p> // send data length</p><p> cmd = "AT+CIPSEND=";</p><p> cmd += String(getStr.length());</p><p> ser.println(cmd);</p><p></p><p> if(ser.find(">")){</p><p> ser.print(getStr);</p><p> delay (1000);</p><p> ser.println("AT+CIPCLOSE");</p><p> }</p><p> else{</p><p> ser.println("AT+CIPCLOSE");</p><p> // alert user</p><p> Serial.println("AT+CIPCLOSE");</p><p> connectWiFi();</p><p> }</p><p>}</p><p>[/CODE]</p><p></p><p></p><p></p><p>I neke slike uredjaja u razvoju i primene u pc boksu mada mu je primena u svim boksovima</p><p>[ATTACH]24231[/ATTACH] [ATTACH]24232[/ATTACH]</p><p></p><p>Srecna samogradnja ovog korisnog uredjaja!</p></blockquote><p></p>
[QUOTE="5150, post: 370574, member: 6225"] Pozdrav za sve vutroljpce! Hteo sam sa vama da podelim svoj zadnji Arduino projekat a tice se wireless monitoringa temperature i vlaznosti vazduha u grow boksu, uz istovremenu kontrolu temperature i vlaznosti vazduha uredjajima koji su prikljuceni na ovaj uredjaj (ovlazivac, ventilatori). Trenutno stanje uslova u boksu moguce je pratiti na internetu.Takodje je moguc pregled uslova unazad, recimo nedelju dana, mesec dana unazad. Znaci odlicna stvar kada niste kod kuce, recimo na poslu u skoli ili kod rodbine na selu :D Uredjaj nije uopste tesko napraviti, a njegove blagodeti ce te tek videti ukoliko ga napravite i sami... Zaboravite na malo malo otvaranje boksa da bi ste videli kolika je temp ili vlaznost. samo otvorite browser na pc ili na telefonu ;) Kako izgelda prikaz na netu mozete videti na slici ispod. [ATTACH=full]24218[/ATTACH] Srce uredjaja je Arduino Uno, a moguce je koristiti i druge Arduino proizvode uz prilagodjenje programa. SLIKA ARDUINO UNO [ATTACH=full]24219[/ATTACH] Senzor za merenje temperature i vlaznosti vazduha je SHT11. jedan od malo mozda skupljih senzora koji se mogu nabaviti ali isto tako mnogo mnogo tacniji od jeftinih kineskih koji pojavljuju u zadnje vreme. Naravno uz korigovanje programa moguce je iskoristiti i neki od tih jeftinih. Tipa DHT11, DHT22 itd... SLIKA SHT11 [ATTACH=full]24220[/ATTACH] Upravljanje uredjajima se vrsi uz pomoc dvostrukog relejnog modula za arduino procesore. svaki od releja ima normalno otvorene i normalno zatvorene kontakte. Tako da, ukoliko recimo koristimo jedan relej za kontrolisanje temperature, moguce je vezati uredja tako da bude ukljucen DOK se ne dostigne odredjena temperatura, ili pak KAD se dostigne odredjena temperatura. Isto vazi i za relej za kontrolisanje vlaznosti... SLIKA RELEJNOG MODULA [ATTACH=full]24221[/ATTACH] Prikaz trenutnog stanja na uredjaju se vrsi uz pomoc 16x2 LCD dispeja. Na njemu mozete procitati trenutnu temeraturu i vlaznost. SLIKA DISPLEJA [ATTACH=full]24222[/ATTACH] Prenos podataka izmedju naseg uredjaja i interneta je izveden wifi modulom koji se skoro pojavio na trzistu, izuzetno je jeftin (3$-5$) i sve vise nalazi primenu medju mikrokontrolerima. SliKA ESP8266 [ATTACH=full]24223[/ATTACH] Spajanje Komponenti mozete izvrsiti i sa jumper zicama kojih ima po isto tako povoljnim cenama. Znaci da skoro ceo projekat mozete uraditi bez upotrebe lemilice :D Bice nam potrebni musko zenski kablovi. MALE to FEMALE... [ATTACH=full]24225[/ATTACH] Uredjaj treba spojiti prema sledecoj semi... povezivanje sht11 na Arduino ----------------------------- dataPin na pin 11 na Arduinu clockPin na pin 12 na Arduinu vcc na 5v na Arduinu gnd na gnd na Arduinu [ATTACH]24233[/ATTACH] povezivanje lcd na Arduino ----------------------------- vcc na 5v na Arduinu gnd na gnd na Arduinu SDA na analog pin 4 na Arduinu SCL na analog pin 5 na Arduinu [ATTACH]24234[/ATTACH] Povezivanje Relejne ploce na Arudino ------------------------------------ vcc na 5v na Arduinu gnd na gnd na Arduinu IN1 na digital pin 6 na Arduinu IN2 na digital pin 7 na Arduinu povezinje ESP8266 wifi modula na Arduino ----------------------------------------- gnd na gnd na Arduinu tx na digital pin 2 na Arduinu rx na digital pin 3 na Arduinu vcc na +3.3 pin na Arduinu ch_pd na +3.3 pin na Arduinu [ATTACH]24235[/ATTACH] Kada smo uspesno spojili sve prema prilozenoj semi, potrebno je isprogramirati mikrokontroler preko USB porta na PC. Za to je potrebo da skinemo Arduino software sa [URL]http://www.arduino.cc/download_handler.php?f=/arduino-1.6.5-r2-windows.exe[/URL] Ukoliko koristite Windows operativni sistem. Za Linux i MacOs posetite [URL]http://www.arduino.cc/en/Main/Software[/URL] Instalirajte softver koji ste skinuli, odaberite COM port na kome se nalazi vas prikljuceni Arduino uredjaj(TOOLS,PORT) i da odaberete tip Arduina koji je prikljucen (TOOLS,BOARD,Arduino Uno) Izaberite novi projekat (FILE,NEW)i sa copy paste ubacite sadrzaj programa koji se nalazi ispod. Programiranje Arduina vrsite sa FILE, UPLOAD. U samom kodu programa je potrebno izmeniti nekoliko promenljivih koji se ticu vasih potreba. -Vrednost za zeljenu temperaturu i vlaznost trenutne vredonsti su 27 za temperaturu i 60% za vlagu -Pristupna sifra i ime vaseg AP (Acess Point, wifi router) -pristupna sifra (API KEY) za [URL='http://www.ThingSpeak.com']www.ThingSpeak.com[/URL] preko kog se vrsi prikazivanje trenutnih vrednosti iz boxa Pre programiranja samog mikrokontrolera, potrebno je registrovati se na [URL='http://www.thingspeak.com']www.thingspeak.com[/URL] radi dobijanja sifre za upload podataka iz uredjaja na internet. Novi kanal kreirate sa NEW CHANEL i potrebno je kreirate FIELD1 i FIELD2.Field1 za temperaturu i Field2 za vlaznost vazduha. U field1 upisite "temp" a u field2 "humi" API KEY koji je potrebno uneti u program mozete pronaci u tabu API KEYS, pod Read Api Keys: Njega ubacite u program pre programiranja mikrokontrolera. Za nastavak je potrbno definisati kako ce izgledati prikaz temperature i vlaznosti na internetu. To radite isto na thingspeak sajtu pod PLUGINS. POtrebno je kreirati dva plugina, jedan za temp, drugi za humi. To radite sa NEW PLUGIN, GOOGLE GAUGE,CREATE PLUGIN Crvena, zelena i zuta polja odnosno njihove vrednosti mozete promeniti na vec kreiranim prikazima na samom sajtu, u PLUGINS pa EDIT.Sve imate i zadnjem polju pod javascript.Tu je moguce i korigovati velicinu sata za prikaz, ime itd... Ukoliko ste sve dobro spojili na Arudinu, lepo definisali ime i sifru za wireless i API key,isprogramirali ARduino, svakih 60 sekundi bi trebalo da imate prikaz nove vrednosti na internetu. A prikaz mozete pratiti i na LCD displeju na samom uredjaju. Moguce je i izbaciti odredjene komponente ukoliko vas nisu potrebne, recimo LCD DISPLEJ i RELEJNI MODUL. Znaci necete imate prikaz u boksu, i necete imati kontrolu ventilatora i ovlazivaca/deovlazivaca, ali ce te imati online prikaz trenutne temperature u boksu, dok ste na poslu :D Ukoliko imate neki problem pri sastavljanju, programiranju i slicno, mozete da kontaktirate na PM ili direktno ovde. Probacu da vam pomognem, koliko je u mojoj moci. Sve komponente mozete da nabavite na Ebay ili Aliexpress po jako jako povoljnim cenama. izvorni kod za Arduino: [CODE]/** * ReadSHT1xValues * Display values on lcd display and to thingspeak server over esp8266 */ #include <SHT1x.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <SoftwareSerial.h> #include <stdlib.h> #define SSID "IMEVASEGWIFI" //name of wireless access point to connect to #define PASS "evdeupisitepassword" //wifi password String apiKey = "123123123123"; //Ovde upisite vas API Key sa ThingSpeak // connect 2 to TX // connect 3 to RX SoftwareSerial ser(2, 3); // RX, TX // Specify data and clock connections and instantiate SHT1x object #define dataPin 11 #define clockPin 12 LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display SHT1x sht1x(dataPin, clockPin); int maxtemp=27; //set the max temp int minhumi=60;// set the min humidity float temp_c; float temp_f; float humidity; long previousMillis = 0; long interval = 60000; //one minute sending interval void setup() { pinMode(13, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); digitalWrite(13, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); ser.begin(9600); Serial.begin(9600); // Open serial connection to report values to host Serial.println("Starting up"); lcd.init(); // initialize the lcd lcd.backlight(); // reset ESP8266 ser.println("AT+RST"); delay (1000); connectWiFi(); delay (1000); } void loop() { // Read values from the sensor temp_c = sht1x.readTemperatureC(); humidity = sht1x.readHumidity(); // Print a message to the LCD. lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(temp_c); lcd.setCursor(0, 1); lcd.print("Humidity: "); lcd.print(humidity); // Print the values to the serial port Serial.print("Temperature: "); Serial.print(temp_c, 1); Serial.print("C / "); // Serial.print(temp_f, DEC); Serial.print(" Humidity: "); Serial.print(humidity,1); Serial.println("%"); /// SEND DATA TO SERVER unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { // save the last time you blinked the LED previousMillis = currentMillis; senddata(); } if (temp_c - 0.5 > maxtemp) { digitalWrite(6, LOW); } if (temp_c < maxtemp) { digitalWrite(6, HIGH); } if (humidity - 1 > minhumi) { digitalWrite(7, LOW); } if (humidity < minhumi) { digitalWrite(7, HIGH); } // delay(2000); } void connectWiFi() { Serial.println("SEarching for WiFi network"); ser.println("AT+cwmode=1"); delay(1000); String cmd = "AT+CWJAP=\""; cmd += SSID; cmd += "\",\""; cmd += PASS; cmd += "\""; ser.println(cmd); delay(5000); //give it time - my access point can be very slow sometimes if(ser.find("OK")) //ie a healthy response { Serial.println("Connected to WiFi..."); } else { Serial.println("Not connected to WiFi."); } } void senddata() { // convert to temp: float temp = temp_c; float hum = humidity; // convert to string char buf[16]; String strTemp = dtostrf(temp, 4, 1, buf); char test[16]; String strHumi = dtostrf(hum, 4, 1, test); // TCP connection String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += "184.106.153.149"; // api.thingspeak.com cmd += "\",80"; ser.println(cmd); if(ser.find("Error")){ Serial.println("AT+CIPSTART error"); return; } // prepare GET string String getStr = "GET /update?api_key="; getStr += apiKey; getStr +="&field1="; getStr += String(strTemp); getStr +="&field2="; getStr += String(strHumi); getStr += "\r\n\r\n"; // send data length cmd = "AT+CIPSEND="; cmd += String(getStr.length()); ser.println(cmd); if(ser.find(">")){ ser.print(getStr); delay (1000); ser.println("AT+CIPCLOSE"); } else{ ser.println("AT+CIPCLOSE"); // alert user Serial.println("AT+CIPCLOSE"); connectWiFi(); } } [/CODE] I neke slike uredjaja u razvoju i primene u pc boksu mada mu je primena u svim boksovima [ATTACH]24231[/ATTACH] [ATTACH]24232[/ATTACH] Srecna samogradnja ovog korisnog uredjaja! [/QUOTE]
Verifikacija
Objavite odgovor
Forumi
Uzgajanje Marihuane
Oprema za Unutrašnji uzgoj
DIY WiFi Temp and Humi controller
Top
Bottom