You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ml/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md

136 lines
13 KiB

# താപനില അളക്കുക - Wio ടെർമിനൽ
പാഠത്തിന്റെ ഈ ഭാഗത്തിൽ, നിങ്ങൾ നിങ്ങളുടെ Wio ടെർമിനലിൽ ഒരു താപനില സെൻസർ ചേർത്ത് അതിൽ നിന്നുള്ള താപനില മൂല്യങ്ങൾ വായിക്കും.
## ഹാർഡ്‌വെയർ
Wio ടെർമിനലിന് ഒരു താപനില സെൻസർ ആവശ്യമാണ്.
നിങ്ങൾ ഉപയോഗിക്കുന്ന സെൻസർ ഒരു [DHT11 ഈർപ്പം താപനില സെൻസർ](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html) ആയിരിക്കും, രണ്ട് സെൻസറുകൾ ഒരു പാക്കേജിൽ സംയോജിപ്പിച്ചിരിക്കുന്നു. ഇത് സാങ്കേതികമായി ജനപ്രിയമാണ്, താപനില, ഈർപ്പം, ചിലപ്പോൾ അന്തരീക്ഷ സമ്മർദ്ദം സംയോജിപ്പിച്ച വ്യാപാരസാധ്യമായ നിരവധി സെൻസറുകൾ ഉണ്ട്. താപനില സെൻസർ ഘടകവും ഒരു നെഗറ്റീവ് താപനില കോഫിഷ്യന്റ് (NTC) തർമിസ്റ്ററാണ്, താപനില ഉയരുന്നതിനൊപ്പം പ്രതിരോധം കുറയുന്ന തർമിസ്റ്റർ.
ഇത് ഒരു ഡിജിറ്റൽ സെൻസർ ആണ്, അതിനാൽ ഇതിന് താപനിലയും ഈർപ്പവും അടങ്ങിയ ഡിജിറ്റൽ സിഗ്നൽ സൃഷ്ടിക്കുന്ന ബോർഡ് മിനുസത്തിലുള്ള ADC ഉണ്ട്, ഇത് മൈക്രോകൺട്രോളർ വായിക്കാം.
### താപനില സെൻസർ കണക്റ്റ് ചെയ്യുക
Grove താപനില സെൻസർ Wio ടെർമിനലിന്റെ ഡിജിറ്റൽ പോർട്ടിൽ കണക്റ്റ് ചെയ്യാം.
#### പ്രവർത്തി - താപനില സെൻസർ കണക്റ്റ് ചെയ്യുക
താപനില സെൻസർ കണക്റ്റ് ചെയ്യുക.
![ഒരു Grove താപനില സെൻസർ](../../../../../translated_images/ml/grove-dht11.07f8eafceee17004.webp)
1. Grove കേബിളിന്റെ ഒരു ഭാഗം ഈർപ്പം താപനില സെൻസറിന്റെ സോക്കറ്റിലേക്ക് പ്രവേശിപ്പിക്കുക. ഇത് ഒരേ ദിശയിൽ മാത്രമേ പ്രവേശിക്കൂ.
1. Wio ടെർമിനൽ നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ അല്ലെങ്കിൽ മറ്റൊരു പവർ സപ്ലൈയിൽ നിന്ന് വിച്ഛേദിച്ച ശേഷം, Grove കേബിളിന്റെ മറുവശം Grove സോക്കറ്റിന്റെ വലതുവശത്ത്, സ്ക്രീൻ നോക്കുമ്പോൾ Wio ടെർമിനലിൽ ഉള്ള വലതുവശത്തെ Grove സോക്കറ്റിലേക്കു കണക്റ്റ് ചെയ്യുക. ഇത് പവർ ബട്ടണിൽ നിന്ന് ഏറ്റവും ദൂരെ ആയ സോക്കറ്റാണ്.
![വലതുവശത്തെ സോക്കറ്റിൽ കണക്റ്റ് ചെയ്ത Grove താപനില സെൻസർ](../../../../../translated_images/ml/wio-temperature-sensor.2934928f38c7f79a.webp)
## താപനില സെൻസർ പ്രോഗ്രാം ചെയ്യുക
ഇപ്പോൾ Wio ടെർമിനൽ കൊണ്ടിരിക്കുന്ന താപനില സെൻസർ പ്രോഗ്രാം ചെയ്യാം.
### പ്രവർത്തി - താപനില സെൻസർ പ്രോഗ്രാം ചെയ്യുക
ഉപകരണത്തെ പ്രോഗ്രാം ചെയ്യുക.
1. PlatformIO ഉപയോഗിച്ച് ഒരു പുതിയ Wio ടെർമിനൽ പ്രോജക്ട് സൃഷ്ടിക്കുക. ഈ പ്രോജക്ടിന് `temperature-sensor` എന്ന് പേരിടുക. സീരിയൽ പോർട്ട് കോൺഫിഗർ ചെയ്യുന്നതിന് `setup` ഫംഗ്ഷനിൽ കോഡ് ചേർക്കുക.
> ⚠️ [PlatformIO പ്രോജക്ട് സൃഷ്ടിക്കുന്നതിന് പ്രവർത്തി 1, പാഠം 1 ലെ നിർദ്ദേശങ്ങൾ](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project) ആവശ്യമുണ്ടെങ്കിൽ അവയിൽ കാണാം.
1. പ്രോജക്ടിന്റെ `platformio.ini` ഫയലിൽ Seeed Grove Humidity and Temperature സെൻസർ ലൈബ്രറി ഡിപെൻഡൻസി ചേർക്കുക:
```ini
lib_deps =
seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
```
> ⚠️ [PlatformIO പ്രോജക്ടിൽ ലൈബ്രറികൾ ചേർക്കുന്നതിനുള്ള നിർദ്ദേശങ്ങൾ പ്രവർത്തി 1, പാഠം 4 ലെ](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md#install-the-wifi-and-mqtt-arduino-libraries) വേണമെന്ന് നിങ്ങൾക്ക് തോന്നിയാൽ അവ കാണാം.
1. നിലവിലുള്ള `#include <Arduino.h>` എന്നതിന്റെ കീഴിൽ ഫയലിന്റെ മുകളില്‍ താഴെ കൊടുത്തിരിക്കുന്ന `#include` നിർദ്ദേശങ്ങൾ ചേർക്കുക:
```cpp
#include <DHT.h>
#include <SPI.h>
```
ഇത് സെൻസറുമായി ഇടപഴകാൻ ആവശ്യമായ ഫയലുകൾ ഇമ്പോർട്ട് ചെയ്യുന്നു. `DHT.h` ഹെഡർ ഫയൽ സെൻസറിന് ആവശ്യമായ കോഡ് ഉൾക്കൊള്ളുന്നു, കൂടാതെ `SPI.h` ഹെഡർ ഇൻക്ലൂഡ് ചെയ്യുന്നത് കോഡിനെ സെൻസറുമായി സംസാരിക്കാൻ അണിയിച്ചുകൂട്ടാനാണ്.
1. `setup` ഫംഗ്ഷനിന് മുൻപ് DHT സെൻസർ പ്രഖ്യാപിക്കുക:
```cpp
DHT dht(D0, DHT11);
```
ഇതു `DHT` ക്ലാസ് ഇൻസ്റ്റൻസ് പ്രഖ്യാപിക്കുന്നു, **D**igital **H**umidity & **T**emperature സെൻസറെ മാനേജു ചെയ്യുന്നു. ഇത് `D0` പോർട്ടിൽ, Wio ടെർമിനലിലെ വലതുവശത്തെ Grove സോക്കറ്റിൽ കണക്റ്റ് ചെയ്തിരിക്കുന്നു. രണ്ടാം പാരാമീറ്റർ കോഡിന് സെൻസറായ DHT11 ആണ് ഉപയോഗിക്കുന്നത് എന്നറിയിക്കുന്നു - നിങ്ങൾ ഉപയോഗിക്കുന്ന ലൈബ്രറി ഈ സെൻസറിന്റെ മറ്റു വകഭേദങ്ങളും പിന്തുണയ്ക്കുന്നു.
1. `setup` ഫംഗ്ഷനിൽ സീരിയൽ കണക്ഷൻ സജ്ജമാക്കാൻ കോഡ് ചേർക്കുക:
```cpp
void setup()
{
Serial.begin(9600);
while (!Serial)
; // സീരിയൽ തയ്യാറാകും വരെ കാത്തിരിക്കുക
delay(1000);
}
```
1. `setup` ഫംഗ്ഷന്റെ അവസാനം, അവസാനത്തെ `delay` കഴിച്ച് ശേഷം DHT സെൻസർ ആരംഭിക്കുന്ന കോൾ ചേർക്കുക:
```cpp
dht.begin();
```
1. `loop` ഫംഗ്ഷനിൽ, സെൻസറിനെ വിളിച്ച് താപനില സീരിയൽ പോർട്ടിലേക്ക് പ്രിന്റ് ചെയ്യാനുള്ള കോഡ് ചേർക്കുക:
```cpp
void loop()
{
float temp_hum_val[2] = {0};
dht.readTempAndHumidity(temp_hum_val);
Serial.print("Temperature: ");
Serial.print(temp_hum_val[1]);
Serial.println ("°C");
delay(10000);
}
```
ഈ കോഡ് 2 ഫ്ലോട്ട് മൂല്യങ്ങളുടെ ഒരു ശൂന്യമായ അറേ പ്രഖ്യാപിക്കുകയും, `DHT` ഇൻസ്റ്റൻസിലുള്ള `readTempAndHumidity` കോൾക്ക് ഇത് പാസ്സ് ചെയ്യുകയും ചെയ്യുന്നു. ഈ കോൾ അറേയിൽ 2 മൂല്യങ്ങൾ നിക്ഷേപിക്കുന്നു - 0-ആം സെല്ലിൽ ഈർപ്പം (C++ അറേകൾ 0-ആധാരമല്ല, അതുകൊണ്ട് 0-ആം സെല്ലാണ് "ആദ്യ" സെല്ല്), 1-ആം സെല്ലിൽ താപനില.
താപനില 1-ആം സെല്ലിൽ നിന്ന് വായിച്ച് സീരിയൽ പോർട്ടിലേക്ക് പ്രിന്റ് ചെയ്യുന്നു.
> 🇺🇸 താപനില സെൽഷ്യസ് അളവിലാണ്. അമേരിക്കാക്കാർക്ക് ഇത് ഫാരൻഹൈറ്റ് ആയി മാറ്റാൻ, സെൽഷ്യസ് മൂല്യം 5 ന് വിഭജിച്ച്, 9 ന് ഗുണിച്ച് 32 കൂടി ചേർക്കുക. ഉദാഹരണത്തിന്, 20°C ആണെങ്കിൽ, ((20/5)*9) + 32 = 68°F ആകും.
1. കോഡ് നിർമ്മിച്ച് Wio ടെർമിനലിൽ അപ്ലോഡ് ചെയ്യുക.
> ⚠️ [PlatformIO പ്രോജക്ട് സൃഷ്ടിക്കുന്നതിന് പ്രവർത്തി 1, പാഠം 1 ലെ നിർദ്ദേശങ്ങൾ](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app) ആവശ്യം ഉണ്ടെങ്കിൽ അവ പരിശോധിക്കുക.
1. അപ്ലോഡ് കഴിഞ്ഞാൽ, സീരിയൽ മോണിറ്റർ വഴി താപനില നിരീക്ഷിക്കാം:
```output
> Executing task: platformio device monitor <
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
Temperature: 25.00°C
Temperature: 25.00°C
Temperature: 25.00°C
Temperature: 24.00°C
```
> 💁 ഈ കോഡ് നിങ്ങൾക്ക് [code-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/wio-terminal) ഫോൾഡറിൽ ലഭ്യമാണ്.
😀 നിങ്ങളുടെ താപനില സെൻസർ പ്രോഗ്രാം വിജയകരമായി പൂർത്തിയായി!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അസാധു**:
ഈ രേഖ AI ഭാഷാനുഭവ palvelu [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. നാം ശരിയായ പരിഭാഷ നൽകാൻ ശ്രമിച്ചിരുന്നാലും, യന്ത്രാനുവാദത്തിൽ ചില തെറ്റുകൾ ഉണ്ടാകാനിടയുണ്ട്. സാങ്കേതികമായി, ഈ രേഖയുടെ പ്രാമാണിക ഉറവിടം മൗലീക ഭാഷയിലുള്ള രേഖ തന്നെയാണ്. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ഉപദേശിക്കുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ചതിൽ നിന്നുണ്ടാകുന്ന ഏതൊരു തെറ്റുള്ള മനസ്സിലാക്കലിനും വിലക്കുറഞ്ഞ പ്രതികരണത്തിനും ഞങ്ങൾക്ക് ഉത്തരവാദിത്വമല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->