Selamlar. aşağıdaki kod a "beklenengun"e EEPROM Kaydetmek istiyorum. Ama Şu an da Similasyonda denediğim de olup olmadığını deneyemiyorum. Acaba buna nasıl ekleriz. Aşağıda Kendim ekledim acaba doğru şekildemi yaptım.
#include <EEPROM.h> #include <LiquidCrystal.h>
#define yukari 9 #define asagi 10 #define _menu 8
LiquidCrystal lcd(12,11,5,4,3,2);
#define menu_adet 4 #define menu_sicaklik 1 #define menu_nem 2 #define menu_Maxsicaklik 3 #define menu_Maxnem 4 #define menu_kalangun 0 int beklenengun=22; int oncekikalangunzaman=0; int Saatdegiskenkalangun=24;
Sorudan tam anlasilmiyor aslinda sormak istediginiz sey. beklenengun = EEPROM.read(0); seklinde okuma yapabilabilir. Ayrica eepromlarin belli yazma sayisi omru var. 100000-1000000 arasi sanirim. Ayrica eeproma yazmak belli bir sure tutuyor. Bu yuzden loop icinden surekli eeproma veri yazmaniz yanlis.
Sorudan tam anlasilmiyor aslinda sormak istediginiz sey. beklenengun = EEPROM.read(0); seklinde okuma yapabilabilir. Ayrica eepromlarin belli yazma sayisi omru var. 100000-1000000 arasi sanirim. Ayrica eeproma yazmak belli bir sure tutuyor. Bu yuzden loop icinden surekli eeproma veri yazmaniz yanlis.
nasıl yapabilirim benim ama beklenen gün 7 oldu elektrik kesildi setup da yapsam nasıl olur . amacım elektrik kesinde 7. günü kaybetmemek
Setupda eeprom'dan beklenengun'e kayit yapin. Eeproma yazma isini sadece beklenengun degeri degisince yapin(bunun icin beklenengun degiskenini loop'un en sonunda tempbeklenengun seklinde bir degiskene atayin. bu satirdan once de tempbeklenengun esit mi beklenen gun seklinse karsilastirin esit degilse beklenengun'u eeproma yazin).
Bir hatirlatma da yapayim. millis() fonksiyonunun degeri 49 gun sonra overflow oluyor.
Setupda eeprom'dan beklenengun'e kayit yapin. Eeproma yazma isini sadece beklenengun degeri degisince yapin(bunun icin beklenengun degiskenini loop'un en sonunda tempbeklenengun seklinde bir degiskene atayin. bu satirdan once de tempbeklenengun esit mi beklenen gun seklinse karsilastirin esit degilse beklenengun'u eeproma yazin).
Bir hatirlatma da yapayim. millis() fonksiyonunun degeri 49 gun sonra overflow oluyor.
teşekkürler anladım . if ile tempdegisken beklenengun den eşit değilse veya küçükse Eeprom Write yapacam ama bunu setup a koyacam. okuma işleminde sıkıntı yok o zaman loop da kalmasının dimi ?
= yerine == yazmaniz gerek. Birincisi atama, ikincisi karsilastirma operatoru. Yine de burada dogrudan != kullansaniz daha iyi olur sanki. Ayrica ayni degiskeni karsilastirmaniz yanlis olur. if fonsiyonunun icindeki herhangi bir atama islemi 1 degerini dondurur ve if kosulu saglanarak icindeki islevlerin calismasi gerceklesir. Yani surekli eeprom'a veri yazmaya devam ediyor. C seviyeniz anladigim kadariyla yeterli seviyede degil ama ben yardimci olabilirim, yapmak istediginiz konuda. if(beklenengun != tempbeklenengun) { // Burada eeprom'a yazin }
loop() fonsiyonunun son satirinda tempbeklenegun = beklenengun; Seklinde atama yapin.
= yerine == yazmaniz gerek. Birincisi atama, ikincisi karsilastirma operatoru. Yine de burada dogrudan != kullansaniz daha iyi olur sanki. Ayrica ayni degiskeni karsilastirmaniz yanlis olur. if fonsiyonunun icindeki herhangi bir atama islemi 1 degerini dondurur ve if kosulu saglanarak icindeki islevlerin calismasi gerceklesir. Yani surekli eeprom'a veri yazmaya devam ediyor. C seviyeniz anladigim kadariyla yeterli seviyede degil ama ben yardimci olabilirim, yapmak istediginiz konuda. if(beklenengun != tempbeklenengun) { // Burada eeprom'a yazin }
loop() fonsiyonunun son satirinda tempbeklenegun = beklenengun; Seklinde atama yapin.
Çok Teşekkür ederim. Yardımınız için .
Evet C Bilgim fazla yok. Mantıkları anlamaya ve araştırmaya ve örneklere bakmaya çalışıyorum. Tabi görebildiğim örnekler kadar bilgim var. Acaba Nasıl C Bilgimi artırabilirim. Doğru yoldamıyım C öğrenmek için
Bence baştan başlayın C'ye, az çok yeterli seviyeye gelmeniz çok uzun sürmez. Kodlardan, örneklerden bakarak anlamaya çalışmanızdan daha yararlı olur bence. Temel C anlatımlarını kolayca bulabilirsiniz Internette.
= yerine == yazmaniz gerek. Birincisi atama, ikincisi karsilastirma operatoru. Yine de burada dogrudan != kullansaniz daha iyi olur sanki. Ayrica ayni degiskeni karsilastirmaniz yanlis olur. if fonsiyonunun icindeki herhangi bir atama islemi 1 degerini dondurur ve if kosulu saglanarak icindeki islevlerin calismasi gerceklesir. Yani surekli eeprom'a veri yazmaya devam ediyor. C seviyeniz anladigim kadariyla yeterli seviyede degil ama ben yardimci olabilirim, yapmak istediginiz konuda. if(beklenengun != tempbeklenengun) { // Burada eeprom'a yazin }
loop() fonsiyonunun son satirinda tempbeklenegun = beklenengun; Seklinde atama yapin.
Selamlar. EEPROM oluyor fakat ekranda ki 22 den geriyo doğru saydığında 25 de başlıyor . sanki 255 yazar gibi .
3 haneye çıkıyor. normalde sayan siliniyor ve de 2 saniye de değişen bu sefer daha geç değişiyor eeprom kodunu silersen yine normal e dönüyor .
beklenengun = EEPROM.read(0); seklinde okuma yapabilabilir.
Ayrica eepromlarin belli yazma sayisi omru var. 100000-1000000 arasi sanirim. Ayrica eeproma yazmak belli bir sure tutuyor. Bu yuzden loop icinden surekli eeproma veri yazmaniz yanlis.
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
nasıl yapabilirim benim ama beklenen gün 7 oldu elektrik kesildi setup da yapsam nasıl olur . amacım elektrik kesinde 7. günü kaybetmemek
< Bu ileti mobil sürüm kullanılarak atıldı >
Eeproma yazma isini sadece beklenengun degeri degisince yapin(bunun icin beklenengun degiskenini loop'un en sonunda tempbeklenengun seklinde bir degiskene atayin. bu satirdan once de tempbeklenengun esit mi beklenen gun seklinse karsilastirin esit degilse beklenengun'u eeproma yazin).
Bir hatirlatma da yapayim. millis() fonksiyonunun degeri 49 gun sonra overflow oluyor.
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
teşekkürler anladım . if ile tempdegisken beklenengun den eşit değilse veya küçükse
Eeprom Write yapacam ama bunu setup a koyacam. okuma işleminde sıkıntı yok o zaman loop da kalmasının dimi ?
< Bu ileti mobil sürüm kullanılarak atıldı >
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
teşekkür ederim yardımınız için şöyle bir mantık kullandım ama doğru olur mu bilmiyorum.
if (beklenengun=beklenengun-1){
EEPROM.write(addr,beklenengun)
}
Bu mesaja 1 cevap geldi. Cevapları Gizle
Abi bu konu seni bekliyor :D
teşekkür ederim yardımınız için şöyle bir mantık kullandım ama doğru olur mu bilmiyorum.
if (beklenengun=beklenengun-1){
EEPROM.write(addr,beklenengun)
}
Abi bu konu seni bekliyor :D
Yine de burada dogrudan != kullansaniz daha iyi olur sanki.
Ayrica ayni degiskeni karsilastirmaniz yanlis olur. if fonsiyonunun icindeki herhangi bir atama islemi 1 degerini dondurur ve if kosulu saglanarak icindeki islevlerin calismasi gerceklesir. Yani surekli eeprom'a veri yazmaya devam ediyor.
C seviyeniz anladigim kadariyla yeterli seviyede degil ama ben yardimci olabilirim, yapmak istediginiz konuda.
if(beklenengun != tempbeklenengun)
{
// Burada eeprom'a yazin
}
loop() fonsiyonunun son satirinda
tempbeklenegun = beklenengun;
Seklinde atama yapin.
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 2 cevap geldi. Cevapları Gizle
Çok Teşekkür ederim. Yardımınız için .
Evet C Bilgim fazla yok. Mantıkları anlamaya ve araştırmaya ve örneklere bakmaya çalışıyorum. Tabi görebildiğim örnekler kadar bilgim var. Acaba Nasıl C Bilgimi artırabilirim. Doğru yoldamıyım C öğrenmek için
< Bu ileti mobil sürüm kullanılarak atıldı >
Selamlar. EEPROM oluyor fakat ekranda ki 22 den geriyo doğru saydığında 25 de başlıyor . sanki 255 yazar gibi .
3 haneye çıkıyor. normalde sayan siliniyor ve de 2 saniye de değişen bu sefer daha geç değişiyor eeprom kodunu silersen yine normal e dönüyor .
Video :https://youtu.be/q5hJPuVHf1c
< Bu mesaj bu kişi tarafından değiştirildi prax -- 23 Ağustos 2016; 22:44:03 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi. Cevapları Gizle
beklenengun=22
yapınca oldu. acaba EEPROM ilk Başta niye kayıt ettiği yerden Başlamıyorda 255 den başlıyor.