Arduino - Temperatuursensor - Servo Motor
Deze tutorial laat zien hoe u een Arduino en een DS18B20 temperatuursensor gebruikt om een servo motor aan te sturen. Specifiek wordt de Arduino geprogrammeerd om continu de temperatuur te meten met de DS18B20 sensor. Vervolgens wordt de servo motor aangepast volgens de volgende regels:
- Als de temperatuur een vooraf bepaalde drempel overschrijdt, zal de Arduino de servo motor naar 90 graden draaien.
- Als de temperatuur onder de drempel daalt, zal de Arduino de servo motor terugdraaien naar 0 graden.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.
Over Servo Motor en Temperatuursensor
Als u nog niet bekend bent met servo motor en temperatuursensor (zoals pinout, werking en programmeren), leer er dan meer over in de volgende tutorials:
Bedradingsschema
- Bedradingsschema met breadboard (experimenteerprint)

This image is created using Fritzing. Click to enlarge image
- Bedradingsschema met adapter (aanbevolen)

This image is created using Fritzing. Click to enlarge image
We raden aan een DS18B20 sensor met bedradingadapter te gebruiken voor eenvoudige aansluiting. De adapter beschikt over een ingebouwde weerstand, waardoor een aparte weerstand in de bedrading komt te vervallen.
Arduino Code – Temperatuursensor activeert Servo Motor
Snelle Stappen
- Maak de bedrading tussen Arduino, temperatuursensor en servo motor volgens bovenstaand schema
- Sluit de Arduino met een USB-kabel aan op uw computer
- Open de Arduino IDE en selecteer het juiste board en de juiste poort
- Ga naar het pictogram Libraries in de linkerbalk van de Arduino IDE.
- Zoek op “DallasTemperature”, en vind de DallasTemperature library van Miles Burton.
- Klik op de Install knop om de DallasTemperature library te installeren.

- U wordt gevraagd om de afhankelijkheid van de library te installeren
- Klik op Install All om ook de OneWire library te installeren.

- Kopieer bovenstaande code en open deze met de Arduino IDE
- Klik op de Upload knop in de Arduino IDE om de code naar de Arduino te uploaden
- Verander de temperatuur rond de temperatuursensor
- Observeer de beweging van de servo motor
- Bekijk het resultaat in de Seriële Monitor, het ziet er ongeveer zo uit:
Arduino Code – Temperatuursensor activeert Servo Motor met Tolerantie
Tijdens het gebruik kan de temperatuur fluctueren rond de drempel, waardoor de servo motor snel en continu wordt aangepast. Dit kan leiden tot trillingen in plaats van een soepele draaiing naar de gewenste hoek. Om dit te voorkomen kan een tolerantie worden toegevoegd aan de drempelwaarde. De volgende code laat zien hoe u dit doet:
De bovenstaande code gebruikt een drempel van 20°C en een tolerantie van 0,5°C. De volgende condities gelden:
- Als de temperatuur onder de 19,5°C is, wordt de servo motor ingesteld op 0°.
- Als de temperatuur boven de 20,5°C is, wordt de servo motor ingesteld op 90°.
- Als de temperatuur tussen 19,5°C en 20,5°C ligt, verandert de servo motor hoek niet.