 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
rimci Član

Pridružen-a: Sre 30 Apr 2003 19:01 Prispevkov: 461 Aktiv.: 1.95 Kraj: Prekmurje
|
Objavljeno: Pon Jan 04, 2010 5:20 pm Naslov sporočila: |
|
|
Mogoče nisem dovolj dobro napisal kaj ne uspem rešiti. Izpis na LCD displej je vredu obakrat, ko imam priljučene senzorje in ko jih nimam. Medtem ko je izpis na RS232 ko so priključeni senzorji vredu, ko pa niso priključeni pa ni vredu.
lpv |
|
Nazaj na vrh |
|
 |
denci Član

Pridružen-a: Čet 03 Sep 2009 22:34 Prispevkov: 17 Aktiv.: 0.09 Kraj: Slovenija
|
Objavljeno: Čet Jan 07, 2010 9:07 pm Naslov sporočila: |
|
|
če je kdo poznavalec c++ prog. jezika, bi prosil da mi pomaga pri eni stvari in sicer:
z že omenjenim senzorjem ds1820 delam trenutno merilec temperature, prišel sem tako daleč da mi na lcd zaslonu iziše temperaturo in delajo poleg tega še tipke, ki jih bom kasneje uporabil za kakšen dodaten meni, rad pa bi k programu še dodal merjenje povprečne vrednosti temperature.
Temperaturo bi npr. vzorčilo pač vsake x minut ali kaj podobnega ne vem točno kako bi naj ta povprečna vrednost sploh delovala
Če je kdo kaj podobnega že delal bi prosil za kakšen namig
Hvala! |
|
Nazaj na vrh |
|
 |
chaos Član


Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.65 Kraj: Zagorje ob Savi
|
Objavljeno: Pet Jan 08, 2010 8:05 am Naslov sporočila: |
|
|
Takšna funkcija ti izračuna povprečno vrednost temperature (zamenjaj int z float po potrebi):
Koda: |
int povp_temp(int temp)
{
static int val = 0;
static unsigned int cnt = 0;
val = (val*cnt + temp)/(++cnt);
return val;
}
|
LP! |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.69 Kraj: Kranj - struževo
|
Objavljeno: Pet Jan 08, 2010 11:50 am Naslov sporočila: |
|
|
To je funkcija za neskončno povprečje oziroma od začetka merjenja do zadnje meritve.
Če pa želiš omejen časovni obseg, recimo povprečje čez 10 minut, potem vzameš array z 10 elementi, vzorčiš vsako minuto in najstarejši podatek v polju nadomestiš z najnovejšim (krožni buffer) ali shiftaš podatke skozi buffer, tako da najstarejši pade ven in najnovejšega pošiftaš notri na drugi strani (linearni buffer).
Povprečje izračunaš kot seštevek vseh 10 elementov in vsoto deliš z 10. Osnove matematike. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
denci Član

Pridružen-a: Čet 03 Sep 2009 22:34 Prispevkov: 17 Aktiv.: 0.09 Kraj: Slovenija
|
Objavljeno: Tor Jan 12, 2010 2:24 pm Naslov sporočila: |
|
|
in kak naj bi ta del kode izgldal če bi lahka bil tako dober in jo napisal?...hvala za pomoč |
|
Nazaj na vrh |
|
 |
denci Član

Pridružen-a: Čet 03 Sep 2009 22:34 Prispevkov: 17 Aktiv.: 0.09 Kraj: Slovenija
|
Objavljeno: Pon Jan 18, 2010 5:19 pm Naslov sporočila: |
|
|
rabil pa bi tudi programček za izpis maximalne in minimalne temperature, torej temperaturo mi normalno prikazuje na LCD, sedaj bi le rabil programček, kjer prebere temperaturo in v eni vrstici izpiše min. v drugi pa max. vrednost
temperature.....hvala vsem, ki pomagate
LP |
|
Nazaj na vrh |
|
 |
Samo87 Član


Pridružen-a: Pet 25 Jan 2008 2:14 Prispevkov: 462 Aktiv.: 2.18 Kraj: Kamnik
|
Objavljeno: Pon Jan 18, 2010 6:35 pm Naslov sporočila: |
|
|
naredi funkcijo:
Koda: |
float max(float a, float b)
{
return a > b ? a : b;
}
|
in jo kliči:
Koda: |
max_temp = max(max_temp, x);
|
kjer je x - zadnja izmerjena temperatura.
V primeru, da je temperatura x višja od prejšnje max_temp, se le-ta nadomesti z novo najvišjo vrednostjo, drugače pa ostane nespremenjena. |
|
Nazaj na vrh |
|
 |
Samo87 Član


