Robofun Senzor Temperatura Brick

14,00 Lei
Stoc: 7
In stoc

Durata de livrare: 1 zi

Limita stoc
- +
Adauga in cos
Cod Produs: SEN-VRM-05 Ai nevoie de ajutor? 0731 007 832
  • Descriere
  • Video
  • Review-uri (35)

Senzorul de temperatura brick este o componenta care sesizeaza nivelul temperaturii din mediul ambiant.
 

Pinul de semnal (OUT) se conecteaza la un pin analogic al Arduino. 

 

 

Pinul de semnal se cupleaza la pinul analogic 0 al placii Arduino. 
 

Programul de mai jos afiseaza temperatura in grade Celsius in consola de debug.

 


void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.print("Temperatura: ");
  float temperatura = readTempInCelsius(10,0);
  Serial.print(temperatura);
  Serial.print("  ");
  Serial.write(176);
  Serial.println("C");
  delay(200);
}

float readTempInCelsius(int count, int pin) {
  float temperaturaMediata = 0;
  float sumaTemperatura = 0;
  for (int i =0; i < count; i++) {
    int reading = analogRead(pin);
    float voltage = reading * 5.0;
    voltage /= 1024.0;
    float temperatureCelsius = (voltage - 0.5) * 100 ;
    sumaTemperatura = sumaTemperatura + temperatureCelsius;
  }
  return sumaTemperatura / (float)count;
}


Datasheet LM50
 

Cum să realizăm un sistem LoRaWAN

 

Viorel [ROBOFUN],

Salut, Da, exista. Cel mai simplu ar fi sa folosesti serviciul http://iot.robofun.ro/ . Vezi spre exemplu proiectul cu Blynk, pare a fi exact ce vrei tu - https://blog.robofun.ro/2017/06/20/proiect-blynk-iot/ Sau cel cu zgomotul, e mai simplu de folosit Arduino ETH - https://blog.robofun.ro/2017/06/13/proiect-noise-o-meter-iot/ Viorel

A fost util acest review?

Adrian Simionescu,

Vreau sa fac un serviciu windows/linux care sa interogheze un termometru digital. De ex.: sa citesc temperatura si sa o afisez intr-un site web sau sa trimit o notificare pe email. Nu stiu ce traductoare/dispozitive ar trebui sa folosesc. Exista asa ceva, nu? Mersi!

A fost util acest review?

Florin,

Acest sensor foloseste prin programul furnizat valoarea de referinta de 5 V a placii. Aceasta valoare nu este insa constanta ci difera in functie de sarcina, intra altele. Variatii foarte mici de tensiune determina variatii mari de temperature (vezi formula). In locul referintei de 5 V eu am folosit referinta interna de 1.1.V a placii si valoarea citita este mai precisa. Totusi, variaza in cadrul unui grad si are nevoie de cateva minute pentru stabilizare, daca folositi o medie. Necesita si calibrare prin modificarea coeficientilor din formula respectiva. Am lucrat cu acest snzor si Arduino UNO original cumparat de la Robofun (le-am chinuit si au rezistat eroic - multumesc Robofun pentru calitatea lor!). Pentru cele de mai sus am folosit indicatiile primite de pe forumul Arduino (multumiri lui @Wawwa si @VWMarle!).

A fost util acest review?

Viorel [ROBOFUN],

@Robert Poti sa-mi dai prin email codul sursa pe care il folosesti ? contact [at] robofun [dot] ro Viorel

A fost util acest review?

Robert,

@Viorel Am urmat pas cu pas cablajul (am verificat de 3 ori sa fie totul corect), am urmat instructiunile pentru a face enable la SPI, am creat un nou modul pentru python 3 si am dat copy-paste la codul sursa. Singura chestie ce am facut diferit ii faptul ca am scos acel for si pur si simplu am trimis numarul pinului de pe shield unde era legat senzorul. La prima incercare imi tot dadea valoarea -50, adica nu citea valorile deloc, insa acum, variaza intre -49 si 10 grade celsius, ceea ce mi se pare incorect. Uneori imi da valori negative chiar daca tin senzorul in mana.

A fost util acest review?

Viorel [ROBOFUN],

@Robert Banuiala mea e ca ai facut tu ceva gresit, nu este nevoie de vreo calibrare suplimentara. Ma poti ajuta cu mai multe detalii despre cum anume ai procedat, ca sa incerc sa imi dau seama ce nu ai facut corect ? Eventual hai sa mutam discutia pe forum, este mai simplu de discutat acolo.

