የአርዱኖ ኮድ እና ቪዲዮ ለአኦሶንግ AM2320 ዲጂታል የሙቀት እና የእርጥበት ዳሳሽ
በዚህ መማሪያ ውስጥ፣ የAosong AM2320 ዲጂታል የሙቀት እና የእርጥበት ዳሳሽ ከአርዱኖ ጋር እንዴት እንደሚጠቀሙ እንመረምራለን። ይህ ዳሳሽ በI2C ይገናኛል እና የሙቀት መጠንን በሴልሺየስ ወይም በፋራናይት፣ እና የእርጥበት መጠንን በመቶኛ እንድናነብ ያስችለናል። በዚህ መማሪያ መጨረሻ ላይ፣ እነዚህን ንባቦች በተከታታይ ሞኒተር ላይ የሚያሳይ ቀላል ፕሮጀክት መገንባት ይችላሉ።

የAM2320 ዳሳሽ የታመቀ እና ለሁለቱም የሙቀት እና የእርጥበት አስተማማኝ መረጃ ይሰጣል። ለሙቀት 0.1°C ጥራት እና የእርጥበት መጠን ከ0-99% ክልል አለው። የማዋቀር ሂደቱ ዳሳሹን ከአርዱኖ ጋር ማገናኘት እና የዳሳሽ እሴቶችን ለማንበብ እና ለማሳየት ጥቂት የኮድ መስመሮችን መጻፍን ያካትታል። ይህ የቪዲዮ መማሪያ የሽቦ አያያዝን እና የኮድ ምሳሌዎችን ጨምሮ ደረጃ በደረጃ መመሪያ ይሰጣል (በቪዲዮ በ00:00)።
ሃርድዌር ተብራርቷል
የዚህ ፕሮጀክት ዋና አካል የAosong AM2320 ዳሳሽ ነው። የI2C ግንኙነትን ይጠቀማል፣ ይህም ከኃይል እና ከመሬት ጋር ሁለት የውሂብ መስመሮችን (SDA እና SCL) ብቻ ስለሚፈልግ የግንኙነት ሂደቱን ያቃልላል። ዳሳሹ የሙቀት መጠንን ከ-40°C እስከ +80°C ባለው ክልል ውስጥ በ±0.5°C ትክክለኛነት እና እርጥበትን ከ0% እስከ 99% በተመሳሳይ ትክክለኛነት ይለካል። ዳሳሹ በጣም አነስተኛ ኃይል እንዲፈጅ የተነደፈ ነው፣ ይህም በባትሪ ለሚሰሩ መሳሪያዎች ተስማሚ ያደርገዋል።
በተጨማሪም፣ የAM2320 ሞጁል ለI2C ግንኙነት አስፈላጊ የሆኑ የፑል-አፕ ተቃዋሚዎችን ያካትታል፣ ይህም በSDA እና SCL መስመሮች ላይ ምልክቶችን ለማረጋጋት ይረዳል። ይህ ባህሪ የሽቦ አያያዝ ሂደቱን ያቃልላል፣ ምክንያቱም ውጫዊ የፑል-አፕ ተቃዋሚዎችን መጨመር አያስፈልግዎትም።
የዳታሼት ዝርዝሮች
| አምራች | Aosong |
|---|---|
| የክፍል ቁጥር | AM2320 |
| የሎጂክ/IO ቮልቴጅ | 3.1 እስከ 5.5 ቪ |
| የኃይል አቅርቦት ቮልቴጅ | 3.1 እስከ 5.5 ቪ |
| የሙቀት ክልል | -40 እስከ +80 °ሴ |
| የእርጥበት ክልል | 0 እስከ 99 % |
| ጥራት (ሙቀት) | 0.1 °ሴ |
| ጥራት (እርጥበት) | 0.1 % |
| ትክክለኛነት (ሙቀት) | ±0.5 °ሴ |
| ትክክለኛነት (እርጥበት) | ±3 % |
| ፓኬጅ | ሞጁል |
- ትክክለኛ የቮልቴጅ አቅርቦትን ያረጋግጡ (3.1 እስከ 5.5 ቪ)።
- ለSDA እና SCL መስመሮች የፑል-አፕ ተቃዋሚዎችን (በተለምዶ 4.7 kΩ) ይጠቀሙ።
- ጉዳትን ለማስቀረት የሙቀት መጠኑን በ-40°C እስከ +80°C ክልል ውስጥ ያቆዩ።
- የእርጥበት ንባቦች በ0% እስከ 99% ክልል ውስጥ ትክክለኛ ናቸው።
- በንባብ ጊዜ የስህተት ኮዶችን ይቆጣጠሩ (ለምሳሌ፣ ዳሳሽ ከመስመር ውጭ)።
የሽቦ አያያዝ መመሪያዎች

