Arduino සමග සංවේදක කියවීමේ මූලික කේත

Arduino පුවරුවකට සංවේදකයක් සම්බන්ධ කර එහි දත්ත කියවීම ආරම්භකයන්ට ඉතා වැදගත් ප්‍රායෝගික පාඩමකි. උෂ්ණත්වය, ආලෝකය, දුර, චලනය හෝ ආර්ද්‍රතාව වැනි භෞතික තොරතුරු විදුලි සංඥා බවට පත් කර Arduino මඟින් ඒවා සැකසිය හැක.

සංවේදක කියවීමේදී ප්‍රධාන වශයෙන් ඩිජිටල් සහ ඇනලොග් ආදාන භාවිත වේ. ඩිජිටල් සංවේදකයක ප්‍රතිඵලය සාමාන්‍යයෙන් HIGH හෝ LOW වේ. ඇනලොග් සංවේදකයකින් ලැබෙන්නේ පරාසයක වෙනස් වන අගයකි.

Arduino කේතය ලිවීමට Arduino IDE භාවිත කළ හැකි අතර, පුවරුවට වැඩසටහන උඩුගත කළ පසු සංවේදක දත්ත අනුක්‍රමික නිරීක්ෂකයෙන් පරීක්ෂා කළ හැක. මේ ක්‍රමය මඟින් දෝෂ හඳුනාගැනීමද පහසු වේ.

ආරම්භයේදී සරල සංවේදකයකින් පටන්ගෙන, පසුව සීමා අගයන්, අනතුරු ඇඟවීම්, මෝටර් පාලනය සහ දත්ත ගබඩා කිරීම වැනි කාර්යයන් එක් කිරීම වඩාත් ප්‍රයෝජනවත්ය. පහත සාරාංශය මඟින් මූලික වෙනස්කම් පැහැදිලි වේ.

සංවේදක වර්ගය Arduino කියවීම සාමාන්‍ය ප්‍රතිඵලය උදාහරණ
ඩිජිටල් digitalRead() HIGH හෝ LOW චලන සංවේදකය
ඇනලොග් analogRead() 0 සිට 1023 දක්වා අගයක් ආලෝක සංවේදකය
උෂ්ණත්ව ඇනලොග් හෝ ඩිජිටල් උෂ්ණත්ව අගයක් එල්එම්35, ඩීඑච්ටී
දුර මැනීම කාල පරතරය සෙන්ටිමීටර් අල්ට්‍රාසොනික් සංවේදකය

සංවේදක සම්බන්ධ කිරීමේ මූලික කරුණු

සෑම සංවේදකයකම විදුලි සම්බන්ධතා නිවැරදිව හඳුනාගැනීම අත්‍යවශ්‍යය. සාමාන්‍යයෙන් වීසීසී පින් එක 5V හෝ 3.3V වෙතත්, ජීඑන්ඩී පින් එක Arduino හි GND වෙතත් සම්බන්ධ කරයි. සංඥා පින් එක තෝරාගත් ඩිජිටල් හෝ ඇනලොග් පින් එකකට සම්බන්ධ කළ යුතුය.

සංවේදක මොඩියුලයේ පින් නාම පුවරුව අනුව වෙනස් විය හැකි බැවින්, සම්බන්ධ කිරීමට පෙර එහි දත්ත පත්‍රිකාව පරීක්ෂා කරන්න. වැරදි වෝල්ටීයතාවක් යෙදීමෙන් සංවේදකයට හෝ Arduino පුවරුවට හානි විය හැක.

ඩිජිටල් සංවේදක කියවීම

චලන සංවේදකයක් වැනි ඩිජිටල් උපකරණයකින් දත්ත කියවීමට digitalRead() භාවිත කරයි. පහත කේතයේදී සංවේදකය 2 වන පින් එකට සම්බන්ධ කර ඇති අතර, එහි ප්‍රතිඵලය අනුක්‍රමික නිරීක්ෂකයට මුද්‍රණය කරයි.

const int sensorPin = 2;

void setup() {
  pinMode(sensorPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  int state = digitalRead(sensorPin);
  Serial.println(state);
  delay(500);
}

සමහර බොත්තම් හෝ සංවේදක සඳහා INPUT_PULLUP භාවිත කළ හැක. එවිට බාහිර ප්‍රතිරෝධකයක් අවශ්‍ය නොවුණත්, සංඥා තර්කය ප්‍රතිවිරුද්ධ විය හැකි බව මතක තබාගන්න.

ඇනලොග් අගයන් ලබාගැනීම

ආලෝකය හෝ වායු ගුණාත්මකභාවය වැනි අඛණ්ඩව වෙනස් වන තොරතුරු සඳහා ඇනලොග් ආදානය භාවිත වේ. Arduino Uno පුවරුවේ analogRead() මඟින් සාමාන්‍යයෙන් 0 සිට 1023 දක්වා අගයක් ලැබේ.

const int lightPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int lightValue = analogRead(lightPin);
  Serial.println(lightValue);
  delay(300);
}