A fost util acest review?

Robert,

Pentru Raspberry PI e nevoie de vreo calibrare pentru a citi corect temperatura? Am urmat pasii la kitul de senzori pentru Raspberry, insa imi tot citesti valori negative, si abia imi da maxim 10-12 grade Celsius, pe cand in camera ii cel putin 21 de grade Celsius. Sau am facut ceva gresit?

A fost util acest review?

George,

Asta probabil pentru ca nu aveti voi asa ceva:)) si da, e normal.

A fost util acest review?

Viorel [ROBOFUN],

@George Te cred, doar ca de la mine nu vrei primi vreo recomandare in acest sens. Nu-mi da voie sectiunea de &quot;Termeni si Conditii&quot;.

A fost util acest review?

George,

Stiu, dar eu vreau sa integrez cu un arduino

A fost util acest review?

Viorel [ROBOFUN],

@George In opinia mea, pentru orice fel de investigatii de ordin medical, singurele produse recomandate sunt termometrele medicale, produse si certificate pentru acest scop.

A fost util acest review?

George,

Poti sa imi recomanzi un senzor care sa poata fi folosit in acest scop?

A fost util acest review?

Viorel [ROBOFUN],

@George Tehnic, senzorul va masura temperatura capsulei. Depinzand de cat de mult timp il tii in contact cu corpul, probabil ca la un moment da capsula senzorului va atinge aceeasi temperatura cu corpul. NU RECOMANDAM INSA UTILIZAREA IN SCOPURI MEDICALE (vezi si sectiunea &quot;Termeni si Conditii&quot;).

A fost util acest review?

George,

Acest senzor poate fi folosit pentru masurarea temperaturii corpului la nivelul pielii?

A fost util acest review?

Viorel [ROBOFUN],

@Liviu Nu iti recomand sa folosesti acest senzor la distanta, este un senzor analogic. Ai varianta DS*, care merge fara probleme la distante mari, este digital, iar ca pret sunt comparabili - https://www.robofun.ro/index.php?route=product/search&amp;search=DS18B20

A fost util acest review?

Liviu,

Salut, Care este lungimea maxima pentru cablul de conectare ?. Este indicata utilizarea unui cablu ecranat, sau un cablu gen utp cupru este suficient ? Multumesc

A fost util acest review?

Viorel [ROBOFUN],

Pe vremea cand am scris codul din pagina, orice variabila lasata neinitializa era automat initializata cu valoarea zero. Intre timp aparent s-au mai schimbat lucrurile :) Multumesc de avertizare, am modificat. Viorel

A fost util acest review?

Adrian,

Am testat cu exemplul din pagina pentru inceput iar rezultatul era Temperatura: ovf C. Program: float sumaTemperatura; Corect: float sumaTemperatura = 0; Scuze daca pare evident, dar pana am inteles de unde provenea eraorea...

A fost util acest review?

Marius,

Senzorul pe care l-am achizitionat eu arata cu aproimativ 3 grade in plus fata de termometrele digitale pe care le am in casa, puse fix langa el. Dupa ce s-a identificat diferenta (constanta) de temperatura, problema se rezolva usor prin modificarea formulei de citire: in loc de: float temperatureCelsius = (voltage - 0.5) * 100 ; va fi: float temperatureCelsius = (voltage - 0.53) * 100 ; Fiecare grad in plus inseamna 0.01 mai mult la voltajul de referinta V0C. Procedeul de calibrare e explicat mai in detaliu aici: http://www.instructables.com/id/How-to-calibrate-a-cheap-temperature-sensor/?ALLSTEPS Dupa calibrarea senzorului am achizitionat un shield ethernet 2 pentru a conecta arudino-ul la router. Atunci au aparut diferente mari de temperatura: doar Arduino: 27 grade arduino + ethernet: 37 grade arduino + ethernet + cablu de retea conectat: 43 grade Nu stiu de ce sunt diferente asa de mari la montarea shieldului de ethernet, dar probabil creste rezistenta pe circuit. Am masurat tensiunea de intrare in senzor VCC, care e de fix 5V, se modifica doar Vout de la 0.8 la 0.99. Poate mai bine ar trebui achizitionat un senzor digital de temperatura.

A fost util acest review?

Viorel [ROBOFUN],

