Stránka 1 z 1
					
				Arduino pomoc
				Napsal: 9. 11. 2014, 6:58
				od packa
				Zdravím , mám takový problém , mám napsaný program na termostat kde se zadává 6 parametrů , které ukládám do EEPROM , jeden parametr je +20 až -20 stupnů , pokud se zadaný údaj pohybuje v kladných číslech tak se do EEPROM uloží v pořádku , ale když zadám hodnotu v mínusových hodnotách tak se neuloží a po načtení je nastavená default hodnota , nevíte co s tím ? asi je potřeba upravit knihovna EEPROM ? a jak ?
			 
			
					
				Re: Arduino pomoc
				Napsal: 9. 11. 2014, 8:52
				od LuKo
				Nemám teď po ruce Arduino, abych to vyzkoušel. Pomůže odkaz: 
http://forum.arduino.cc/index.php?topic=46911.0" onclick="window.open(this.href);return false; ?
 
			 
			
					
				Re: Arduino pomoc
				Napsal: 9. 11. 2014, 9:58
				od gnat
				není to náhodou u_int ?
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 4:54
				od packa
				můžete mě někdo nakopnout jak to konkrétně zapsat ?  
mám to : 
teplotblok = EEPROM.read(5);
delay(500);
 EEPROM.write(5, teplotblok);
kde to zapisuje od 0 do 15 , ale já potřebuju ukládat hodnoty od -15 do +15
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 4:58
				od robokop
				napis sem i definice promennych a definice tech funkci z knihovny
jakouze to knihovnu pouzivas atd...
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 5:15
				od packa
				knihovna je EEPROM  , proměnné jsou od -15 do +15 celá čísla žádné dsetinné .
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 6:24
				od robokop
				tak jsem si to musel dohledat sam
kdyz jsem se te ptal na knihovnu tak jsem ocekaval:
#include <EEPROM.h>
kdyz na definici promenne tak neco jak o toto:
int a = 0;
int value;
a definici tech funkci neco jako toto:
EEPROM.read(address)
Parameters
address: the location to read from, starting from 0 (int)
Returns the value stored in that location (byte)
k tomu popis datoveho typu byte:
A byte stores an 8-bit unsigned number, from 0 to 255.
z toho plyne jednoznacne to ze se da bez konverze ulozit pouze kladne cislo 0-255 
asi nejjednodussi konverzi si provedes prictenim odectenim konstanty viz prispevek predemnou
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 6:52
				od packa
				kutil_tim píše:stejně jsou hodnoty z teplotního čidla čísla kladná
 jo , ale já ukládám nastavený parametr - to jest max přípustná venkvní teplota pro spuštění tep čerpadla 
zatim díky za nakopnutí pokusím se něco spáchat
 
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 7:22
				od packa
				takže nakonec jsem to udělal jednoduše takhle , teplota je nastavitelná v rozmezí -15  až O což stačí , nad nulu to nemá cenu blokovat
teplotbl = EEPROM.read(5)*-1;
EEPROM.write(5,  teplotbl*-1);
			 
			
					
				Re: Arduino pomoc
				Napsal: 10. 11. 2014, 7:29
				od Mex
				Nemusíš to vůbec posouvat, jen to přetypuj.
EEPROM.write(5, (unsigned char)teplotbl);
Bude to ukládat teploty -128 ... +127, navíc je to nejrychlejší a z hlediska kódu nejkratší možné řešení, protože nebudeš dělat žádnou matematickou operaci (nebude tam to násobení).