ডিজিটাল ইন#

ভূমিকা#

digital_in ক্লাসটি EXP Brain-কে একটি বাহ্যিক উৎস, যেমন একটি সুইচ বা সেন্সর থেকে ডিজিটাল সিগন্যাল পড়তে দেয়। এটি শনাক্ত করে যে ইনপুট লাইনটি হাই (৫ ভোল্ট) নাকি লো (০ ভোল্ট)। এটি কোনো প্রোজেক্টে অন/অফ অবস্থা নির্ধারণ করতে বা ইভেন্ট ট্রিগার করতে ব্যবহার করা যেতে পারে।

ক্লাস কনস্ট্রাক্টর#

digital_in(
  triport::port &port );

ক্লাস ডেস্ট্রাক্টর#

digital_in অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।

~digital_in();

প্যারামিটার#

প্যারামিটার

প্রকার

বর্ণনা

port

triport::port &

ডিজিটাল ইনপুট ডিভাইসটি যে ৩-ওয়্যার পোর্টের সাথে সংযুক্ত, তা Brain.ThreeWirePort.X অথবা ExpanderName.Xহিসাবে লেখা হয়, যেখানে X হলো পোর্ট লেটার (উদাহরণস্বরূপ, Brain.ThreeWirePort.A অথবা Expander1.A)।

উদাহরণ#

// Create the digital_in instance on 3-Wire Port A
digital_in digin = digital_in(Brain.ThreeWirePort.A);

সদস্যদের কার্যাবলী#

digital_in ক্লাসে নিম্নলিখিত সদস্য ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:

  • value — ডিজিটাল ইন পোর্টটি উচ্চ বা নিম্ন সংকেত গ্রহণ করছে কিনা তা ফেরত দেয়।

  • high — ডিজিটাল ইন ডিভাইস যখনই একটি হাই সিগন্যাল পাঠাবে, তখন কল করার জন্য একটি ফাংশন রেজিস্টার করে।

  • low — ডিজিটাল ইন ডিভাইস যখনই একটি নিম্ন সংকেত পাঠাবে তখন কল করার জন্য একটি ফাংশন নিবন্ধন করে।

যেকোনো digital_in মেম্বার ফাংশন কল করার আগে, digital_in একটি ইনস্ট্যান্স তৈরি করতে হবে, যেমনটি নিচে দেখানো হয়েছে:

/* This constructor is required when using VS Code.
Digital input configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the digital_in instance on 3-Wire Port A
digital_in DigitalInA = digital_in(Brain.ThreeWirePort.A);

value#

ডিজিটাল ইন পোর্টটি হাই নাকি লো সিগন্যাল পাচ্ছে, তা নির্দেশ করে।

উপলব্ধ ফাংশন

int32_t value();

প্যারামিটার

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

রিটার্ন মান

বর্তমান ডিজিটাল সিগন্যাল অবস্থা নির্দেশকারী একটি int32_t রিটার্ন করে:

  • 1 – ডিজিটাল ইন পোর্টটি একটি উচ্চ সংকেত (প্রায় ৫ ভোল্ট) গ্রহণ করছে।

  • 0 – ডিজিটাল ইন পোর্টটি একটি নিম্ন সংকেত (প্রায় 0V) গ্রহণ করছে।

high#

ডিজিটাল ইন ডিভাইস থেকে হাই সিগন্যাল (প্রায় ৫ ভোল্ট) পাঠানো হলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।

Available Functions
void high(
  void (* callback)(void) );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (* callback)(void)

এমন একটি ফাংশন যা ইনপুট হাই (high) হলে কল করা হবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples

কলব্যাক ফাংশনটি সংজ্ঞায়িত করুন ( int main() এর বাইরে)

// Display that the input is high
void inputHigh() {
  Brain.Screen.print("digital input high");
}

int main() এর ভিতরে কলব্যাকটি নিবন্ধন করুন

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run inputHigh when the Digital Input is high
  DigitalInA.high(inputHigh);
}

low#

ডিজিটাল ইন ডিভাইস থেকে নিম্ন সংকেত (প্রায় ০ ভোল্ট) পাঠানো হলে যে ফাংশনটি কল করা হবে, তা রেজিস্টার করে।

Available Functions
void low(
  void (* callback)(void) );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

callback

void (* callback)(void)

এমন একটি ফাংশন যা ইনপুট নিম্ন হলে কল করা হবে।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Examples

কলব্যাক ফাংশনটি সংজ্ঞায়িত করুন ( int main() এর বাইরে)

// Display that the input is low
void inputLow() {
  Brain.Screen.print("digital input low");
}

int main() এর ভিতরে কলব্যাকটি নিবন্ধন করুন

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run inputLow when the Digital Input is low
  DigitalInA.low(inputLow);
}