අගය වැඩි වීමෙන් ආලෝකය වැඩිද අඩුද යන්න සංවේදක පරිපථය මත රඳා පවතී. එබැවින් පළමුව ආලෝක තත්ත්ව කිහිපයකදී ලැබෙන අගයන් සටහන් කර සීමා අගයක් තෝරාගැනීම හොඳ ක්‍රමයකි.

සීමා අගයන් සහ තීරණ

සංවේදක අගයක් ප්‍රයෝජනවත් ක්‍රියාවකට සම්බන්ධ කිරීමට if කොන්දේසි භාවිත කළ හැක. උදාහරණයක් ලෙස ආලෝක අගය 400ට අඩු වූ විට LED එක දැල්වීමට පහත ආකාරයේ කේතයක් යොදාගත හැක.

const int ledPin = 13;
const int lightPin = A0;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int value = analogRead(lightPin);

  if (value < 400) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

සීමා අගය සෑම පරිසරයකටම එකසේ නොගැලපේ. කාමරයේ ආලෝකය, සංවේදකයේ පිහිටීම සහ බල සැපයුම අනුව අගයන් වෙනස් විය හැකි බැවින් පරීක්ෂණ මඟින් එය සකස් කරන්න.

උෂ්ණත්ව සංවේදක භාවිතය

එල්එම්35 වැනි උෂ්ණත්ව සංවේදකයක ඇනලොග් ප්‍රතිදානය වෝල්ටීයතාවක් ලෙස ලැබේ. එම අගය සෙල්සියස් උෂ්ණත්වයකට පරිවර්තනය කිරීමට සංවේදකයේ පරිවර්තන අනුපාතය දැනගත යුතුය.

int rawValue = analogRead(A1);
float voltage = rawValue * (5.0 / 1023.0);
float temperature = voltage * 100.0;

Serial.println(temperature);

ඩීඑච්ටී11 වැනි ඩිජිටල් උෂ්ණත්ව හා ආර්ද්‍රතා සංවේදක සඳහා අදාළ පුස්තකාලයක් ස්ථාපනය කළ යුතුය. එවැනි ව්‍යාපෘතිවල සංවේදක දත්ත භාවිතයෙන් නිවසේ පරිසර නිරීක්ෂණ පද්ධතියක්ද නිර්මාණය කළ හැක.

අනුක්‍රමික නිරීක්ෂකයෙන් දෝෂ සෙවීම

Serial.begin(9600) මඟින් අනුක්‍රමික සන්නිවේදනය ආරම්භ කර, Serial.println() මඟින් එක් එක් කියවීම පරීක්ෂා කළ හැක. අගයන් නොවෙනස්ව පවතී නම් සම්බන්ධතා, GND සහ සංවේදක බල සැපයුම නැවත බලන්න.

සංවේදක දත්ත පසුව පරිගණක වැඩසටහනකට යැවීමට අවශ්‍ය නම්, VB.NET දත්ත වැඩසටහන් පිළිබඳ මූලික දැනුම ප්‍රයෝජනවත් වේ. අනුක්‍රමික වරායෙන් ලැබෙන අගයන් ගොනුවකට සුරැකීමෙන් කාලය අනුව වෙනස්වීම් විශ්ලේෂණය කළ හැක.

ව්‍යාපෘති අදහස් සහ ආරක්ෂිත භාවිතය

ආලෝකය අනුව දැල්වෙන ලාම්පුවක්, උෂ්ණත්වය වැඩි වූ විට ක්‍රියාකරන පංකාවක් හෝ දොර විවෘත වීම හඳුනාගන්නා අනතුරු පද්ධතියක් වැනි ව්‍යාපෘතිවලින් පුහුණුව ලබාගත හැක. යාන්ත්‍රික කොටස් සහ ආවරණ සකස් කරන ව්‍යාපෘති සඳහා ලෝහ වැඩ ව්‍යාපෘති පිළිබඳ අදහස්ද උපකාරී විය හැක.

වැඩි දත්ත එකතු කළ පසු සංවේදක රටා හඳුනාගැනීමට යන්ත්‍ර ඉගෙනුම් ක්‍රම යොදාගත හැකි අතර, යන්ත්‍ර ඉගෙනුම් අදහස් ඒ සඳහා පුළුල් පසුබිමක් ලබා දෙයි. එහෙත් ආරම්භක අවධියේදී සරල කියවීම, සීමා අගය සහ ක්‍රියාදාමය නිවැරදිව තේරුම් ගැනීම ප්‍රමුඛ කරගන්න.

Arduino සම්බන්ධතා සහ කේත පිළිබඳ තවත් මූලික පැහැදිලි කිරීම් සඳහා Arduino මූලික පාඩම කියවා, ඔබේම සංවේදක ව්‍යාපෘතියක් බ්‍රෙඩ්බෝඩ් එකකින් පරීක්ෂා කරන්න.