Fórum témák

» Több friss téma
Fórum » DS18B20 hőmérő-szenzor
 
Témaindító: Korben, idő: Nov 16, 2005
Témakörök:
Lapozás: OK   22 / 39
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Okt 24, 2015 /
 
Ezt miben írtad?
Mert kellene a forrás is, hogy élesben ki tudjam próbálni.
Szimulátorban megy frankón, de ott az enyém is.
Élesben nem tudom kipróbálni mert más, LCD-t használok rá és más portokat.
A szimulátoros kódot azért raktam össze, hogy szemléltessem a problémám, ami lehet hardveres lesz mert mindenkinél működik csak nálam nem
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Okt 24, 2015 /
 
Értem, akkor átalakítom erre az LCD-re a programot és átkötöm a próbapanelen.
Köszi a segítséget, visszamenőleg is mindenkinek, kiosztottam a pontokat.
Most egy ST7920 GLCD van rajta, elég bonyolult LCD.
A hozzászólás módosítva: Okt 24, 2015
(#) Bell válasza don_peter hozzászólására (») Okt 24, 2015 /
 
Nekem is volt gondom a DS18 visszajelzés érzékelésével. Arduino-val néztem meg, ha van visszajelzés, gyorsan villog, ha nincs, lassan.
  1. int ds18 = 10;
  2. unsigned char LED = 13;
  3. unsigned char jel;
  4. unsigned int ido;
  5.  
  6. void setup() {
  7.   pinMode(LED, OUTPUT);
  8. }
  9.  
  10. void loop() {
  11.    pinMode(ds18, OUTPUT);
  12.    digitalWrite(ds18, HIGH);
  13.    delayMicroseconds(10);
  14.    digitalWrite(ds18, LOW);
  15.    delayMicroseconds(500);
  16.    digitalWrite(ds18, HIGH);
  17.    pinMode(ds18, INPUT);
  18.    delayMicroseconds(60);
  19.    jel=digitalRead(ds18);
  20.    while(digitalRead(ds18)==0);
  21.    delayMicroseconds(10);
  22.    ido=100+900*jel;
  23.    delay(ido);
  24.    digitalWrite(LED, HIGH);
  25.    delay(ido);
  26.    digitalWrite(LED, LOW);
  27. }
(#) don_peter válasza Bell hozzászólására (») Okt 24, 2015 /
 
Közben kissi segítségével végérvényesen bebizonyosodott, hogy a DS18B20 szenzoraim rosszak.
simpi programja is erre utal egyébként.
Nem tudom mi lelte, de lehet tényleg ahogyan kissi is említette, lehet tényleg a röntgen tehette tönkre a vámon, vagy eleve hibásan küldték.
Passz, de tuti, hogy egyik sem működik, viszont a program működik másnál más szenzorral.
Sajna ebbe most keményen beleszaladtam, 1 erős hét volt mire ez kiderült mert mindenre gondoltam, de arra nem, hogy mind kettő szenzorom rossz.
Ez van.
(#) Bell válasza don_peter hozzászólására (») Okt 24, 2015 /
 
Nem dobnám el.
A hozzászólás módosítva: Okt 24, 2015
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Okt 26, 2015 /
 
No mostanra volt időm, kipróbálni ezt a parazita módot.
Sajnos így sem működik, szinte biztos, hogy döglött a DS chip.
Vettem másikat, csütörtökön érkezik és kiderül minden
(#) kissi válasza don_peter hozzászólására (») Okt 26, 2015 /
 
Miért ment volna parazita táplálással, ha másként nem ?! A parazita táplálásnál ( ha jól emlékszem ) hosszabb idők kellenek, hogy legyen elég energia "visszadumálni" ! Sajnos IC probléma lesz !
(#) kissi válasza (Felhasználó 15355) hozzászólására (») Okt 26, 2015 /
 
Emlékeim szerint amelyik jó, ott megy a DQ és a GND láb-on, az összekötés nélkül is...
A parazita tápellátásnál nem 4k7-el kell felhúzni, hanem valami "combosabb" eszközzel, ettől függetlenül úgy emlékszem, hogy pl. az azonosító kiolvasható extra felhúzás nélkül, csak a 2 lábon!
A hozzászólás módosítva: Okt 26, 2015
(#) don_peter válasza kissi hozzászólására (») Okt 26, 2015 /
 
Kipróbáltam hátha alapon, ennek már nem árt, legalább is úgy vélem.
Fehérváron kaptam az EC Bázisba, szóval van már csak otthon maradt, csütörtökön kerül fel hozzám, addig türelemmel kell lennem
(#) don_peter hozzászólása Okt 30, 2015 / 1
 
Nos, megérkezett tegnap a szenzor, és bebizonyosodott ami már a végén elég világos volt.
Mind kettő DS18B20 szenzorom hibás volt.
Az újjal tökéletesen működik a hőmérés és kijelzés.
Köszi a segítséget.

Képen a jobb felső sarokban látszik a mért adat.
(#) kissi válasza don_peter hozzászólására (») Okt 30, 2015 /
 
(#) morzsa15 hozzászólása Nov 3, 2015 /
 
Sziasztok!

Egy szenzorról az adatokat lehet küldeni 2 eszköznek?
(#) kissi válasza morzsa15 hozzászólására (») Nov 3, 2015 /
 
Lekérdezheti két eszköz is egymástól függetlenül, ha tudod biztosítani, hogy egymás "dumájába" nem beszélnek bele ( pl. az egyik egész percnél kérdezi le a másik fél percnél !) !
(#) Kovidivi válasza kissi hozzászólására (») Nov 3, 2015 /
 
A második AVR ki is hallgathatja a választ, és nem is kell kétszer egymás után lekérdezni!
(#) morzsa15 válasza Kovidivi hozzászólására (») Nov 3, 2015 /
 
Igazából az egyik PIC a másik meg arduino (avr).
(#) kissi válasza Kovidivi hozzászólására (») Nov 3, 2015 /
 
Akár !
(#) morzsa15 hozzászólása Nov 17, 2015 /
 
Sziasztok!

Azt hogyan tudom meg oldani hogy egyszerre két eszköz olvassa ki az adatott a szenzorból működni működik csak időközönként -127 fokot mér mind a 2 eszköz. Ezt hogyan lehetne kiküszöbölni hogy ne ütközzön?

Segítségeteket előre is köszönöm!
(#) Bakman válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
Az egyik kiolvassa majd átküldi az eredményt a másiknak, így tuti nem lesz keveredés.
(#) Kovidivi válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
A második eszközzel csak hallgatózz a vonalon, és mikor az első lekéri a hőmérsékletet, akkor a másodikkal is kövesd a biteket, és meg is lesz 1 lekérdezéssel mindkét egységben az időd.
(#) morzsa15 válasza Kovidivi hozzászólására (») Nov 17, 2015 /
 
Ezt hogyan tudnám megoldani?
(#) Kovidivi válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
Vedd az alap programot, amikor oda-vissza kommunikáció folyik, és gyomláld ki, hogy csak hallgatózzon. Gyűjtheted is a byte-okat, és csak azt használod fel, amiben a hőmérséklet van. Ugye a kommunikációnak kötött lépései vannak, tehát tudni fogod, hogy mikor ki beszél a vonalra.
(#) morzsa15 válasza Kovidivi hozzászólására (») Nov 17, 2015 /
 
Sajnos igazából az én tudásom szerint nincs benne a programkódban a kommunikáció de lehet rosszul tudom. Itt elküldöm tudnál segíteni melyik rész lenne az?
  1. #define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
  2. #include <SPI.h>
  3. #include <Ethernet.h>
  4. #include <BlynkSimpleEthernet.h>
  5. #include <SimpleTimer.h>
  6.  
  7.  
  8. // You should get Auth Token in the Blynk App.
  9. // Go to the Project Settings (nut icon).
  10. char auth[] = "xxxx";
  11.  
  12. #include <OneWire.h>
  13. #include <DallasTemperature.h>
  14.  
  15. // Data wire is plugged into pin 2 on the Arduino
  16. #define ONE_WIRE_BUS 7
  17.  
  18. // Setup a oneWire instance to communicate with any OneWire devices
  19. // (not just Maxim/Dallas temperature ICs)
  20. OneWire oneWire(ONE_WIRE_BUS);
  21.  
  22. // Pass our oneWire reference to Dallas Temperature.
  23. DallasTemperature sensors(&oneWire);
  24.  
  25. SimpleTimer timer;
  26.  
  27. void setup()
  28. {
  29.   Serial.begin(9600);
  30.   Blynk.begin(auth);
  31.   // You can also specify server.
  32.   // For more options, see BoardsAndShields/Arduino_Ethernet_Manual example
  33.  //Blynk.begin(auth, IPAddress(192,168,1,112), 8888);
  34.     sensors.begin();
  35.     timer.setInterval(10000L, sendUptime);
  36. }
  37.  
  38. void sendUptime()
  39. {
  40.   // You can send any value at any time.
  41.   // Please don't send more that 10 values per second.
  42.   Blynk.virtualWrite(V5, millis() / 1000);
  43.   sensors.requestTemperatures(); // Send the command to get temperatures
  44.   Blynk.virtualWrite(1, sensors.getTempCByIndex(0));
  45.   Blynk.virtualWrite(2, sensors.getTempCByIndex(0));
  46. }
  47.  
  48. void loop()
  49. {
  50.   Blynk.run();
  51.   timer.run();
  52.  }
(#) Kovidivi válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
A könyvtárban vannak a kommunikációért felelős függvények. Azokban kellene kotorászni. Ha ez gondot okoz, inkább keress másik megoldást. A legegyszerűbb, ha veszel még 1 DS18b20-at.
(#) Bakman válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
A OneWire protokoll eléggé kötött ahhoz, hogy az egyik kontrollert csak vételre állítva (jó ötlet Kovidivitől) könnyedén kimazsolázható a DS által küldött adat. Az adatlapjában is benne van a kommunikáció leírása, de pl. egy logikai analizátorral is célt lehet érni. Minden bizonnyal egy egyszerű UART is megteszi.
(#) pont válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
Lehetne, hogy "reteszeljék" egymást a mikrovezérlők, tehát mindegyik csak akkor olvas, ha a másik épp nem, egy-egy portlábat kéne áldozni erre. Vagy tényleg csak az egyik olvas és akár már csak a kiszámított hőmérséklet értéket átküldeni a másik counterére.
(#) morzsa15 válasza pont hozzászólására (») Nov 17, 2015 /
 
Sikerült úgy megoldanom hogy az egyik csal olvas köszönöm szépen!
(#) Kovidivi válasza morzsa15 hozzászólására (») Nov 17, 2015 /
 
Ennek örülök! Hogyan oldottad meg egyébként?
(#) morzsa15 válasza Kovidivi hozzászólására (») Nov 17, 2015 /
 
Alapból a könyvtárba volt olyan lehetőségek hogy miket csináljon a szenzor és úgy be kellet írni a biteket legalább is úgy volt el nevezve.
(#) morzsa15 válasza morzsa15 hozzászólására (») Nov 20, 2015 /
 
Sajnos ez a módszer mégsem jött be mert valószínű csak jókor indult el az arduino és ezért nem ütközött a két adat valaki tudna valami megoldást? Sajnos ez a dolog már meg haladja a tudásomat.

Minden segítségért hálás lennék!

Üdv Peti!
(#) Kovabe válasza morzsa15 hozzászólására (») Nov 20, 2015 /
 
Esetleg egy egy lábbal meg lehetne oldani ennek a kapcsolásnak a segítségével. Egy egy lábbal kéred a hozzáférést.
Következő: »»   22 / 39
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem