Zapamiętanie nastawy termostatu - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: Zapamiętanie nastawy termostatu (/watek-zapami%C4%99tanie-nastawy-termostatu) Strony:
1
2
|
Zapamiętanie nastawy termostatu - byniom - 17-12-2015 Chciałem zapytać czy jest możliwość aby arduino zapamiętało wprowadzone dane np. termostatu lub innego urządzenia w swojej pamięci ? czy trzeba do tego stosować jakąś pamięć dodatkowa np. 24lc04 lub kartę pamięci ? . Macie jakieś propozycje ? Zależy mi na tym by po zaniku napięcia arduino pamiętało wprowadzony parametr. RE: Zapamiętanie nastawy termostatu - JasQ - 17-12-2015 można i tak i tak , ale polecam bardziej korzystanie z zewnętrznej pamięci bo ta w arduino ma ograniczoną ilość cykli zapisu około 10k a eeprom miliony RE: Zapamiętanie nastawy termostatu - byniom - 18-12-2015 dla mnie to i tak dużo bo będzie zapisana wartość nastawy temperatury czyli np.25 stc, a możesz podać jak to zapisać i odczytać ? RE: Zapamiętanie nastawy termostatu - JasQ - 18-12-2015 mniej więcej tak ale jak nie widać programu to ciężko dopasować Kod: #include <EEPROM.h> RE: Zapamiętanie nastawy termostatu - byniom - 18-12-2015 (18-12-2015, 02:13)JasQ napisał(a): mniej więcej tak ale jak nie widać programu to ciężko dopasować Dzięki RE: Zapamiętanie nastawy termostatu - baxter12 - 19-12-2015 (17-12-2015, 23:33)JasQ napisał(a): można i tak i tak , ale polecam bardziej korzystanie z zewnętrznej pamięci bo ta w arduino ma ograniczoną ilość cykli zapisu około 10k a eeprom miliony Można korzystać z wewnętrznej pamięci, ale niezbyt często. Np wyłącznie podczas zaniku zasilania. Warto dorobić układ wykrywania braku zasilania. Jest to bardzo proste. A mocno upraszcza programowanie. Do budowy potrzebny jest tylko kondensator, dioda oraz jedno wejście analogowe. Bartek RE: Zapamiętanie nastawy termostatu - byniom - 20-12-2015 (19-12-2015, 20:12)baxter12 napisał(a):(17-12-2015, 23:33)JasQ napisał(a): można i tak i tak , ale polecam bardziej korzystanie z zewnętrznej pamięci bo ta w arduino ma ograniczoną ilość cykli zapisu około 10k a eeprom miliony W moim zamysle jest to żeby ten zapis służył do wprowadzenia danej temperatury raz na jakiś czas, jako korekta np. . dczyt tej wprowadzeniej temperatury następować będzie tylko po uruchomieniu urządzenie lub po zaniku napięcia. RE: Zapamiętanie nastawy termostatu - sztapl - 27-12-2015 Najprościej wklej skecz i powiedz co chcesz żeby zapamiętywał. Najłatwiej to użyć funkcji EEPROM. EEPROM.write(addr, val); gdzie addr to która z kolei wartość do zapamiętania, np. jeżeli chcesz żeby arduino zapamiętało tylko jedną wartość (np. temperaturę) zapisujesz 0 , jeżeli chcesz żeby zapamiętało następną wartość np. czas zapisujesz 1 następna wartość np. wilgotność, zapisujesz 2 itd. val to zmienna którą chcesz zapisać. Zależnie od twojego skeczu wpisujesz co chcesz. np . masz gdzieś takie coś float temp = sensors.readTemperature(sensorAddress); i chcesz żeby arduino to zapamiętało to wpisujesz EEPROM.write(0, temp); oczywiście musisz na początku skeczu zainicjować zmienną temp i wklepać bibliotekę eeprom #include <EEPROM.h> żeby arduino odczytało wartość w void setup wpisujesz temp = EEPROM.read(0); Chyba o to ci chodziło? Prościej nie można. RE: Zapamiętanie nastawy termostatu - byniom - 27-12-2015 (27-12-2015, 01:24)sztapl napisał(a): Najprościej wklej skecz i powiedz co chcesz żeby zapamiętywał.Tak dokładnie. RE: Zapamiętanie nastawy termostatu - JasQ - 27-12-2015 Oczywiście w ten sposób zapiszesz tylko zmienną "byte lub char" nie zadziała ze zmienną " float , int , long " zapis dla int , float używamy 2 bajtów EEPROM.write(1, highByte(wartosc_int) ); EEPROM.write(0, lowByte(wartosc_int) ); odczyt wartosc_int = (EEPROM.read(1)<<8)+EEPROM.read(0); |