இந்த இடுகையில், அறை வெப்பநிலை மற்றும் வெளிப்புற சுற்றுப்புற வெப்பநிலையை கண்காணிக்கக்கூடிய ஒரு ஆர்டுயினோ அடிப்படையிலான வயர்லெஸ் வெப்பமானியை உருவாக்க உள்ளோம். தரவு 433 மெகா ஹெர்ட்ஸ் ஆர்எஃப் இணைப்பு வழியாக அனுப்பப்பட்டு பெறப்படுகிறது.
433 மெகா ஹெர்ட்ஸ் ஆர்.எஃப் தொகுதி மற்றும் டி.எச்.டி 11 சென்சார் பயன்படுத்துதல்
முன்மொழியப்பட்ட திட்டம் Arduino ஐ மூளையாகவும் இதயத்தை பயன்படுத்துகிறது 433 மெகா ஹெர்ட்ஸ் டிரான்ஸ்மிட்டர் / ரிசீவர் தொகுதி .
இந்த திட்டம் இரண்டு தனித்தனி சுற்றுகளாக பிரிக்கப்பட்டுள்ளது, ஒன்று 433 மெகா ஹெர்ட்ஸ் ரிசீவர், எல்சிடி டிஸ்ப்ளே மற்றும் டிஎச்.டி 11 சென்சார் ஆகியவற்றைக் கொண்டுள்ளது, அவை அறைக்குள் வைக்கப்படும் அறை வெப்பநிலையை அளவிடும் .
மற்றொரு சுற்றுக்கு 433 மெகா ஹெர்ட்ஸ் டிரான்ஸ்மிட்டர் உள்ளது, DHT11 சென்சார் சுற்றுப்புற வெப்பநிலைக்கு வெளியே அளவிட. சுற்று இரண்டிலும் தலா ஒரு அர்டுயினோ உள்ளது.
அறைக்குள் வைக்கப்பட்டுள்ள சுற்று எல்.சி.டி.யில் உள் மற்றும் வெளிப்புற வெப்பநிலை அளவீடுகளைக் காண்பிக்கும்.
இப்போது 433 மெகா ஹெர்ட்ஸ் டிரான்ஸ்மிட்டர் / ரிசீவர் தொகுதியைப் பார்ப்போம்.
டிரான்ஸ்மிட்டர் மற்றும் ரிசீவர் தொகுதிகள் மேலே காட்டப்பட்டுள்ளன, இது சிம்ப்ளக்ஸ் தகவல்தொடர்பு திறன் கொண்டது (ஒரு வழி). ரிசீவரில் 4 ஊசிகளின் வி.சி.சி, ஜி.என்.டி மற்றும் டேட்டா ஊசிகளும் உள்ளன. இரண்டு தரவு ஊசிகளும் உள்ளன, அவை ஒரே மாதிரியானவை, மேலும் இரண்டு ஊசிகளிலிருந்து தரவை வெளியிடுவோம்.
டிரான்ஸ்மிட்டர் மிகவும் எளிமையானது, இது VCC, GND மற்றும் DATA உள்ளீட்டு முள் ஆகியவற்றைக் கொண்டுள்ளது. கட்டுரையின் முடிவில் விவரிக்கப்பட்டுள்ள இரண்டு தொகுதிகளுடனும் ஒரு ஆண்டெனாவை நாம் இணைக்க வேண்டும், அவற்றுக்கிடையே ஆண்டெனா தொடர்பு இல்லாமல் சில அங்குலங்களுக்கு அப்பால் நிறுவப்படாது.
இந்த தொகுதிகள் எவ்வாறு தொடர்பு கொள்கின்றன என்பதை இப்போது பார்ப்போம்.
இப்போது டிரான்ஸ்மிட்டரின் தரவு உள்ளீட்டு முள் 100 ஹெர்ட்ஸின் கடிகார துடிப்பைப் பயன்படுத்துகிறோம் என்று வைத்துக் கொள்ளுங்கள். ரிசீவரின் தரவு முனையில் சிக்னலின் சரியான பிரதிகளை ரிசீவர் பெறுவார்.
இது எளிமையான உரிமையா? ஆமாம்… ஆனால் இந்த தொகுதி AM இல் இயங்குகிறது மற்றும் சத்தத்திற்கு எளிதில் பாதிக்கப்படுகிறது. டிரான்ஸ்மிட்டரின் தரவு முள் 250 மில்லி விநாடிகளுக்கு மேல் எந்த சமிக்ஞையும் இல்லாமல் இருந்தால், ஆசிரியரின் கவனிப்பிலிருந்து, ரிசீவர் தரவு வெளியீட்டு முள் சீரற்ற சமிக்ஞைகளை உருவாக்குகிறது.
எனவே, இது விமர்சனமற்ற தரவு பரிமாற்றங்களுக்கு மட்டுமே பொருத்தமானது. இருப்பினும் இந்த திட்டம் இந்த தொகுதிடன் நன்றாக வேலை செய்கிறது.
இப்போது திட்டவட்டத்திற்கு செல்லலாம்.
பெறுநர்:
மேலே உள்ள சுற்று எல்.டி.டி காட்சி இணைப்புக்கு ஆர்டுயினோ ஆகும். எல்சிடி டிஸ்ப்ளேவின் மாறுபாட்டை சரிசெய்ய 10 கே பொட்டென்டோமீட்டர் வழங்கப்படுகிறது.
மேலே உள்ளவை ரிசீவர் சுற்று. எல்சிடி டிஸ்ப்ளே இந்த அர்டுயினோவுடன் இணைக்கப்பட வேண்டும்.
குறியீட்டைத் தொகுப்பதற்கு முன் பின்வரும் நூலகக் கோப்புகளைப் பதிவிறக்கவும்
ரேடியோ தலைவர்: github.com/PaulStoffregen/RadioHead
DHT சென்சார் நூலகம்: https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip
பெறுநருக்கான திட்டம்:
//--------Program Developed by R.Girish-----//
#include
#include
#include
#include
#define DHTxxPIN A0
LiquidCrystal lcd(12,11,5,4,3,2)
RH_ASK driver(2000, 7, 9, 10)
int ack = 0
dht DHT
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
if (!driver.init())
Serial.println('init failed')
}
void loop()
{
ack = 0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack = 1
lcd.setCursor(0,0)
lcd.print('INSIDE:')
lcd.print('NO DATA')
delay(1000)
break
}
if(ack == 0)
{
lcd.setCursor(0,0)
lcd.print('INSIDE:')
lcd.print(DHT.temperature)
lcd.print(' C')
delay(2000)
}
uint8_t buf[RH_ASK_MAX_MESSAGE_LEN]
uint8_t buflen = sizeof(buf)
if (driver.recv(buf, &buflen))
{
int i
String str = ''
for(i = 0 i
str += (char)buf[i]
}
lcd.setCursor(0,1)
lcd.print('OUTSIDE:')
lcd.print(str)
Serial.println(str)
delay(2000)
}
}
//--------Program Developed by R.Girish-----//
டிரான்ஸ்மிட்டர்:
மேலே உள்ளவை டிரான்ஸ்மிட்டருக்கான திட்டமாகும், இது பெறுநராக மிகவும் எளிது. இங்கே நாம் மற்றொரு arduino போர்டைப் பயன்படுத்துகிறோம். டிஹெச்.டி 11 சென்சார் சுற்றுப்புற வெப்பநிலைக்கு வெளியே உணர்ந்து ரிசீவர் தொகுதிக்கு திருப்பி அனுப்பும்.
டிரான்ஸ்மிட்டருக்கும் ரிசீவருக்கும் இடையிலான தூரம் 10 மீட்டருக்கு மேல் இருக்கக்கூடாது. அவற்றுக்கிடையே ஏதேனும் தடைகள் இருந்தால், பரிமாற்ற வரம்பு குறையக்கூடும்.
டிரான்ஸ்மிட்டருக்கான திட்டம்:
//------Program Developed by R.Girish----//
#include
#include
#define DHTxxPIN A0
#include
int ack = 0
RH_ASK driver(2000, 9, 2, 10)
dht DHT
void setup()
{
Serial.begin(9600)
if (!driver.init())
Serial.println('init failed')
}
void loop()
{
ack = 0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack = 1
const char *temp = 'NO DATA'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
break
}
if(ack == 0)
{
if(DHT.temperature == 15)
{
const char *temp = '15.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 16)
{
const char *temp = '16.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 17)
{
const char *temp = '17.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 18)
{
const char *temp = '18.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 19)
{
const char *temp = '19.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 20)
{
const char *temp = '20.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 21)
{
const char *temp = '21.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 22)
{
const char *temp = '22.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 23)
{
const char *temp = '23.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 24)
{
const char *temp = '24.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 25)
{
const char *temp = '25.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 26)
{
const char *temp = '26.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 27)
{
const char *temp = '27.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 28)
{
const char *temp = '28.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 29)
{
const char *temp = '29.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 30)
{
const char *temp = '30.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 31)
{
const char *temp = '31.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 32)
{
const char *temp = '32.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 33)
{
const char *temp = '33.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 34)
{
const char *temp = '34.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 35)
{
const char *temp = '35.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 36)
{
const char *temp = '36.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 37)
{
const char *temp = '37.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 38)
{
const char *temp = '38.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 39)
{
const char *temp = '39.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 40)
{
const char *temp = '40.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 41)
{
const char *temp = '41.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 42)
{
const char *temp = '42.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 43)
{
const char *temp = '43.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 44)
{
const char *temp = '44.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
delay(500)
if(DHT.temperature == 45)
{
const char *temp = '45.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 46)
{
const char *temp = '46.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 47)
{
const char *temp = '47.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 48)
{
const char *temp = '48.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 49)
{
const char *temp = '49.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
if(DHT.temperature == 50)
{
const char *temp = '50.00 C'
driver.send((uint8_t *)temp, strlen(temp))
driver.waitPacketSent()
}
delay(500)
}
}
//------Program Developed by R.Girish----//
ஆண்டெனாவின் கட்டுமானம்:
இதைப் பயன்படுத்தி நீங்கள் திட்டங்களை உருவாக்குகிறீர்கள் என்றால் 433 மெகா ஹெர்ட்ஸ் தொகுதிகள் , நல்ல வரம்பிற்கு கீழே உள்ள கட்டுமான விவரங்களை கண்டிப்பாக பின்பற்றவும்.
ஒற்றை கோர் கம்பியைப் பயன்படுத்துங்கள், இது இந்த கட்டமைப்பை ஆதரிக்க போதுமானதாக இருக்க வேண்டும். சாலிடர் சேர கீழே உள்ள நீக்கப்பட்ட காப்புடன் காப்பிடப்பட்ட செப்பு கம்பியையும் பயன்படுத்தலாம். இவற்றில் இரண்டை உருவாக்குங்கள், ஒன்று டிரான்ஸ்மிட்டருக்கு, மற்றொன்று ரிசீவருக்கு.
Arduino மற்றும் 433 MHz RF இணைப்பைப் பயன்படுத்தி ஆசிரியரின் வயர்லெஸ் தெர்மோமீட்டர் முன்மாதிரி:
முந்தைய: நீர் மட்ட கட்டுப்பாட்டுக்கான அரிப்பு எதிர்ப்பு ஆய்வுகள் அடுத்து: எல் 293 குவாட் ஹாஃப்-எச் டிரைவர் ஐசி பின்அவுட், டேட்டாஷீட், அப்ளிகேஷன் சர்க்யூட்