Pridružen-a: Pet 25 Jan 2008 2:14 Prispevkov: 462 Aktiv.: 2.18 Kraj: Kamnik
|
Objavljeno: Pon Jan 18, 2010 6:39 pm Naslov sporočila: |
|
|
Aha, no za minimalno temperaturo pa naredi enako funkcijo, le da v izrazu "return a > b ? a : b;" spremeni znak ">" v znak "<".
LP Samo |
|
Nazaj na vrh |
|
 |
grizm Član


Pridružen-a: Pon 09 Nov 2009 20:52 Prispevkov: 12 Aktiv.: 0.06 Kraj: MS
|
Objavljeno: Pet Mar 19, 2010 5:51 pm Naslov sporočila: |
|
|
A kdo ve zakaj se mi v tem vezju stabilizator napetosti močno segreje?
kakšne so možne napake? |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3362 Aktiv.: 14.19 Kraj: Dragomer
|
Objavljeno: Pet Mar 19, 2010 6:16 pm Naslov sporočila: |
|
|
grizm je napisal/a: |
A kdo ve zakaj se mi v tem vezju stabilizator napetosti močno segreje?
kakšne so možne napake? |
Običajno zato, ker je preobremenjen, v skrajnem slučaju, kratek stik |
|
Nazaj na vrh |
|
 |
grizm Član


Pridružen-a: Pon 09 Nov 2009 20:52 Prispevkov: 12 Aktiv.: 0.06 Kraj: MS
|
Objavljeno: Pon Mar 22, 2010 8:01 pm Naslov sporočila: |
|
|
Potem mi pride v upoštev kaj?
kakšno hladilo? |
|
Nazaj na vrh |
|
 |
gregzy87 Član

Pridružen-a: Čet 08 Feb 2007 2:48 Prispevkov: 742 Aktiv.: 3.32 Kraj: Okolica Vrhnike
|
Objavljeno: Pon Mar 22, 2010 10:40 pm Naslov sporočila: |
|
|
grizm je napisal/a: |
A kdo ve zakaj se mi v tem vezju stabilizator napetosti močno segreje?
kakšne so možne napake? |
1. preobremenitev
2. skurjen stabilizator
3. narobe obrnjen stabilizator
Če je prav obrnjen in je obremenjen --> manjši hladilnik. |
|
Nazaj na vrh |
|
 |
grizm Član


Pridružen-a: Pon 09 Nov 2009 20:52 Prispevkov: 12 Aktiv.: 0.06 Kraj: MS
|
Objavljeno: Tor Mar 23, 2010 4:23 pm Naslov sporočila: |
|
|
Stabilizator je bil preobremenjen. Hvala za pomoč. |
|
Nazaj na vrh |
|
 |
milan_milan Član

Pridružen-a: Sre 24 Mar 2010 14:23 Prispevkov: 123 Aktiv.: 0.66 Kraj: Ljubljana
|
Objavljeno: Ned Mar 28, 2010 8:08 pm Naslov sporočila: |
|
|
Najprej lep pozdrav vem skupaj,
izdelal bi si en termometer, ki meri vec temp. hkrati, zdi se mi, da bi bil ta kar ustrezen vendar imam vseeno nekaj vprasanj.
1. Ali lahko ta termometer priklopimo na CAN omrezje, razlog za CAN je ker imam doma PLC, ki ima omogocen tak priklop (priklop CAN (1. GND, 2. CANL, 3. CANH, 4. +24V)), glede na to, da je napajanje na vezju, katerega gledam napajanje 12V, sem si ze najbrz ze sam odgovoril da to nebo slo
2. Ce negre na CAN bi slo pa na RS 232?, vendar spet ne vidim priklopa na vezju katerega gledam (ali ga pa enostavno ne vidim???)
3. Rabil bi meritve do 8 temperatur, kako oz. ali se da narediti, da termostat deluje ce je priklopljenih 8 ali pa samo 1 termostat (upam, da ne tako, da je treba v kodi popravljat)
4. In nenazadnje ali bi mi bil kdo pripravljen sprogramirati cip, ker neznam programirati PIC-e niti nimam doma programatorja
Vnaprej hvala za Vase odgovore
P.S. pa se kaksen se bo sigurno nasel predno dokoncam ta projekt
 |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3362 Aktiv.: 14.19 Kraj: Dragomer
|
Objavljeno: Ned Mar 28, 2010 8:27 pm Naslov sporočila: |
|
|
Termometer DS1820 dela po protokolu 1wire in se da priključiti na katerikoli mikrokrmilnik, ki je tako programiran. Torej ne direktno na CAN ali RS232
PIC-a tudi jaz ne znam programirati. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 496 dni
Powered by phpBB © 2001, 2005 phpBB Group
|