Thermometers zijn nuttige apparaten die al sinds lange tijd worden gebruikt voor temperatuurmeting. In dit project hebben we een op Arduino gebaseerde digitale thermometer gemaakt om de huidige omgevingstemperatuur in realtime op een 16x2 LCD-eenheid weer te geven. Het kan worden ingezet in woningen, kantoren, industrieën etc. om de temperatuur te meten. We kunnen deze op Arduino gebaseerde thermometer in drie secties verdelen - De eerste sectie detecteert de temperatuur met behulp van temperatuursensor LM35, de tweede sectie converteert de temperatuurwaarde naar geschikte getallen in Celsius-schaal, wat wordt gedaan door Arduino, en het laatste deel van het systeem geeft de temperatuur weer op 16x2 LCD. Hetzelfde wordt aangetoond in onderstaand blokschema.
In deze digitale temperatuursensor met Arduino wordt Arduino Uno gebruikt om het hele proces aan te sturen. Een LM35-temperatuursensor wordt gebruikt voor het meten van de omgevingstemperatuur die 1 graad temperatuur geeft bij elke 10mV-verandering aan de uitgangspen. U kunt het eenvoudig controleren met een voltmeter door Vcc aan te sluiten op pin 1 en Ground op pin 3 en uitgangsspanning op pin 2 van de LM35-sensor. Als de uitgangsspanning van de LM35-sensor bijvoorbeeld 250m volt is, betekent dit dat de temperatuur ongeveer 25 graden Celsius is.
Arduino leest de uitgangsspanning van de temperatuursensor met behulp van analoge pin A0 en voert de berekening uit om deze analoge waarde om te zetten naar een digitale waarde van de huidige temperatuur. Na berekeningen verzendt arduino deze berekeningen of temperatuur naar 16x2 LCD-eenheid met behulp van de juiste commando's van het LCD-scherm. We hebben ook andere digitale thermometerprojecten gebouwd met DHT11, DS18B20 en andere temperatuursensoren.
Circuit componenten
Arduino
In dit project hebben we een Arduino gebruikt om het hele proces van het systeem te besturen. Arduino is een controller die draait op ATmega AVR-controller. Arduino is een open source hardwareplatform en erg handig voor projectontwikkeling. Er zijn veel soorten Arduino-boards zoals Arduino UNO, arduino mega, arduino pro mini, Lilypad etc. verkrijgbaar op de markt of je kunt Arduino ook zelf bouwen.
LM35 temperatuursensor
LM35 is een 3-pins temperatuursensor die 1 graad Celsius geeft bij elke verandering van 10 mVolt. Deze sensor kan temperaturen tot 150 graden Celsius detecteren. 1 cijferpen van de lm35-sensor is Vcc, de tweede is output en de derde is Ground. LM35 is de eenvoudigste temperatuursensor en kan eenvoudig worden aangesloten op elke microcontroller. U kunt hier verschillende temperatuurmetingen bekijken met behulp van op LM35 gebaseerde projecten.
Pin nr |
Functie |
Naam |
1 |
Voedingsspanning; 5V (+ 35V tot -2V) |
Vcc |
2 |
Uitgangsspanning (+ 6V tot -1V) |
Uitvoer |
3 |
Aarde (0V) |
Grond |
LM35 kan eenvoudig worden gekoppeld aan Raspberry Pi, NodeMCU, PIC-microcontroller, enz. Om de temperatuur te meten en kan ook stand-alone worden gebruikt met Op-amp om temperatuurniveaus aan te geven.
LCD
16x2 LCD-eenheid wordt veel gebruikt in embedded systeemprojecten omdat het goedkoop is, gemakkelijk verkrijgbaar, klein van formaat en gemakkelijk te koppelen is. 16x2 heeft twee rijen en 16 kolommen, wat betekent dat het uit 16 blokken van 5x8 dots bestaat. 16 pin voor aansluitingen waarin 8 databits D0-D7 en 3 besturingsbits namelijk RS, RW en EN. De rest van de pinnen wordt gebruikt voor voeding, helderheidsregeling en voor achtergrondverlichting.
Stroomvoorziening
Arduino Board heeft al een ingebouwde voedingssectie. Hier hoeven we alleen maar een 9 volt of 12 volt adapter op het bord aan te sluiten.
Schakelschema en uitleg
Circuit digram voor digitale thermometer met behulp van Arduino en LM35 temperatuursensor, wordt weergegeven in de bovenstaande figuur. Maak de aansluitingen zorgvuldig zoals weergegeven in het schema. Hier is 16x2 LCD-eenheid rechtstreeks verbonden met Arduino in 4-bit-modus. Datapinnen van LCD, namelijk RS, EN, D4, D5, D6, D7 zijn verbonden met Arduino digitale pin nummer 7, 6, 5, 4, 3, 2. Een temperatuursensor LM35 is verbonden met Analoge pin A0 van Arduino, die genereert 1 graad Celsius temperatuur bij elke 10mV outputwijziging aan de outputpin.
Als je nieuw bent bij Arduino, leer dan in onze vorige tutorial om 16x2 LCD met Arduino te verbinden.
Arduino LM35 Code & uitleg
De code voor temperatuurmeting met LM35 is eenvoudig en wordt aan het einde van deze tutorial gegeven. Eerst nemen we een bibliotheek op voor de LCD-eenheid en vervolgens definiëren we gegevens en controlepennen voor LCD en temperatuursensor.
Nadat we de analoge waarde op de analoge pin hebben gekregen, lezen we die waarde met behulp van de analoge leesfunctie en slaan we die waarde op in een variabele. En zet de waarde vervolgens om in temperatuur door de onderstaande formule toe te passen.
float analog_value = analogRead (analog_pin); float Temperatuur = analog_value * factor * 100 waarbij factor = 5/1023 analog_value = output van temperatuursensor
Hier wordt het graden-symbool gemaakt met behulp van de aangepaste tekenmethode
Dit is dus hoe we een eenvoudige digitale thermometer kunnen bouwen om de temperatuur met Arduino te meten. De volledige code met een demovideo wordt hieronder gegeven.