-
-
Save furkanbakkal/0f6b9ebb84c8d1d8bf0633b2c2ae1841 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <ESP8266WiFi.h> | |
const char* ssid = "Wi-fi SSID"; //wi-fi ağımızın ismini yazıyoruz | |
const char* password = "Wi-fi Şifresi"; //wi-fi ağımızın şifresini giriyoruz | |
float sicaklik_celsius = 0; // herhangi bir hata ile karşılaşmamak için sıcaklıklarımızın ilk değerini "0" olarak tanıttık. | |
float sicaklik_fahrenheit = 0; //projeye biraz daha renk katmak için fahrenheit ve kelvin cinsinden de sıcaklığı okumak istedim. | |
float sicaklik_kelvin = 0; | |
WiFiServer server(80); // sunucumuzu oluşturduk ve portunu girdik. | |
void setup() { | |
Serial.begin(9600); // seri haberleşmeyi 9600 baudrate de başlattık | |
pinMode(A0, INPUT); // LM35 in OUT pininin bağlı olduğu yeri belirttik | |
Serial.println(); | |
Serial.println(); | |
Serial.print("Bağlanıyor... "); | |
Serial.println(ssid); | |
WiFi.begin(ssid, password); | |
while (WiFi.status() != WL_CONNECTED) { | |
delay(500); | |
Serial.print("."); | |
} | |
Serial.println(""); | |
Serial.println("WiFi Ağına Bağlanıldı"); | |
server.begin(); //NodeMCU wi-fi ağına bağlandığına göre sunucumuzu başlatabiliriz. | |
Serial.println("Sunucu Başlatıldı"); | |
Serial.println(WiFi.localIP()); | |
} | |
void loop() { | |
sicaklik_celsius = (analogRead(A0) * 1023.0 / 3300.0) / 10; | |
/* | |
LM35'in güç pinini NodeMCU' da 3.3V pinine bağlamıştık. Yani 0V analog okumada 0 değerine tekabül ederken 3.3V değeri 1023 e tekabül etmektedir.1V= 1000mV olduğundan parantez içindeki kısımda LM35'den gelen gerilim değerini buluyoruz. Daha sonra 10'a bölmemizin sebebi ise LM35 'in her 1 derece için OUT pininden 10mV çıkış vermesidir. | |
*/ | |
sicaklik_fahrenheit = sicaklik_celsius * 1.8 + 32.0; //sıcaklığı fahrenheit cinsinden bulmak için formülize ettik | |
sicaklik_kelvin = sicaklik_celsius + 273; //sıcaklığı kelvin cinsinden bulmak için formülize ettik | |
Serial.print(sicaklik_celsius); | |
Serial.println(" Celsius"); | |
Serial.print(sicaklik_fahrenheit); | |
Serial.println(" Fahrenheit"); | |
Serial.print(sicaklik_kelvin); | |
Serial.println(" Kelvin"); | |
WiFiClient client = server.available(); | |
/* | |
Web sunucumuzda sıcaklığı yazdırmak için gereken HTML kodlarımızı yazdık. İsterseniz sunucunuzu "color" veya font-size" değerleri ile oynayarak özelleştirebilirsiniz. | |
*/ | |
client.println("HTTP/1.1 200 OK"); | |
client.println("Content-Type: text/html"); | |
client.println("Connection: close"); | |
client.println("Refresh: 10"); | |
client.println(); | |
client.println("<!DOCTYPE HTML>"); | |
client.println("<html>"); | |
client.print("<p style='text-align: center;'><span style='font-size: x-large;'><strong>Dijital Termometre</strong></span></p>"); | |
client.print("<p style='text-align: center;'><span style='color: #3f7f00;'><strong style='font-size: large;'>Celsius = "); | |
client.println(sicaklik_celsius); | |
client.print("<p style='text-align: center;'><span style='color: #3f7f00;'><strong style='font-size: large;'>Fahrenheit = "); | |
client.println(sicaklik_fahrenheit); | |
client.print("<p style='text-align: center;'><span style='color: #3f7f00;'><strong style='font-size: large;'>Kelvin = "); | |
client.println(sicaklik_kelvin); | |
client.print("</p>"); | |
client.println("</html>"); | |
delay(5000); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment