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í).