www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

LCD Termometer
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1714
Aktiv.: 7.24
Kraj: Ig

PrispevekObjavljeno: Pet Jun 10, 2011 7:43 pm    Naslov sporočila:   Odgovori s citatom

Za knjižice za ta senzor pobrskaj po netu (avrfreaks), sigurno so že kje spisane. Če pa želiš 2 ali več takih senzorjev na istem vodilu, boš pa moral prebrati njihov signature (ser. št) - to se bere programsko in potem jih klicati s pomočjo te številke.

LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Ned Jan 29, 2012 1:47 pm    Naslov sporočila:   Odgovori s citatom

luka1995 je napisal/a:
Tudi sam trenutno delam termometer z senzorjem DS18B20 in ti ga tudi priporočam...Pomagal sem si s tem http://www.teslabs.com/openplayer/docs/docs/other/ds18b20_pre1.pdf ...


tudi sam si pomagam s tem pdf-om, vendar me vseeno nekaj zanima, kako sedaj izpisati temperaturo na lcd?
Kot kaže, je vrednost temperature shranjena v spremenljivki buffer, jaz sem poiskušal z svojo knjižnico za LCD, ki je delujoča, vendar mi stvar ne deluje?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Pon Jan 30, 2012 8:18 pm    Naslov sporočila:   Odgovori s citatom

zna mogoče kdo pomagati, mi nekako ne uspe s prikazom oz. pretvorbo znakov na zaslon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
juref
Član
Član



Pridružen-a: Tor 15 Dec 2009 11:45
Prispevkov: 226
Aktiv.: 1.20
Kraj: Črnomelj

PrispevekObjavljeno: Pon Feb 13, 2012 10:35 pm    Naslov sporočila:   Odgovori s citatom

davide je napisal/a:
zna mogoče kdo pomagati, mi nekako ne uspe s prikazom oz. pretvorbo znakov na zaslon


Prilagam knjižnico za LCD katera je zelo preprosta za uporabo. Problem je samo v tem ker morajo biti "data" pini povezani na prve štiri pine porta.

Ukaze, ter nastavitev pinov najdeš v lcd.h
Frekvenco tudi tam nastaviš na željeno ter se mi zdi da #define CPU_F 11059200UL lahko izpustiš Very Happy

koda za zagon je
Koda:



#include <avr/io.h>
#include "lcd.h"

#define CPU_F 11059200UL

int main(void)
{
   LCDInit();
   LCDClear();
   LCDCursorOFF();
   
   LCDWriteStringXY(2,0,":");  //napišeš besedilo katero se ne spreminja in ga
   LCDWriteStringXY(5,0,":"); //ne posodablja
   
    while(1)
    {
      
       
      LCDWriteIntXY(0,0,ura,2);                 //izpis števil (x,y,število,število znakov)
                LCDWriteStringXY(0,0,"Hello World"); //izpis besedila(x,y,"besedilo")


      
    }
   
}




Superca LCD.zip
 Opis:

Download
 Ime datoteke:  Superca LCD.zip
 Velikost datoteke:  2.93 KB
 Downloadano:  19 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Pet Feb 17, 2012 1:46 pm    Naslov sporočila:   Odgovori s citatom

Hvala za pomoč, zadevo sem seveda že rešil, malenkostno napako pri pretvorbi sem imel, sicer pa knjižnico za LCD imam napisano, tako, da s tem nimam težav, imel sem samo problem z izpisom temperature s pomočjo kode, ki je na zgornjem PDF-ju!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Ned Mar 04, 2012 5:35 pm    Naslov sporočila:   Odgovori s citatom

Koda:
void therm_write_bit(uint8_t bit){
//Pull line low for 1uS
THERM_LOW();
THERM_OUTPUT_MODE();
therm_delay(us(1));
//If we want to write 1, release the line (if not will keep low)
if(bit) THERM_INPUT_MODE();
//Wait for 60uS and release the line
therm_delay(us(60));
THERM_INPUT_MODE();
}


Če pogledam zgornjo kodo, me nekaj zanima in sicer pri vpisu podatka moramo na začetku linijo sprostiti (pull line low), torej, če je pin definiran kot izhod, potem tok steče preko pull up upora na maso ali kako, če je na vodilu senzorja vrednost 0, ko pa je definiran kot vhod, pa je vsa napetost na pinu DQ?? Confused Rolling Eyes
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Pon Mar 05, 2012 12:51 pm    Naslov sporočila:   Odgovori s citatom

kaj se torej zgodi na pinu ob spremembi registra DDR, z uporabo pull up upora med napajanjem in 1 wire vodilom?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jani18
Član
Član



Pridružen-a: Sob 18 Sep 2010 10:22
Prispevkov: 133
Aktiv.: 0.74
Kraj: Ojstri Vrh

PrispevekObjavljeno: Pon Mar 05, 2012 6:32 pm    Naslov sporočila:   Odgovori s citatom

1-wire vodilo je vedno ko je nedejaven v visokem stanju, logični enici za to skrbi pull-up upor, če potem hočemo karkoli poslati na vodilo ga potegnemo proti masi,
logični ničli za določen čas in nato sprostimo pull-up upor vodilo potegne nazaj na
logično enico.
Med spremembo registra DDR se na vodilu ne zgodi nič saj pull-up upor vodilo
drži oz. potegne na logično enico.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Pon Mar 05, 2012 7:27 pm    Naslov sporočila:   Odgovori s citatom