@Dan - Serial.write(176) scrie simbolul &quot;celsius&quot; - float temperaturaMediata = 0; este o declaratie de variabila; poti sa o initializezi cu 0 sau nu, se intampla acelasi lucru - voltage /= 1024.0 este echivalentul instructiunii &quot;voltage = voltage / 1024.0&quot; si nu este acelasi lucru cu &quot;voltage = 1024&quot; - &quot;float voltage = reading * 5.0; si float temperatureCelsius = (voltage - 0.5) * 100 ;&quot; este o formula matematica de conversie din voltaj in grade celsius; a fost obtinuta din datasheet.

A fost util acest review?

Dan,

1. care este scopul la: Serial.write(176); 2. pentru ce s-ar folosi: float temperaturaMediata = 0; 3. de ce se foloseste: voltage /= 1024.0; in loc de un simplu: voltage = 1024.0; ca doar se citeste variabila de fiecare data in bucla, nu este influentata de alta iteratie a buclei 4. imi puteti explica formula? float voltage = reading * 5.0; si float temperatureCelsius = (voltage - 0.5) * 100 ; 5. Multumesc!

A fost util acest review?

Viorel [ROBOFUN],

@Ionut Este LM50

A fost util acest review?

Ionut,

Acest senzor este LM50 sau LM50-Q1? Sa stiu la ce specificatii din datasheet sa ma uit. Multumesc anticipat!

A fost util acest review?

ilie,

afisa gresit ovf C gresit: float sumaTemperatura; corect: float sumaTemperatura=0;

A fost util acest review?

Viorel [ROBOFUN],

@raz Multumesc pentru update-uri. Ceea ce zici este foarte corect. De exemplu, pentru Raspberry PI, functioneaza exemplul de aici - https://www.robofun.ro/Kit-RASPBERRY-PI-B-pentru-incepatori Viorel

A fost util acest review?

raz,

Revin pt cazul in care pinii nu sunt 5v toleranti: float voltage = reading * 3.3; Apoi codul model este corect. Se imparte la 1024 pt. ca ADC-ul e pe 10 biti, apoi se scade 0.5 V (offset-ul) si se inmulteste cu 100.

A fost util acest review?

raz,

@ Stef : la fel patesc si eu folosind codul exemplu. Am obtinut o temperatura apropiata cu cea din camera cu formula: rezolutie_ADC = 1/1024 ; // ADC pe 10 biti val fizica = val_logica * rezolutie_ADC * 100 pt. 0xF0 * 0.0009765625 * 100 = 23.437 grade celsius Acum nu sunt sigur daca intr-adevar e corecta pana la capat abordarea mea...

A fost util acest review?

Viorel [ROBOFUN],

@Stef Ce cod sursa folosesti ?

A fost util acest review?

Stef,

Intrebarea mea este.. pinul vcc unde se conectaza pe o placa leonardo... valorile sunt in grade celsius dare pare ca la mine depasesc valorile normale gen 30-35 grade , tot timpul imi arata 150,150,149,150,2,150. Gresesc pe undeva ?

A fost util acest review?

Andrei B.,

Găseşti în datasheetul ataşat mai sus informaţiile cerute, la pagina 7. Administratori : înlăturaţi din codul de mai sus variabila temperaturaMediata; nu este folosită.

A fost util acest review?

Andreea,

Imi puteti spune va rog ce tip de senzor de temperatura este de fapt acesta? Termorezistenta, termistor, termocuplu sau jonctiune p-n?

A fost util acest review?

Mihai,

Exista o explicatie pentru citiri de '0' din cand in cand? Primesc citiri de genul: 150,149,150,2,150,149,0,150,150

A fost util acest review?

Vali,

&quot; Pinul de semnal (OUT) se conecteaza la un pin analogic al Arduino. &quot; &quot; Exemplu de cod // pinul de semnal se cupleaza la pinul digital 0; programul afiseaza temperatura in grade Celsius in consola de debug; &quot; Banuiesc ca pe analogic trebuie conectat pinul OUT , nu ?

A fost util acest review?

liviu,

inca nu detin un raspberry pi dar as fi curios cu ce se poate interoga temperatura de pe un raspberry pi folosind acest device pe USB

A fost util acest review?

ionut,

,,Exemplu de cod // pinul de semnal se cupleaza la pinul ANALOG 0; programul afiseaza temperatura in grade Celsius in consola de debug; &quot;

A fost util acest review?

Scrie un review


Suport clienti Magazinul este deschis luni - vineri, intre orele 11:00 si 18:00.

0731 007 832 contact@robofun.ro
close

Comparare

Trebuie sa mai adaugi cel putin un produs pentru a compara produse.

close

A fost adaugat in wishlist!