Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Dallas DS18s20/DS1820 temperatuuri sensor

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Dallas DS18s20/DS1820 temperatuuri sensor

    On keegi sellise sensoriga midagi peale hakanud? Googeldanud olen juba päris palju ning materjali varunud,kui ei oska kuskilt otsast alustada http://www.grifo.com/PRESS/DOC/Dallas/18S20.PDF (info sensori kohta)
    Temperatuuri mõõtmiseks on olemas ATMEL AVR microcontroller board STK500 http://www.embedds.com/wp-content/up...tion-board.jpg (atmega16) ja ka Atmega128 kit.

    Leitud materjalid: 1) http://cna.mikkeliamk.fi/Oppilas/MB2...S1820/ds1820.c
    2) http://www.siwawi.arubi.uni-kl.de/av...sor/index.html
    3) http://www.avrfreaks.net/index.php?n...topic&p=477196
    4) http://martybugs.net/electronics/tem...r/hardware.cgi

    Nimelt katsetasin koode mida leidsin ja üritasin neid modifitseerida.On kellegil kogemusi selle sensoriga ja ATmega kontrolleriga, kuuidas temperatuur kätte saada kontrolleri LCD-le (atmega 128 ja STK500 olemas COM port kuhu sensor taha ühendada).

    Tegin ära ühenduse DS1820 sensori ja com pordiga
    Lisatud failid
    viimati muutis kasutaja elektronx; 19 April 2010, 14:42.

    #2
    Vs: Dallas DS18s20/DS1820 temperatuuri sensor

    Hea lihtne ja soodne temperatuuriandur.
    Kui tahad üle 80 kraadi mõõta, siis pead toitejalale +5 peale andma. Passiivtoide jääb siis lahjaks.

    Comment


      #3
      Vs: Dallas DS18s20/DS1820 temperatuuri sensor

      Ei, üle 80 C pole vaja. Aga siiani pole tööle saanud C koodis et tempi. väljastada!? ideid, näiteid?

      Comment


        #4
        Vs: Dallas DS18s20/DS1820 temperatuuri sensor


        Lihtne näide koos skeemiga lk 382. Olen ise teinud sellise 8051-le, töötas.

        Comment


          #5
          Vs: Dallas DS18s20/DS1820 temperatuuri sensor

          Ehitasin nende peale endale veebitermomeetri
          Samast asjast oli siin veidi aega tagasi juttu teemas "Mesipuu temperatuur"
          Nokia telefoni ja PIC protsessoriga on kah huvitavaid asju tehtud : http://www.ivica-novakovic.from.hr/N...ometar-eng.htm
          Täna sain kätte DS2423 kaunterid, plaanis neid kah süsteemis kasutada.
          MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
          KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

          Comment


            #6
            Vs: Dallas DS18s20/DS1820 temperatuuri sensor

            Soov oleks saada kontroller tempi. lugema Atmega128 home lab kit-iga http://home.roboticlab.eu/en/hardwar...lab/controller üle RS232 (com) pordi. Siiani pole leidnud head C proged mida modifitseerida sellele.

            Comment


              #7
              Vs: Dallas DS18s20/DS1820 temperatuuri sensor

              Abi endiselt vaja, ideid?

              Esmalt postitatud elektronx poolt Vaata postitust
              Soov oleks saada kontroller tempi. lugema Atmega128 home lab kit-iga http://home.roboticlab.eu/en/hardwar...lab/controller üle RS232 (com) pordi. Siiani pole leidnud head C proged mida modifitseerida sellele.

              Comment


                #8
                Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                Digitemp'il on C-keelsed algtekstid kaasas.
                Need on küll Linuxi ja Windowsi jaoks, aga äkki õnnestub nendest ideid ammutada.
                Digital Temperature Sensor Modules for Linux, includes perl and python scripts and Round Robin Database graphing
                MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                Comment


                  #9
                  Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                  Mul pole otseselt temperatuurianduriga seotud küsimus:
                  1-wire liidesega loendur DS2423 http://www.buoy.com/pipermail/weathe...ch/009298.html

                  on väidetavalt tootmisest maas, kuid kirvehinnaga veel poodides müügil.
                  Kas keegi teab soovitada odavamat alternatiivi - lihtsa jadaliidesega odavat loendurikiipi?

                  Comment


                    #10
                    Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                    Sain alustatud siis sellise abimaterjaliga http://www.sicklinger.com/en/microco...rary-in-c.html

                    Ühendasin Atmega 128 boardile alustuseks 2 DS18s20 sensortiy.Nagu seal väidetud:" Only one sensor per ATMEGA Pin can be used" seega esimese sensori (DQ) PD1 (PORTD1) ja teise sensori PD3 PORTD3)
                    Üritasin siis järgnevat koodi modida:
                    (Lisan ka manuses failid,nii C koodi fail kui ka .h fail kus on defineerimised)
                    Ehk annab keegi näpunäiteid koodi kohta, tean et seal on veel palju teha
                    Kood:
                    #include <avr/io.h>
                    #include <util/delay.h>
                    #include <avr/interrupt.h>
                    #include "lcd.h"
                    #include "pin.h"
                    #include "ds18x20lib.h"
                    
                    //----------------------------------------
                    // Reset DS18S20
                    //----------------------------------------
                    
                     #define sen1 PORTD1
                     #define sen2 PORTD3
                    
                    
                    uint8_t ds1820_reset(uint8_t sen1 )
                    {
                      uint8_t err=100;
                      DS1820_DDR |= 1<<sen1;                        // define as ouput
                      DS1820_PORT &= ~(1<<sen1);                    //Pull low
                      _delay_us(480);                ;                    // 480 us
                      DS1820_DDR &= ~(1<<sen1);                        // define as input
                      DS1820_PORT |= 1<<sen1;                        //Pullup on
                      delay_us(66);                                        // 66 us
                      err = (DS1820_PIN & (1<<sen1)) >> sen1;    // no presence detect --> err=1 otherwise err=0
                      delay_us(240);                                    // 240 us
                      if( (DS1820_PIN & (1<<sen1)) == 0 ){            // short circuit --> err=2
                        err = 2;
                        }
                      return err;
                    }
                    //-----------------------------------------
                    // Write one bit to DS18S20
                    //-----------------------------------------
                    void ds1820_wr_bit(uint8_t wrbit,uint8_t sen1)
                    {
                        if (wrbit ==0)    {
                            DS1820_DDR |= 1<<sen1;                    // define as ouput
                              DS1820_PORT &= ~(1<<sen1);                //Pull low
                            delay_us(60);
                            DS1820_DDR &= ~(1<<sen1);                // define as input
                              DS1820_PORT |= 1<<sen1;                    //Pullup on
                            delay_us(4);
                        }
                        if (wrbit ==1)    {
                            DS1820_DDR |= 1<<sen1;                    // define as ouput
                              DS1820_PORT &= ~(1<<sen1);                //Pull low
                            delay_us(10);
                            DS1820_DDR &= ~(1<<sen1);                // define as input
                              DS1820_PORT |= 1<<sen1;                    //Pullup on
                            delay_us(54);
                        }
                    }
                    //-----------------------------------------
                    // Read one bit from DS18S20
                    //-----------------------------------------
                    uint8_t ds1820_re_bit(uint8_t sen1)
                    {
                        uint8_t rebit;
                        DS1820_DDR |= 1<<sen1;                            // define as ouput
                          DS1820_PORT &= ~(1<<sen1);                        //Pull low
                        delay_us(1);
                        DS1820_DDR &= ~(1<<sen1);                        // define as input
                        DS1820_PORT |= 1<<sen1;                            //Pullup on
                        delay_us(10);
                        rebit = (DS1820_PIN & (1<<sen1)) >> sen1;     //Read bit
                        delay_us(50);
                        return rebit;                                
                    }
                    //-----------------------------------------
                    // Read 1 byte from DS18S20
                    //-----------------------------------------
                    uint8_t ds1820_re_byte(uint8_t sen1)
                    {
                        uint8_t rebyte =0x00;
                        uint8_t rebit;
                        uint8_t i;
                    
                        for (i=0;i<8;i++)
                        {
                            rebit=ds1820_re_bit(sen1);
                            //delay_us(2);                                    //be on the save side
                            if (rebit==1){
                                rebyte|=(1<<i);
                            }
                        }
                        return(rebyte);
                    }
                    //-----------------------------------------
                    // Write 1 byte to DS18S20
                    //-----------------------------------------
                    void ds1820_wr_byte(uint8_t wrbyte,uint8_t sen1)
                    {
                        uint8_t i;
                        for (i=0; i<8; i++) // writes byte, one bit at a time
                        {        
                            ds1820_wr_bit((wrbyte & 0b00000001),sen1);
                            wrbyte = wrbyte >> 1;
                        }
                        delay_us(5);
                    }
                    //-----------------------------------------
                    // Read temperature
                    //-----------------------------------------
                    float  ds1820_read_temp(uint8_t sen1)    
                    {
                        uint8_t error,i;
                        uint16_t j=0;
                        uint8_t scratchpad[9];
                        float temp=0;
                        scratchpad[0]=0;
                        scratchpad[1]=0;
                        scratchpad[2]=0;
                        scratchpad[3]=0;
                        scratchpad[4]=0;
                        scratchpad[5]=0;
                        scratchpad[6]=0;
                        scratchpad[7]=0;
                        scratchpad[8]=0;
                        error=ds1820_reset(sen1);                                    //1. Reset
                        if (error==0){
                            ds1820_wr_byte(0xCC,sen1);                              //2. skip ROM
                            ds1820_wr_byte(0x44,sen1);                              //3. ask for temperature conversion
                            while (ds1820_re_byte(sen1)==0xFF && j<1000){            //4. wait until conversion is finished 
                                _delay_us(1);
                                j++;
                            }                                     
                            error=ds1820_reset(sen1);                                //5. Reset
                            ds1820_wr_byte(0xCC,sen1);                              //6. skip ROM
                            ds1820_wr_byte(0xBE,sen1);                              //7. Read entire scratchpad 9 bytes
                        
                            for (i=0; i<9; i++)                                         //8. Get scratchpad byte by byte
                            {
                               scratchpad[i]=ds1820_re_byte(sen1);                     //9. read one DS18S20 byte
                            }
                        }
                        if(scratchpad[1]==0x00 && scratchpad[7]!=0){                    //Value pos.
                            scratchpad[0]=scratchpad[0] >> 1;
                            temp=(scratchpad[0]-0.25f+(((float)scratchpad[7]-(float)scratchpad[6])/(float)scratchpad[7]));
                            temp = (floor(temp*10.0+0.5)/10);                            //Round value .x
                    
                        }
                        if(scratchpad[1]!=0x00){                                        //Value negative
                            uint8_t tmp;
                            tmp =scratchpad[0];                                            //Save Kommabit
                            tmp= ~ tmp;
                            tmp= tmp >> 1;
                            temp = (-1)*(tmp+1);
                            if ((scratchpad[0]&0b00000001)==1){
                                temp=temp+0.5;
                            }
                    
                        }
                    
                        return temp;
                    }
                    //-----------------------------------------
                    // Initialize DS18S20
                    //-----------------------------------------
                    void  ds1820_init(uint8_t sen1)    
                    {
                        uint8_t error;
                        uint16_t i =0;
                        error=ds1820_reset(sen1);                                    //1. Reset
                        if (error==0){
                            ds1820_wr_byte(0xCC,sen1);                              //2. skip ROM
                            ds1820_wr_byte(0x44,sen1);                              //3. ask for temperature conversion
                            while (ds1820_re_byte(sen1)==0xFF && i<1000){            //4. wait until conversion is finished 
                                _delay_us(1);
                                i++;
                            }
                            error=ds1820_reset(sen1);                                //5. Reset
                            ds1820_wr_byte(0xCC,sen1);                              //6. skip ROM
                            ds1820_wr_byte(0xBE,sen1);                              //7. Read entire scratchpad 9 bytes
                            }
                        
                           
                    }
                    
                    
                    
                    // S T A R T  M A I N  P R O G R A M 
                    int main (void)
                    {
                    
                    
                    // Init display
                        lcd_init(LCD_DISP_ON);    
                     
                        // Clear screen
                        lcd_clrscr();
                    
                    //-----------------------------------------
                    // Allocate memory
                    //-----------------------------------------    
                        unsigned char temp_sen1_str[8];//temp_sen2_str[8];
                        float temp_sen1;//temp_sen2;
                    //-----------------------------------------
                    // Init Stuff
                    //-----------------------------------------
                        ds1820_init (uint8_t sen1);              //Initialize DS1820 sensor üks
                        //ds1820_init(DS1820_pin_sen2);              //Initialize DS1820 sensor kaks
                    
                    //-----------------------------------------
                    // Do only once 
                    //-----------------------------------------        
                        for(;;){
                    //-----------------------------------------
                    // Read temperature
                    //-----------------------------------------
                            temp_sen1 = ds1820_read_temp(uint8_t sen1);// saab tempi sensor ühest
                            //temp_sen2 = ds1820_read_temp(DS1820_pin_sen2);// saab tempi sensor kahest
                    
                    
                            sprintf(temp_sen1_str,"%.1f C",temp_sen1); //Convert temp. puffer to string
                        //    sprintf(temp_sen2_str,"%.1f C",temp_sen2); //Convert temp. puffer to string
                    
                        return 0;
                        }
                        
                    }
                    
                    // E N D  M A I N  P R O G R A M
                    Lisatud failid

                    Comment


                      #11
                      Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                      Nii, sain koodi isegi enam vähem tööle AVR Studio ei kisa ja väljastab Atmega128 LCD-le 0.0 C (seega temperatuuri ei mõõda kuid midagi nagu juba toimuks )
                      Lisan täiustatud koodi:
                      Kood:
                      #include <avr/io.h>
                      #include <util/delay.h>
                      #include <avr/interrupt.h>
                      #include "lcd.h"
                      #include "pin.h"
                      #include "stdint.h"
                      #include "stdio.h"
                      #include <string.h>
                      #include "ds18x20lib.h"
                      
                      
                      // S T A R T  M A I N  P R O G R A M 
                      int main (void)
                      {
                      // Init display
                          lcd_init(LCD_DISP_ON);    
                       
                          // Clear screen
                          lcd_clrscr();
                      
                      //-----------------------------------------
                      // Allocate memory
                      //-----------------------------------------    
                          unsigned char temp_po_str[8],temp_pm_str[8];//,temp_pu_str[8],temp_ke_str[8],temp_bo_str[8];
                          float temp_po,temp_pm;//temp_pu,temp_ke,temp_bo;
                      //-----------------------------------------
                      // Init Stuff
                      //-----------------------------------------
                          ds1820_init(DS1820_pin_po);              //Initialize DS1820 
                          ds1820_init(DS1820_pin_pm);              //Initialize DS1820 
                          
                      //-----------------------------------------
                      // Do only once 
                      //-----------------------------------------        
                          for(;;){
                      //-----------------------------------------
                      // Read temperature
                      //-----------------------------------------
                              temp_po = ds1820_read_temp(DS1820_pin_po);//Get temperature from DS1820 puffer oben
                              temp_pm = ds1820_read_temp(DS1820_pin_pm);//Get temperature from DS1820 puffer mitte
                              
                      
                              sprintf(temp_po_str,"%.1f C",temp_po); //Convert temp. puffer oben to string
                              lcd_gotoxy(1,0);
                              lcd_puts(temp_po_str);
                              
                              sprintf(temp_pm_str,"%.1f C",temp_pm); //Convert temp. puffer mitte to string
                                  lcd_gotoxy(1,1);
                              lcd_puts(temp_pm_str);        
                      
                      
                          }
                          
                      }
                      // E N D  M A I N  P R O G R A M 
                      
                      
                      //----------------------------------------
                      // Reset DS18S20
                      //----------------------------------------
                      uint8_t ds1820_reset(uint8_t used_pin)
                      {
                        uint8_t err=100;
                        DS1820_DDR |= 1<<used_pin;                        // define as ouput
                        DS1820_PORT &= ~(1<<used_pin);                    //Pull low
                        _delay_us(480);                ;                    // 480 us
                        DS1820_DDR &= ~(1<<used_pin);                        // define as input
                        DS1820_PORT |= 1<<used_pin;                        //Pullup on
                        _delay_us(66);                                        // 66 us
                        err = (DS1820_PIN & (1<<used_pin)) >> used_pin;    // no presence detect --> err=1 otherwise err=0
                        _delay_us(240);                                    // 240 us
                        if( (DS1820_PIN & (1<<used_pin)) == 0 ){            // short circuit --> err=2
                          err = 2;
                          }
                        return err;
                      }
                      //-----------------------------------------
                      // Write one bit to DS18S20
                      //-----------------------------------------
                      void ds1820_wr_bit(uint8_t wrbit,uint8_t used_pin)
                      {
                          if (wrbit ==0)    {
                              DS1820_DDR |= 1<<used_pin;                    // define as ouput
                                DS1820_PORT &= ~(1<<used_pin);                //Pull low
                              _delay_us(60);
                              DS1820_DDR &= ~(1<<used_pin);                // define as input
                                DS1820_PORT |= 1<<used_pin;                    //Pullup on
                              _delay_us(4);
                          }
                          if (wrbit ==1)    {
                              DS1820_DDR |= 1<<used_pin;                    // define as ouput
                                DS1820_PORT &= ~(1<<used_pin);                //Pull low
                              _delay_us(10);
                              DS1820_DDR &= ~(1<<used_pin);                // define as input
                                DS1820_PORT |= 1<<used_pin;                    //Pullup on
                              _delay_us(54);
                          }
                      }
                      //-----------------------------------------
                      // Read one bit from DS18S20
                      //-----------------------------------------
                      uint8_t ds1820_re_bit(uint8_t used_pin)
                      {
                          uint8_t rebit;
                          DS1820_DDR |= 1<<used_pin;                            // define as ouput
                            DS1820_PORT &= ~(1<<used_pin);                        //Pull low
                          _delay_us(1);
                          DS1820_DDR &= ~(1<<used_pin);                        // define as input
                          DS1820_PORT |= 1<<used_pin;                            //Pullup on
                          _delay_us(10);
                          rebit = (DS1820_PIN & (1<<used_pin)) >> used_pin;     //Read bit
                          _delay_us(50);
                          return rebit;                                
                      }
                      //-----------------------------------------
                      // Read 1 byte from DS18S20
                      //-----------------------------------------
                      uint8_t ds1820_re_byte(uint8_t used_pin)
                      {
                          uint8_t rebit;
                          uint8_t rebyte =0x00;
                          
                          uint8_t i;
                      
                          for (i=0;i<8;i++)
                          {
                              rebit=ds1820_re_bit(used_pin);
                              //_delay_us(2);                                    //be on the save side
                              if (rebit==1){
                                  rebyte|=(1<<i);
                              }
                          }
                          return(rebit);
                      }
                      //-----------------------------------------
                      // Write 1 byte to DS18S20
                      //-----------------------------------------
                      void ds1820_wr_byte(uint8_t wrbyte,uint8_t used_pin)
                      {
                          uint8_t i;
                          for (i=0; i<8; i++) // writes byte, one bit at a time
                          {        
                              ds1820_wr_bit((wrbyte & 0b00000001),used_pin);
                              wrbyte = wrbyte >> 1;
                          }
                          _delay_us(5);
                      }
                      //-----------------------------------------
                      // Read temperature
                      //-----------------------------------------
                      float  ds1820_read_temp(uint8_t used_pin)    
                      {
                          uint8_t error,i;
                          uint16_t j=0;
                          uint8_t scratchpad[9];
                          float temp=0;
                          scratchpad[0]=0;
                          scratchpad[1]=0;
                          scratchpad[2]=0;
                          scratchpad[3]=0;
                          scratchpad[4]=0;
                          scratchpad[5]=0;
                          scratchpad[6]=0;
                          scratchpad[7]=0;
                          scratchpad[8]=0;
                          error=ds1820_reset(used_pin);                                    //1. Reset
                          if (error==0){
                              ds1820_wr_byte(0xCC,used_pin);                              //2. skip ROM
                              ds1820_wr_byte(0x44,used_pin);                              //3. ask for temperature conversion
                              while (ds1820_re_byte(used_pin)==0xFF && j<1000){            //4. wait until conversion is finished 
                                  _delay_us(1);
                                  j++;
                              }                                     
                              error=ds1820_reset(used_pin);                                //5. Reset
                              ds1820_wr_byte(0xCC,used_pin);                              //6. skip ROM
                              ds1820_wr_byte(0xBE,used_pin);                              //7. Read entire scratchpad 9 bytes
                          
                              for (i=0; i<9; i++)                                         //8. Get scratchpad byte by byte
                              {
                                 scratchpad[i]=ds1820_re_byte(used_pin);                     //9. read one DS18S20 byte
                              }
                          }
                          if(scratchpad[1]==0x00 && scratchpad[7]!=0){                    //Value pos.
                              scratchpad[0]=scratchpad[0] >> 1;
                              temp=(scratchpad[0]-0.25f+(((float)scratchpad[7]-(float)scratchpad[6])/(float)scratchpad[7]));
                              temp = (floor(temp*10.0+0.5)/10);                            //Round value .x
                      
                          }
                          if(scratchpad[1]!=0x00){                                        //Value negative
                              uint8_t tmp;
                              tmp =scratchpad[0];                                            //Save Kommabit
                              tmp= ~ tmp;
                              tmp= tmp >> 1;
                              temp = (-1)*(tmp+1);
                              if ((scratchpad[0]&0b00000001)==1){
                                  temp=temp+0.5;
                              }
                      
                          }
                      
                          return temp;
                      }
                      //-----------------------------------------
                      // Initialize DS18S20
                      //-----------------------------------------
                      void  ds1820_init(uint8_t used_pin)    
                      {
                          uint8_t error;
                          uint16_t i =0;
                          error=ds1820_reset(used_pin);                                    //1. Reset
                          if (error==0){
                              ds1820_wr_byte(0xCC,used_pin);                              //2. skip ROM
                              ds1820_wr_byte(0x44,used_pin);                              //3. ask for temperature conversion
                              while (ds1820_re_byte(used_pin)==0xFF && i<1000){            //4. wait until conversion is finished 
                                  _delay_us(1);
                                  i++;
                              }
                              error=ds1820_reset(used_pin);                                //5. Reset
                              ds1820_wr_byte(0xCC,used_pin);                              //6. skip ROM
                              ds1820_wr_byte(0xBE,used_pin);                              //7. Read entire scratchpad 9 bytes
                              }
                          
                             
                      }

                      Comment


                        #12
                        Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                        Kui sa nii usin juba oled ja progeda tahad, mul on siin moodsam plaat. Atmega32u4, kus on I2C küljes DS2482-100 http://datasheets.maxim-ic.com/en/ds/DS2482-100.pdf ja sellel omakorda http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5355 ning kruviklemmid väliste DS18S20 ning releede jaoks. Progemiseks vajad ainult USB juhet. Ma annaks raua sulle kui sa sinna softi peale arendad. Anna aadress ja ma postitan. Kuna DS2482-100 tagant leitakse sensorid automaatselt OWFS softis üles, saab arvatavasti sealt šnitti võtta. Eagle failid
                        http://no.spam.ee/~tonu/termou4.sch
                        http://no.spam.ee/~tonu/termou4.brd

                        Skeemis on termoanduri kivi asemel miski suvaline MAX... opvõim pandud, mille korpus klappis. http://www.pjrc.com/teensy/usb_serial.html pealt saab USB rauale sobivat softi toorikuid. Ma olen WinAVR-ga nad kenasti käima saanud ja Atmel FLIP abil progend sisse.
                        viimati muutis kasutaja tonuonu; 06 May 2010, 15:42.

                        Comment


                          #13
                          Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                          kas tartus oleks kedagi kes aitaks selle 1wire temp anduri käima panna,
                          tegin ise kõik nagu õpetused aga programm ütleb et 1wire network puudub... ja nüüd ma ei teagi milles viga on kas softis või anduris...

                          Comment


                            #14
                            Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                            kas see isetehtud com pordi adapter töötab XP`ga ka?

                            mitte kuidagi ei taha tööle hakata mul igatahes, kas tõesti peab 98 peale panema...

                            Comment


                              #15
                              Vs: Dallas DS18s20/DS1820 temperatuuri sensor

                              XPga töötab väga edukalt.
                              Parallel pordi jaoks on XP-l reeglina vaja ühte driverit. Võimalik, et ka COM port tahab seda.

                              Comment

                              Working...
                              X