Arama butonu
Bu konudaki kullanıcılar: 1 misafir
14
Cevap
255
Tıklama
0
Öne Çıkarma
EEPROM Nano Boyut ve Koda ekleme
P
9 yıl
Teğmen
Konu Sahibi

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;

long sureYukari;
long sureAsagi;
long sureMenu;

bool yukariTetik;
bool asagiTetik;
bool menuTetik;

int menu = menu_kalangun;






void setup() {
pinMode(yukari, INPUT);
pinMode(asagi, INPUT);
pinMode(_menu, INPUT);
lcd.begin(16,2);
lcd.clear();
}

void loop() {

kalangun();

if(menu==0){
lcd_kalangun_ayar();
}

}
void kalangun(){
unsigned long kalangunzaman=millis();
long saat=saatdegiskenkalangun*10;


//*************DEGISTIREBILIRLER/////////////
//"1 günde 1 düşecek"
if (kalangunzaman - oncekikalangunzaman >= saat) {
//********************************************

oncekikalangunzaman = kalangunzaman;

//Saniye veya ile calisacak kodlar buraya
beklenengun=beklenengun-1;
//Saniye ile calisacak kodlar buraya

}
if (beklenengun==0){
beklenengun=22;
}
EEPROM.write(0,beklenengun);
EEPROM.read(0);

}



void lcd_kalangun_ayar(){
lcd.setCursor(0,0);
lcd.print("Kalan Gun:");
lcd.setCursor(11,0);
lcd.print(beklenengun);
}






P
9 yıl
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: lucky16

= 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 .

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.
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.