Pages: [1]   Go Down
Author Topic: temperature sensor LM35cz  (Read 2511 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

löysin laatikosta otsikon mukainen lm35 lämpötila sensori.
vasen jalka=vss keski vout, oikea gnd.
ongelmana, koodi toimii lukee ja näyttää voltit ja lämpötilan pinnistä A0

mutta,miksi -merkki edessä ja kun lämpö nousee lukema laskee eli normi huonelämpö +22 celsius astetta,näyttöön tulee -22kun lämmittää lukema tippuu esm -11 celsius astetta,ja miinus merkki edessä ? miten invertoida lukema ja ulos oikea tieto ? mietin laskukaavaa muttei oikein toimi jokin */+-juttu kun toimii väärinpäin.

alla koodi,missä virhe ? muutoin toimii kyllä lukee ja näyttää serial monitorissa asteet.
saisi vain näyttää +merkin ja lukema toisinpäin eli lämpö nousee lukemakin nousee.

ei ole vielä LCD näyttöä mutta näkyykö samalla koodilla lukema näytössä kuin tuossa serial monitorissakin ?
jos ,tai olen hankkimassa 12c näyttöä serial LCD. robomaalta.   http://www.robomaa.com/index.php?main_page=product_info&cPath=1006_1028&products_id=519
alkuun vain tuo kirjoittaa libraries liguidcrystal12c.h ??? ja pin init. ???

koodi

void setup()
{
  Serial.begin(9600);  //Start the serial connection with the computer
                       //to view the result open the serial monitor
}
 
void loop()                     // run over and over again
{
 //getting the voltage reading from the temperature sensor
 int reading = analogRead(0); 
 
 // converting that reading to voltage, for 3.3v arduino use 3.3
 float voltage = reading * 5.0;
 voltage /= 1024.0;
 
 // print out the voltage
 Serial.print(voltage); Serial.println(" volts");
 
 // now print out the temperature
 float temperatureC = (voltage - 0.5) * 100 ;  //converting from 10 mv per degree wit 500 mV offset
                                               //to degrees ((volatge - 500mV) times 100)
 Serial.print(temperatureC); Serial.println(" degrees C");
 
 delay(1000);                                     //waiting a second
}
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

löysin yhden linkin missä voi olla jotain ohjetta tuohon mutta sakemannia ei ymmärrä kyllä sit sanaakaan smiley-sad

http://www.freeduino.de/node/2160
goolettelin vissin 5tuntia mut mitään järkevää neuvoa ei löydy miksi tuo heittää negatiivista ulostiloa ja väärnipäin reagoi.
Logged

Kitee, Finland
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Sen saa halvalla... jos haluaa. Jos ei halua, ei saa..
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

joko selvis?

se toimii PTC vastuksen tavoin eli vastus on nouseva lämpöä vasten jolloin jännite laskee kun lämpötila nousee..
laita miinusmerkki 5.0 eteen niin se invertoi luonnollisesti sen kertoimen.. smiley

matikan tunnilla hereillä? smiley-wink

 float voltage = reading * -5.0;
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hmm,kiitos,pitää kokeilla smiley juu,ei ole matikan tunnit enää muistissa,tullut mieleenkään tuollainen hehe,on meinaan kouluajoista jo aikaa about,30V,eilen lähti tilaukseen robomaalta,koekytkentä levyä ja näyttöä motor shieldiä sun muuta osaa pääsee taas jatkamaan kokeilua smiley partcolta tilasin pari kpl lämpö ja hall anturireita digitaalisia että silleen,kiitti,hyvä kun on joku joka neuvoo vähän,kun meilläpäin ei ole ketään kenenkanssa jutella näistä smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hmm,kokeilin ,muutin tuota float voltage = reading * -5.0;
 voltage /= 1024.0;
miinus eteen,ei toimi,lämpötila ,anturin lämmetessä muuttuu näytössä kylmemmäksi edelleen,eli
kun lämpötila huoneessa +22 näyttää -22C ja lämmitän käsissä anturia,näyttöön tulee alempi lukema edelleen volts 0,24 ja -26,07 degree C

-19,-18,-12 etc.

hmm,ei hajua nyt tästä ?????
hmm,miinus meni kai väärin kun nyt näyttää - 0,24 volt ja -73,93 degree ????? nyt kyllä meni jo yli hilseen miksi 73 astetta lämmin yhtäkkiä samalla asetuksella ???

Logged

Finland
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Saisikohan sen niin jos laitat vielä ton
float temperatureC = (voltage - 0.5) * 100 ;
lisäksi tuommoisen
float temperaturereal = temperatureC * 3 ;

Sitten ei toimi kyllä miinus lämpötilat ja joutuu nuo float:it laittamaan heti loopin alle muotoon : float temperatureC, Temperaturereal;
Nuo kai pystyisi yhdistämään yhdeksikin, mutta itselläni arduino ollut vasta pari viikkoa. Itselläni tällainen "sääasema" projekti siinä käytän Dallasin digitaalista DS18S20 lämpöanturia toimii oikein hyvin, eikä todellakaan ole oikosulkuherkkä kytkin itse vahingossa väärinpäin... Käry nousi, mutta kun käänsin oikein päin hyvin toimi taas javascript:void(0);
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

kiitti,kokeillaan,itelläkin ollut vain vähän aika tää uno malli,heheh uunolle uno. smiley
josko näistä taas saisi jotain tolkkua smiley
Logged

Finland
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vastaampas vielä uudestaan eipäs toimikkaan tuolla kertoimella tulee vain enemmän miinusta mutta jos laittaisikin esim näin:
float temperaturereal = temperatureC - temperatureC - temperatureC ;
Unohdin tuossa edellisessä kuinka lasketaan.. esim. -22 * 3 = -66 mutta tuolla miinustamalla sillä pitäisi kaiketi saada oikea tulos?
Logged

Pages: [1]   Go Up
Jump to: