Skip to content

Instantly share code, notes, and snippets.

@furkanbakkal
Created April 21, 2021 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save furkanbakkal/0f6b9ebb84c8d1d8bf0633b2c2ae1841 to your computer and use it in GitHub Desktop.
Save furkanbakkal/0f6b9ebb84c8d1d8bf0633b2c2ae1841 to your computer and use it in GitHub Desktop.
#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