// seafoodplus.info // Elektronik Ürün Deponuz #include <LiquidCrystal.h> #include <OneWire.h> // OneWire kütüphanesini ekliyoruz. seafoodplus.info adresinden indirebilirsiniz. #include <EEPROM.h> int addr = 0; // Initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Sıcaklık sensörünü bağladığımız dijital pini 2 olarak belirliyoruz. int DS18S20_Pin = 6; // Sıcaklık Sensörü Giriş-Çıkışı OneWire ds(DS18S20_Pin); // 6. Dijital pinde. #define led1 7 // Ledimizi 7 nolu pine baglıyoruz int SET; int buton1 = 8; int buton2 = 9; int buton3 = 10; void setup(void) { seafoodplus.info(16,2); pinMode(led1,OUTPUT); pinMode(buton1,INPUT); pinMode(buton2,INPUT); pinMode(buton3,INPUT); SET = seafoodplus.info(0);// enerji verildiğinde set edilen ısı değeri epromdan okunuyor } void loop(void) { // temperature değişkenini sıcaklık değerini alma fonksiyonuna bağlıyoruz. float temperature = getTemp(); // Sensörden gelen sıcaklık değerini Serial monitörde yazdırıyoruz. //seafoodplus.info(); seafoodplus.infosor(0,0); seafoodplus.info("SET:");seafoodplus.info(SET);seafoodplus.info(" C"); seafoodplus.infosor(0,1); seafoodplus.info("Sicaklik:"); seafoodplus.info(temperature);seafoodplus.info(" C"); if(temperature>=SET){ digitalWrite(led1,HIGH); } else{ digitalWrite(led1,LOW); } // Burası SET değerini değiştirme if(digitalRead(buton1)==HIGH) { delay(); SET++; delay(50); } else if(digitalRead(buton2)==HIGH) { delay(); SET--; delay(); } seafoodplus.info(0, SET); // burada set değerini eproma kaydediyoruz // SET değer değiştirme buraya kadar //delay(); // 1 saniye bekliyoruz. Monitörde saniyede 1 sıcaklık değeri yazmaya devam edecek. } // Aşağıdaki fonksiyon DS18B20 sıcaklık sensörümüzden gelen verileri // Celcius cinsinden sıcaklık değerlerine çevirmek için kullanılıyor. // Herhangi bir değişiklik yapmamız gerekmiyor. float getTemp(){ //returns the temperature from one DS18S20 in DEG Celsius byte data[12]; byte addr[8]; if ( !seafoodplus.info(addr)) { //no more sensors on chain, reset search seafoodplus.info_search(); return ; } if ( OneWire::crc8( addr, 7) != addr[7]) { seafoodplus.infosor(0,1); seafoodplus.info("CRC is not valid!"); return ; } if ( addr[0] != 0x10 && addr[0] != 0x28) { seafoodplus.infosor(0,1); seafoodplus.info("Device is not recognized"); return ; } seafoodplus.info(); seafoodplus.info(addr); seafoodplus.info(0x44,1); // start conversion, with parasite power on at the end byte present = seafoodplus.info(); seafoodplus.info(addr); seafoodplus.info(0xBE); // Read Scratchpad for (int i = 0; i < 9; i++) { // we need 9 bytes data[i] = seafoodplus.info(); } seafoodplus.info_search(); byte MSB = data[1]; byte LSB = data[0]; float tempRead = ((MSB << 8)
nest...
198063 198064 198065 198066 198067