Arduino UNO R4 - Temperatuursensor

Deze tutorial leert u hoe u de DS18B20 1-wire temperatuursensor gebruikt met de Arduino UNO R4. In detail gaan we leren:

Arduino UNO R4 temperatuursensor

Benodigde Hardware

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternatief: DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Alternatief)
1×USB-kabel Type-C
1×DS18B20 Temperatuursensor (MET Adapter)
1×DS18B20 Temperatuursensor (ZONDER Adapter)
1×Jumperdraden
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno R4
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno R4
1×(Aanbevolen) Behuizing voor Arduino Uno R4
1×(Aanbevolen) Stromsplitter voor Arduino Uno R4
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables STEM V4 IoT Starterskit (Arduino inbegrepen)
1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

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 One Wire Temperatuursensor DS18B20

Pinout

De DS18B20 temperatuursensor heeft drie pinnen.

  • GND pin: Sluit deze aan op GND (0V).
  • VCC pin: Sluit deze aan op VCC (5V of 3.3V).
  • DATA pin: Dit is de 1-Wire Data bus. Sluit deze aan op een digitale pin van de Arduino UNO R4.

De sensor is verkrijgbaar in twee uitvoeringen: de TO-92 behuizing, die eruit ziet als een transistor, en de waterdichte sonde. In deze tutorial gebruiken we het waterdichte sondetype.

DS18B20 temperatuursensor Pinout

Om een DS18B20 temperatuursensor aan te sluiten op een Arduino UNO R4, hebt u een pull-up weerstand nodig, wat ingewikkeld kan zijn. Sommige fabrikanten leveren een bedradingsadapter met een pull-up weerstand en een schroefklemblok die al is inbegrepen, wat de installatie vereenvoudigt.

Bedradingsschema

  • Breadboard bedradingsschema
Arduino UNO R4 Temperatuursensor Bedradingsschema

This image is created using Fritzing. Click to enlarge image

  • Bedradingsschema met de bedradingsadapter
Arduino UNO R4 DS18B20 Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

We raden aan om een DS18B20 sensor met een bedradingsadapter te kopen. Deze adapter maakt het aansluiten eenvoudig omdat er een weerstand is inbegrepen, zodat u geen extra weerstand nodig hebt.

Hoe Te Programmeren Voor DS18B20 Temperatuursensor

  • Voeg de bibliotheek toe:
#include <OneWire.h> #include <DallasTemperature.h>
  • Maak een OneWire object en een DallasTemperature object voor de pin die is aangesloten op de DATA pin van de sensor.
OneWire oneWire(SENSOR_PIN); // Initialize a new OneWire instance on the sensor pin DallasTemperature DS18B20(&oneWire); // Create a DallasTemperature object linked to the OneWire instance
  • Stel de sensor in:
DS18B20.begin(); // Start the sensor initialization process
  • Stuur het commando om temperaturen te controleren:
DS18B20.requestTemperatures();
  • Controleer de temperatuur in Celsius.
temperature_C = DS18B20.getTempCByIndex(0);
  • (Optioneel) Zet Celsius temperatuur om naar Fahrenheit.
temperature_F = temperature_C * 9 / 5 + 32;

Arduino UNO R4 Code

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 4 // The Arduino UNO R4 pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius float temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in Celsius Serial.print("°C"); Serial.print(" ~ "); // separator between Celsius and Fahrenheit Serial.print(temperature_F); // print the temperature in Fahrenheit Serial.println("°F"); delay(500); }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Sluit de DS18B20 1-wire temperatuursensor aan op de Arduino Uno R4 volgens het bijgeleverde schema.
  • Verbind het Arduino Uno R4 bord met uw computer met behulp van een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 bord (bijv., Arduino Uno R4 WiFi) en COM-poort.
  • Klik op het Libraries pictogram aan de linkerkant van de Arduino IDE.
  • Zoek naar DallasTemperature en vind de bibliotheek van Miles Burton.
  • Klik op de Install knop om de DallasTemperature bibliotheek toe te voegen.
Arduino UNO R4 Dallas Temperature bibliotheek
  • U moet een bibliotheekafhankelijkheid installeren
  • Klik op de Install All knop om de OneWire bibliotheek te installeren.
Arduino UNO R4 onewire bibliotheek
  • Kopieer de code en open deze in Arduino IDE.
  • Klik op de Upload knop in Arduino IDE om de code naar Arduino UNO R4 te versturen.
  • Plaats de sensor in warm en koud water, of houd hem in uw hand.
  • Controleer de resultaten in de Serial Monitor.
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!