የAM2320 ዳሳሹን ከአርዱኖ ጋር ለማገናኘት፣ እነዚህን ደረጃዎች በጥንቃቄ ይከተሉ። በመጀመሪያ፣ የኃይል ፒኖችን ያገናኙ፡ የAM2320 የግራ ጫፍ ፒን ከአርዱኖው 5V (ወይም VCC) ጋር ይገናኛል፣ የመሬት ፒኑ ደግሞ ከአርዱኖው GND ጋር ይገናኛል። ከግራ ሁለተኛው ፒን (SDA) ለአርዱኖ ዩኖ ከአርዱኖው አናሎግ ፒን A4 ወይም ለአርዱኖ ሜጋ ከA20 ጋር ይገናኛል። ሦስተኛው ፒን (SCL) ለአርዱኖ ዩኖ ወደ A5 ወይም ለአርዱኖ ሜጋ ወደ A21 ይሄዳል።
በተጨማሪም፣ ከSDA ፒን ወደ 5V መስመር የ4.7 kΩ ተቃዋሚ እና ከSCL ፒን ወደ 5V መስመር ሌላ የ4.7 kΩ ተቃዋሚ ማገናኘት ያስፈልግዎታል። ይህ ትክክለኛ የI2C ግንኙነትን ያረጋግጣል። እንደ ሊዮናርዶ ያሉ ሌሎች የአርዱኖ ሞዴሎችን እየተጠቀሙ ከሆነ፣ የSDA እና SCL ፒኖች በቅደም ተከተል A4 እና A5 ይሆናሉ።
የኮድ ምሳሌዎች እና ማብራሪያ
በዚህ ፕሮጀክት ውስጥ ጥቅም ላይ የዋሉትን የአርዱኖ ኮድ ቁልፍ ክፍሎች እንመልከት። በመጀመሪያ፣ ዳሳሹን እንጀምራለን እና የተከታታይ ግንኙነትን እናዋቅራለን፡
#include
AM2320 sensor;
void setup() {
Serial.begin(9600);
sensor.begin();
}
በዚህ ቁራጭ ውስጥ፣ አስፈላጊውን ቤተ-መጻሕፍት በ#include <AM2320.h> እናካትታለን እና የዳሳሹን ምሳሌ እንፈጥራለን። የsetup() ተግባር የተከታታይ ግንኙነትን በ9600 ባውድ ሬት ይጀምራል እና ዳሳሹን ያስነሳል።
በመቀጠል፣ የሙቀት እና የእርጥበት መጠንን የሚያነብ ዋናው ሉፕ አለን፡
if (sensor.measure()) {
Serial.print("Temperature: ");
Serial.print(temp('C'));
Serial.print(" C, Humidity: ");
Serial.print(sensor.getHumidity());
Serial.println("%");
}
ይህ ኮድ የዳሳሽ መለኪያው የተሳካ መሆኑን ያረጋግጣል። ከሆነ፣ የሙቀት መጠኑን በሴልሺየስ እና የእርጥበት መቶኛን በተከታታይ ሞኒተር ላይ ያትማል። የሙቀት መጠኑን በሴልሺየስ ለማግኘት የtemp('C') ተግባር ይጠራል። ፋራናይት ከፈለጉ፣ temp('F') መጥራት ይችላሉ።
ማሳያ / ምን እንደሚጠበቅ
ፕሮግራሙን ሲያስኬዱ፣ የሙቀት እና የእርጥበት ንባቦች በየግማሽ ሰከንድ በተከታታይ ሞኒተር ላይ ሲዘመኑ ማየት ይኖርዎታል። ለምሳሌ፣ ውጤቱ "Temperature: 23.5 C, Humidity: 50%" ሊያሳይ ይችላል። ሙቀትን በዳሳሹ ላይ ካደረጉ፣ የሙቀት መጠኑ ሲጨምር እና የእርጥበት መጠኑ ሲቀንስ ማየት ይኖርዎታል፣ ይህም ምላሽ መስጠቱን ያሳያል (በቪዲዮ በ11:15)።
የቪዲዮ የጊዜ ማህተሞች
- 00:00 - ለAM2320 ዳሳሽ መግቢያ
- 01:30 - የሽቦ አያያዝ መመሪያዎች
- 03:45 - የኮድ ማብራሪያ
- 05:15 - የንባቦች ማሳያ
++
/**
This is Arduino code for Aosong Digital Temperature and Humidity Sensor.
This code is presented as part of a Robojax tutorial.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright 2016 Ratthanan Nalintasnai
Modified for Robojax.com video by
Ahmad S. on March 22, 2018 at 22:45 in Ajax, Ontario, Canada
This code, with library and other codes, is available at
https://robojax.com
Watch the video instruction for this code: https://youtu.be/3ifN0FhLB5E
**/
// Include library into the sketch
#include <AM2320.h>
// Create an instance of sensor
AM2320 sensor;
void setup() {
// enable serial communication
Serial.begin(9600);
Serial.print("Robojax AM2320 Demo ");
// call sensor.begin() to initialize the library
sensor.begin();
}
void loop() {
// sensor.measure() returns a boolean value
// - true indicates measurement is completed successfully
// - false indicates that either the sensor is not ready or CRC validation failed
// use getErrorCode() to check for the cause of the error.
if (sensor.measure()) {
Serial.print("Temperature: ");
Serial.print(temp('C'));
Serial.print(" C, Humidity: ");
Serial.print(sensor.getHumidity());
Serial.println("%");
}
else { // error has occurred
int errorCode = sensor.getErrorCode();
switch (errorCode) {
case 1: Serial.println("ERR: Sensor is offline"); break;
case 2: Serial.println("ERR: CRC validation failed."); break;
}
}
delay(500);
}
/*
* temp()
* returns temperature based on the parameter T
* if T == 'F', will convert Celsius to Fahrenheit
* if T is anything else or empty, will return Celsius
* how to use:
* to get Fahrenheit, use temp('F')
* to get Celsius, use temp('C') or temp('')
* the temp('') uses an empty single quote
*
*/
float temp(char T)
{
if (sensor.measure()) {
if(T =='F')
{
// convert to FAHRENHEIT and return
// Robojax video tutorial
return sensor.getTemperature()* 1.8 + 32;
}else{
return sensor.getTemperature();// return CELSIUS
}
}// if sensor.measure
}
ምንጮች እና ምንጮች
አሁን ምንም ምንጮች የለም።
ፋይሎች📁
የዳታ ማዕከል (pdf)
-
Adafruit-am2320-temperature-humidity-i2c-sensor user's manual
adafruit-am2320-temperature-humidity-i2c-sensor.pdf1.27 MB
ፍሪትዚንግ ፋይል
-
AM2320 Humidity and Temperature Sensor
AM2320 Humidity and Temperature Sensor.fzpz0.01 MB