පාඩම් මාලාව 6: සංවේදක (Sensors) සමඟ වැඩ කිරීම

සංවේදක (Sensors) යනු අප අවට පරිසරයේ භෞතික තත්වයන් (උෂ්ණත්වය, ආලෝකය, චලනය වැනි) මැන, ඒවා විද්‍යුත් සංඥා බවට පරිවර්තනය කරන උපාංගයි. Arduino ව්‍යාපෘති වලට බාහිර ලෝකය "දැනීමට" ඉඩ සලසන්නේ සෙන්සර් මගිනි. මෙම පාඩමෙන් බහුලව භාවිතා වන සෙන්සර් කිහිපයක් ගැන ඉගෙන ගනිමු.

පාඩමේ අන්තර්ගතය

පරිසරයේ උෂ්ණත්වය සහ ආර්ද්‍රතාවය මැනීමට මෙම සෙන්සර් භාවිතා කරයි.
  • LM35: මෙය analog සෙන්සරයකි. එහි ප්‍රතිදාන වෝල්ටීයතාවය සෙල්සියස් අංශක (°C) වලට සෘජුවම සමානුපාතික වේ. analogRead() මගින් අගය ලබාගෙන සූත්‍රයක් භාවිතයෙන් උෂ්ණත්වය ගණනය කළ හැක.
  • DHT11: මෙය digital සෙන්සරයකි. උෂ්ණත්වය සහ ආර්ද්‍රතාවය යන අගයන් දෙකම ලබා දෙයි. මෙය භාවිතා කිරීමට විශේෂිත library (පුස්තකාලයක්) අවශ්‍ය වේ. Library එකක් මගින් සංකීර්ණ දත්ත ලබාගැනීම ඉතා පහසු කරයි.

LDR යනු ආලෝකයේ තීව්‍රතාවය මත තම ප්‍රතිරෝධය වෙනස් කරගන්නා උපාංගයකි.
  • ක්‍රියාකාරීත්වය: වැඩි ආලෝකයක් ඇති විට LDR එකේ ප්‍රතිරෝධය අඩු වන අතර, අඳුරු වන විට ප්‍රතිරෝධය වැඩි වේ.
  • භාවිතය: මෙය කෙලින්ම Arduino එකට සම්බන්ධ කළ නොහැක. වෝල්ටීයතා බෙදුම් පරිපථයක් (Voltage Divider Circuit) සෑදීමට ස්ථිර ප්‍රතිරෝධකයක් (fixed resistor) සමඟ LDR එක යොදාගත යුතුය. එවිට ආලෝක මට්ටම අනුව වෙනස් වන analog වෝල්ටීයතාවයක් analogRead() මගින් ලබාගත හැක.

PIR සෙන්සර්, මිනිසුන් හෝ සතුන් වැනි උණුසුම් ශරීර වලින් නිකුත් වන අධෝරක්ත (infrared) කිරණ හඳුනාගෙන චලනයන් අනාවරණය කරයි.
  • ප්‍රතිදානය: මෙය digital සෙන්සරයකි. චලනයක් හඳුනාගත් විට එහි output pin එක HIGH (5V) වන අතර, චලනයක් නැති විට LOW (0V) වේ.
  • භාවිතය: ආරක්ෂක පද්ධති, ස්වයංක්‍රීයව දැල්වෙන විදුලි බුබුළු වැනි ව්‍යාපෘති සඳහා මෙය ඉතා ප්‍රයෝජනවත් වේ. push button එකකින් දත්ත ලබාගන්නා ආකාරයටම digitalRead() ශ්‍රිතය භාවිතයෙන් මෙයින්ද දත්ත ලබාගත හැක.

මෙම ව්‍යාපෘතියේදී, DHT11 සෙන්සරයක් භාවිතා කර පරිසරයේ උෂ්ණත්වය සහ ආර්ද්‍රතාවය මැන, එම දත්ත පරිගණකයේ Serial Monitor එකෙහි ප්‍රදර්ශනය කරමු.
  1. Library ස්ථාපනය: පළමුව, Arduino IDE හි Library Manager වෙත ගොස් "DHT sensor library" by Adafruit යන්න සොයා install කරගන්න.
  2. පරිපථය: DHT11 සෙන්සරයේ VCC, GND, සහ Data යන pins පිළිවෙලින් Arduino හි 5V, GND සහ digital pin 2 ට සම්බන්ධ කරන්න.
  3. කේතය:
    • කේතය ආරම්භයේදී DHT library එක #include <DHT.h> ලෙස ඇතුළත් කරන්න.
    • DHT සෙන්සරය සම්බන්ධ කළ pin එක සහ වර්ගය (DHT11) යොදා object එකක් සාදන්න.
    • loop() එක තුළදී, library හි ඇති ශ්‍රිත භාවිතා කර උෂ්ණත්වය (dht.readTemperature()) සහ ආර්ද්‍රතාවය (dht.readHumidity()) කියවන්න.
    • ලැබුණු අගයන් Serial.print() සහ Serial.println() භාවිතයෙන් Serial Monitor එකට යවන්න.
← පෙර පාඩම: Analog Inputs & Outputs ඊළඟ පාඩම: Actuators සමඟ වැඩ කිරීම →