m'n temperatuur-projectje

8 antwoorden [Laatste bericht]
Ritchy
Offline
Lid sinds: 2011-07-11

Hallo iedereen,

ik heb deze voormiddag een klein projectje uitgevoerd met een temperatuursensor.
omdat ik graag zulke zaken lees op internet heb ik er een klein tutorialetje van gemaakt
voor de geïnteresseerden onder jullie..

Wat deze beginnerschakeling doet is het volgende:

  • Temperatuur meten
  • Temp weergeven op het dwengo LCD
  • een LEDje laten branden als het warmer wordt dan 26 graden

De gebruikte componenten:

  • LM35 (de datasheet voor de LM35 vind je hier )
  • LEDje
  • weerstand 180 ohm
  • het Dwengobord

De schakeling:

LM35 heeft 3 pootjes..
- het meest linkse is hetgene dat ik aansloot op de + van het Dwengo uitbreidingsbord
- het meest rechtse gaat op de - aansluiting van het Dwengo uitbreidingsbord
- het middelste pootje gaat op de AN0 poort (deze ingang gaan we gebruiken voor de Analoog naar Digitaal conversie)
om de LM35 in het breadbordje te kunnen prikken heb ik 1vd buitenste pootjes een beetje naar buiten gebogen

LEDje
om het LEDje aan te sluiten gebruik ik poort RB4 (als output), tussen RB4 en het LEDje een weerstand van 180 ohm. de reden daarvoor vind je hier External link

de Code in C
het volgende formuletje heb ik ergens op internet gevonden:

het woord 'maalteken' moet verandert worden naar het symbool maar weet niet juist hoe ik het op dit forum gebruik

het omzetten van de gemeten analoge waarde van de LM35 naar graden celsius verkrijgen we zo:
voltage= ((val)/1023.0) maalteken 5;
om het Voltage in mV te krijgen moeten we met 1000 vermenigvuldigen dus:
voltage=((val)/1023.0) maalteken 5 maalteken 1000)
omdat 10mV = 1 graad is, moet er door 10 gedeeld worden dus:

t=((val)/1023.0) maalteken 5 maalteken 100) //temperatuur in graden celsius

verder vereenvoudigd is dat:

t=((val/1023.0) maal 500);
t=(val maalteken 0.48876); //deze lijn gebruik ik in m'n C-code

  1. #include <dwengoBoard.h>
  2. #include <dwengoConfig.h>
  3. #include <dwengoADC.h>
  4. #include <dwengoLCD.h>
  5. #include <dwengoDelay.h>
  6.  
  7. void main(void) {
  8. initBoard();
  9. initADC();
  10. backlightOn();
  11. TRISB = 0; //poort B als output
  12.  
  13. while(TRUE) {
  14.  
  15. unsigned int val; // 2 integers gedeclareerd voor de duidelijkheid
  16. unsigned int temp; // en zodat we er mee kunnen rekenen
  17. val=readADC(0); /* de analoge waarde van poort RA0
  18. zetten we in variabele val*/
  19.  
  20. temp=(val*0.48876); //deze formule zet de analoge waarde om naar graden celsius
  21.  
  22.  
  23. clearLCD();
  24.  
  25. appendStringToLCD("Het is: ");
  26.  
  27. setCursorLCD(1, 0);
  28. appendIntToLCD(temp);
  29. appendStringToLCD(" C");
  30.  
  31. delay_ms(500);
  32.  
  33. if ( temp > 26 ) //if-statement om het ledje aan te doen als de temp hoger is dan 26 graden
  34.  
  35. PORTB = 0b00010000; // het LEDje op poort RB4 krijgt 5v (door de 150ohm weerstand)
  36.  
  37. else
  38. {
  39. PORTB = 0b00000000; // als de temp niet hoger is dan 26 graden gaat het lichtje uit
  40. }
  41.  
  42. }
  43. }

zal als ik tijd heb even enkele foto's trekken zodat je een beetje een beeld krijgt
van hoe het totaal eruit ziet
Sommigen onder jullie zullen dit misschien een saai projectje vinden.
Maar omdat ik een beginner ben, zijn dit de zaken waarvan ik op deze moment veel van bijleer.
(eventuele commentaar/verbeteringen aan de code of schema mag me dan ook uiteraard altijd meegedeeld worden)

greetz
Ritchy

Francis
Offline
Lid sinds: 2009-04-16

Ritchy,

Tof dat je jouw projecten met ons deelt! Als je wil, en wat foto's of filmpjes hebt, dan maken we er een blog-artikel van. Op die manier heeft het een grotere zichtbaarheid dan op ons forum. Wat denk je daarvan?

Groeten

Francis

Ritchy
Offline
Lid sinds: 2011-07-11

Hey Francis,

natuurlijk mag je m'n post gebruiken als blog-artikel..
ik heb ondertussen 3 foto's, maar ik krijg ze niet goed online,
vanaf dat gelukt is zal ik ze erbij posten.

bedankt voor de interesse !

greets
Ritchy

EDIT:
hier External link vind je m'n foto's:

Francis
Offline
Lid sinds: 2009-04-16

Ritchy, als je wil kan je proberen zelf een blog-post aan te maken op onze site:
http://www.dwengo.org/nl/node/add/idea
Dan komt de blog-post op jouw naam te staan. Wanneer je de blog hebt toegevoegd moet je op opslaan klikken en dan kan alleen jij en wij je blog zien. Hierna lezen wij het nog eens en daarna komt het online. Laat me iets weten als je het opgeslagen hebt ok?

Ritchy
Offline
Lid sinds: 2011-07-11

Francis,

ik heb de tekst een beetje aangepast en toegevoegd op de blog.
Jammer genoeg weet ik niet hoe ik er foto's moet bijplaatsen.

bekijk het maar eens, je mag altijd wat aanpassen als de opmaak je niet bevalt.

grtz
Ritchy

Francis
Offline
Lid sinds: 2009-04-16

Ziezo, ik heb je blog-artikel wat herschikt en gepubliceerd: http://www.dwengo.org/nl/node/400 Nu kunnen andere beginnende gebruikers hiervan iets opsteken :)

Ritchy
Offline
Lid sinds: 2011-07-11

Very nice ;)

lensboy
Offline
Lid sinds: 2011-03-18

is hier ook een vochtsensor in verkrijgbaar?
grts

Francis
Offline
Lid sinds: 2009-04-16

Een vochtsensor hebben we niet, maar dat bestaat wel. Je kan wat informatie vinden op http://www.sensorsmag.com/sensors/humidity-moisture/choosing-a-humidity-... External link

Inhoud syndiceren