hvala, to razumem, mene je samo zanimalo, kaj konkretno se zgodi na pinu mikrokontrolerja, ker iz zgornje kode je razvidno (if(bit) THERM_INPUT_MODE()Wink
da če hočemo zapisati bit 1, potem je ddr register postavljen na 1, v nasprotnem primeru na 0, torej, ko linijo sprostimo, pomeni DDR na pinu 1 in pin je definiran kot vhodni pin mikrokontrolerja...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Ned Mar 11, 2012 5:46 pm    Naslov sporočila:   Odgovori s citatom

juref je napisal/a:
davide je napisal/a:
zna mogoče kdo pomagati, mi nekako ne uspe s prikazom oz. pretvorbo znakov na zaslon


Prilagam knjižnico za LCD katera je zelo preprosta za uporabo. Problem je samo v tem ker morajo biti "data" pini povezani na prve štiri pine porta.

Ukaze, ter nastavitev pinov najdeš v lcd.h
Frekvenco tudi tam nastaviš na željeno ter se mi zdi da #define CPU_F 11059200UL lahko izpustiš Very Happy

koda za zagon je
Koda:



#include <avr/io.h>
#include "lcd.h"

#define CPU_F 11059200UL

int main(void)
{
   LCDInit();
   LCDClear();
   LCDCursorOFF();
   
   LCDWriteStringXY(2,0,":");  //napišeš besedilo katero se ne spreminja in ga
   LCDWriteStringXY(5,0,":"); //ne posodablja
   
    while(1)
    {
      
       
      LCDWriteIntXY(0,0,ura,2);                 //izpis števil (x,y,število,število znakov)
                LCDWriteStringXY(0,0,"Hello World"); //izpis besedila(x,y,"besedilo")


      
    }
   
}



Vidim, da uporabljaš enako knjižnjico, mogoče veš, kako izpisati znak za stopinje??....167 je vrednost v ascii tabeli ampak mi ne uspe?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Krampus
Član
Član



Pridružen-a: Pon 08 Sep 2008 13:07
Prispevkov: 1853
Aktiv.: 9.08

PrispevekObjavljeno: Ned Mar 11, 2012 9:02 pm    Naslov sporočila:   Odgovori s citatom

Lcd_Chr_cp(178) 'Znak za stopinje 223 ali 178 odvisno od LCD
_________________
Nisem ravno najbolj pameten na svetu, tu in tam pa imam kakšno idejo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Ned Mar 11, 2012 9:11 pm    Naslov sporočila:   Odgovori s citatom

že že, vendar z uporabo moje knjižnice za lcd mi ni izpisalo znaka....bom že rešil!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
juref
Član
Član



Pridružen-a: Tor 15 Dec 2009 11:45
Prispevkov: 226
Aktiv.: 1.20
Kraj: Črnomelj

PrispevekObjavljeno: Ned Mar 11, 2012 10:56 pm    Naslov sporočila:   Odgovori s citatom

davide je napisal/a:
juref je napisal/a:
davide je napisal/a:
zna mogoče kdo pomagati, mi nekako ne uspe s prikazom oz. pretvorbo znakov na zaslon


Prilagam knjižnico za LCD katera je zelo preprosta za uporabo. Problem je samo v tem ker morajo biti "data" pini povezani na prve štiri pine porta.

Ukaze, ter nastavitev pinov najdeš v lcd.h
Frekvenco tudi tam nastaviš na željeno ter se mi zdi da #define CPU_F 11059200UL lahko izpustiš Very Happy

koda za zagon je
Koda:



#include <avr/io.h>
#include "lcd.h"

#define CPU_F 11059200UL

int main(void)
{
   LCDInit();
   LCDClear();
   LCDCursorOFF();
   
   LCDWriteStringXY(2,0,":");  //napišeš besedilo katero se ne spreminja in ga
   LCDWriteStringXY(5,0,":"); //ne posodablja
   
    while(1)
    {
      
       
      LCDWriteIntXY(0,0,ura,2);                 //izpis števil (x,y,število,število znakov)
                LCDWriteStringXY(0,0,"Hello World"); //izpis besedila(x,y,"besedilo")


      
    }
   
}



Vidim, da uporabljaš enako knjižnjico, mogoče veš, kako izpisati znak za stopinje??....167 je vrednost v ascii tabeli ampak mi ne uspe?


z tem sem se nekaj igral vendar mi ni ratalo Very Happy hehe bom pa probal pa povem Very Happy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
davide
Član
Član



Pridružen-a: Pet 10 Sep 2010 16:45
Prispevkov: 149
Aktiv.: 0.83
Kraj: Savinjska

PrispevekObjavljeno: Sob Mar 17, 2012 6:50 pm    Naslov sporočila:   Odgovori s citatom

jani18 je napisal/a:
1-wire vodilo je vedno ko je nedejaven v visokem stanju, logični enici za to skrbi pull-up upor, če potem hočemo karkoli poslati na vodilo ga potegnemo proti masi,
logični ničli za določen čas in nato sprostimo pull-up upor vodilo potegne nazaj na
logično enico.
Med spremembo registra DDR se na vodilu ne zgodi nič saj pull-up upor vodilo
drži oz. potegne na logično enico.


no, to že drži, vendar v zgornji kodi je razvdno, da je najprej port nastavljen kot izhod (therm output mode), če pa želimo poslati bit 1 pa sprostimo linijo, tako, da sprostimo linijijo, torej, če je port nastavljen, kot izhod, je na liniji enica, drugače pa ničla.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
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: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group