সুচিপত্র:

তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সর ব্যবহার করে একটি Arduino রেলপথ রক্ষা: 8 টি ধাপ (ছবি সহ)
তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সর ব্যবহার করে একটি Arduino রেলপথ রক্ষা: 8 টি ধাপ (ছবি সহ)

ভিডিও: তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সর ব্যবহার করে একটি Arduino রেলপথ রক্ষা: 8 টি ধাপ (ছবি সহ)

ভিডিও: তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সর ব্যবহার করে একটি Arduino রেলপথ রক্ষা: 8 টি ধাপ (ছবি সহ)
ভিডিও: একটি মাত্র সূত্রের সাহায্যে তাপমাত্রা এর স্কেল পরিবর্তন করুন || Change the scale of temperature 2024, জুলাই
Anonim
তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সর ব্যবহার করে একটি Arduino রেলপথ রক্ষা করে
তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সর ব্যবহার করে একটি Arduino রেলপথ রক্ষা করে

আধুনিক সমাজে, রেল যাত্রী বৃদ্ধি মানে হল যে রেল কোম্পানিগুলিকে চাহিদা অনুযায়ী নেটওয়ার্কগুলি অপ্টিমাইজ করার জন্য আরও বেশি কিছু করতে হবে। এই প্রকল্পে আমরা ছোট পরিসরে দেখাব কিভাবে একটি আর্ডুইনো বোর্ডে তাপমাত্রা, বৃষ্টির পানি এবং কম্পন সেন্সরগুলি সম্ভাব্যভাবে যাত্রীদের নিরাপত্তা বাড়াতে সাহায্য করতে পারে।

এই নির্দেশযোগ্য ধাপে ধাপে arduino তে তাপমাত্রা, বৃষ্টির জল এবং কম্পন সেন্সরের জন্য ওয়্যারিং দেখাবে এবং এই সেন্সরগুলি চালানোর জন্য প্রয়োজনীয় MATLAB কোড দেখাবে।

ধাপ 1: যন্ত্রাংশ এবং উপকরণ

1. MATLAB এর সর্বশেষ সংস্করণ সহ একটি কম্পিউটার ইনস্টল করা

2. Arduino বোর্ড

3. তাপমাত্রা সেন্সর

4. বৃষ্টির পানি সেন্সর

5. কম্পন সেন্সর

6. লাল LED আলো

7. নীল LED আলো

8. সবুজ LED আলো

9. RBG LED আলো

10. বুজার

11. 18 পুরুষ-পুরুষ তারের

12. 3 মহিলা-পুরুষ তারের

13. 2 মহিলা-মহিলা তারের

14. 6 330 ওহম প্রতিরোধক

15. 1 100 ওহম প্রতিরোধক

ধাপ 2: তাপমাত্রা সেন্সর তারের

তাপমাত্রা সেন্সর তারের
তাপমাত্রা সেন্সর তারের
তাপমাত্রা সেন্সর তারের
তাপমাত্রা সেন্সর তারের

উপরে তাপমাত্রা সেন্সর ইনপুটের জন্য ওয়্যারিং এবং ম্যাটল্যাব কোড রয়েছে।

স্থল এবং 5V থেকে তারগুলি শুধুমাত্র পুরো বোর্ডের জন্য যথাক্রমে নেতিবাচক এবং ইতিবাচক দিকে চালানো প্রয়োজন। এখান থেকে, কোন স্থল সংযোগ নেতিবাচক কলাম থেকে আসবে এবং 5V সংযোগগুলি ইতিবাচক কলাম থেকে আসবে।

নীচের কোডটি তাপমাত্রা সেন্সরের জন্য অনুলিপি এবং আটকানো যেতে পারে।

% % তাপমাত্রা সেন্সর % তাপমাত্রা সেন্সরের জন্য আমরা নিম্নলিখিত উৎস ব্যবহার করেছি

% EF230 ওয়েবসাইট উপাদান ব্যবহারকারীকে অনুমতি দেওয়ার জন্য আমাদের তাপমাত্রা সেন্সর পরিবর্তন করে

গ্রাফ সহ % ইনপুট এবং 3 LED লাইট আউটপুট।

এই স্কেচটি স্পার্কফুন ইলেকট্রনিক্স লিখেছে, Arduino সম্প্রদায়ের প্রচুর সাহায্যের সাথে।

%MATLAB এর সাথে মানানসই এরিক ডেভিশাহল।

%SIK তথ্যের জন্য https://learn.sparkfun.com/products/2 দেখুন।

সব পরিষ্কার করুন, clc

tempPin = 'A0'; টেম্প সেন্সরের সাথে সংযুক্ত এনালগ পিন ঘোষণা করা

a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');

% বেনামী ফাংশন সংজ্ঞায়িত করুন যা ভোল্টেজকে তাপমাত্রায় রূপান্তর করে

tempCfromVolts = @(ভোল্ট) (ভোল্ট -0.5)*100;

নমুনা সময়কাল = 30;

নমুনা ব্যবধান = 2; তাপমাত্রা রিডিংয়ের মধ্যে % সেকেন্ড

নমুনা সময়ের ভেক্টর সেট আপ

সময়কাল = 0:

সময়কাল এবং ব্যবধানের উপর ভিত্তি করে নমুনার সংখ্যা গণনা করুন

numSamples = length (samplingTimes);

%preallocate temp ভেরিয়েবল এবং ভেরিয়েবল রিডিং সংখ্যার জন্য এটি সঞ্চয় করবে

tempC = শূন্য (numSamples, 1);

tempF = tempC;

% সর্বোচ্চ এবং সর্বনিম্ন রেল তাপমাত্রা সংরক্ষণ করতে ইনপুট ডায়ালগ বক্স ব্যবহার করে

dlg_prompts = {'সর্বোচ্চ তাপমাত্রা লিখুন', 'ন্যূনতম তাপমাত্রা লিখুন'};

dlg_title = 'রেল তাপমাত্রার অন্তর';

এন = 22;

dlg_ans = inputdlg (dlg_prompts, dlg_title, [1, length (dlg_title)+N]);

% ব্যবহারকারীর কাছ থেকে ইনপুট সংরক্ষণ করা এবং প্রদর্শন করা যে ইনপুট রেকর্ড করা হয়েছে

max_temp = str2double (dlg_ans {1})

min_temp = str2double (dlg_ans {2})

txt = sprintf ('আপনার ইনপুট রেকর্ড করা হয়েছে');

h = msgbox (txt);

waitfor (h);

লুপের জন্য তাপমাত্রা একটি নির্দিষ্ট সংখ্যক বার পড়ার জন্য।

সূচকের জন্য = 1: numSamples

% TempPin এ ভোল্টেজ পড়ুন এবং পরিবর্তনশীল ভোল্ট হিসাবে সংরক্ষণ করুন

ভোল্ট = readVoltage (a, tempPin);

tempC (সূচক) = tempCfromVolts (ভোল্ট);

tempF (সূচক) = tempC (সূচক)*9/5+32; % সেলসিয়াস থেকে ফারেনহাইটে রূপান্তর করুন

কোন শর্ত পূরণ হলে তার উপর নির্ভর করে যদি নির্দিষ্ট LED লাইট জ্বলজ্বল করে

যদি tempF (index)> = max_temp % লাল LED

writeDigitalPin (a, 'D13', 0);

বিরতি (0.5);

writeDigitalPin (a, 'D13', 1);

বিরতি (0.5);

writeDigitalPin (a, 'D13', 0);

elseif tempF (index)> = min_temp && tempF (index) <max_temp % Green LED

writeDigitalPin (a, 'D11', 0);

বিরতি (0.5);

writeDigitalPin (a, 'D11', 1);

বিরতি (0.5);

writeDigitalPin (a, 'D11', 0);

elseif tempF (সূচক) <= min_temp % নীল LED

writeDigitalPin (a, 'D12', 0);

বিরতি (0.5);

writeDigitalPin (a, 'D12', 1);

বিরতি (0.5);

writeDigitalPin (a, 'D12', 0);

শেষ

তাপমাত্রা পরিমাপ করার সময় প্রদর্শন করুন

fprintf (' %d সেকেন্ডে তাপমাত্রা %5.2f C বা %5.2f F. / n',…

নমুনা সময় (সূচক), tempC (সূচক), tempF (সূচক));

বিরতি (নমুনা ব্যবধান) পরবর্তী নমুনা পর্যন্ত %বিলম্ব

শেষ

% তাপমাত্রা রিডিং প্লট করা

চিত্র 1)

চক্রান্ত (নমুনা সময়, tempF, 'r-*')

xlabel ('সময় (সেকেন্ড)')

ylabel ('তাপমাত্রা (F)')

শিরোনাম ('রেডবোর্ড থেকে তাপমাত্রা রিডিং')

ধাপ 3: তাপমাত্রা সেন্সর আউটপুট

তাপমাত্রা সেন্সর আউটপুট
তাপমাত্রা সেন্সর আউটপুট
তাপমাত্রা সেন্সর আউটপুট
তাপমাত্রা সেন্সর আউটপুট

উপরে তাপমাত্রা সেন্সর আউটপুট জন্য তারের এবং MATLAB কোড।

এই প্রকল্পের জন্য আমরা আমাদের তাপমাত্রা সেন্সরের আউটপুটের জন্য তিনটি LED লাইট ব্যবহার করেছি। ট্র্যাকগুলি খুব গরম হলে আমরা একটি লাল ব্যবহার করতাম, যদি তারা খুব ঠান্ডা হয় তবে একটি নীল এবং যদি তারা মাঝখানে থাকে তবে একটি সবুজ।

ধাপ 4: বৃষ্টির পানি সেন্সর ইনপুট

বৃষ্টির পানি সেন্সর ইনপুট
বৃষ্টির পানি সেন্সর ইনপুট
বৃষ্টির পানি সেন্সর ইনপুট
বৃষ্টির পানি সেন্সর ইনপুট

উপরে বৃষ্টির পানির সেন্সরের ওয়্যারিং আছে এবং MATLAB কোড নিচে পোস্ট করা আছে।

১০০% ওয়াটার সেন্সর

সব পরিষ্কার করুন, clc

a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno');

waterPin = 'A1';

vDry = 4.80; পানি না থাকলে % ভোল্টেজ

নমুনা সময়কাল = 60;

নমুনা ব্যবধান = 2;

সময়কাল = 0:

numSamples = length (samplingTimes);

একটি নির্দিষ্ট সময়ের জন্য ভোল্টেজ পড়তে লুপের জন্য % (60 সেকেন্ড)

সূচকের জন্য = 1: numSamples

volt2 = readVoltage (a, waterPin); ওয়াটার পিন এনালগ থেকে ভোল্টেজ পড়ুন

% যদি একটি বজার বাজানোর বিবৃতি পাওয়া যায় যদি পানি ধরা পড়ে। ভোল্টেজ ড্রপ = পানি

যদি ভোল্ট 2 <vDry

PlayTone (a, 'D09', 2400) % playTone ফাংশন ম্যাথওয়ার্কস থেকে

% পানি ধরা পড়লে যাত্রীদের একটি সতর্কতা প্রদর্শন করুন

waitfor (warndlg ('পানির বিপদের কারণে আপনার ট্রেন বিলম্বিত হতে পারে'));

শেষ

% জল সেন্সর দ্বারা পরিমাপ হিসাবে ভোল্টেজ প্রদর্শন করুন

fprintf (' %d সেকেন্ডে ভোল্টেজ %5.4f V. / n',…

নমুনা সময় (সূচক), ভোল্ট 2);

বিরতি (নমুনা ব্যবধান)

শেষ

ধাপ 5: বৃষ্টির পানি সেন্সর আউটপুট

বৃষ্টির পানি সেন্সর আউটপুট
বৃষ্টির পানি সেন্সর আউটপুট

উপরে একটি বুজারের জন্য ওয়্যারিং রয়েছে যা যখনই ট্র্যাকের উপর খুব বেশি জল পড়ে তখন বীপ করে। বুজারের কোডটি বৃষ্টির পানির ইনপুটের জন্য কোডের মধ্যে এম্বেড করা আছে।

ধাপ 6: কম্পন সেন্সর ইনপুট

কম্পন সেন্সর ইনপুট
কম্পন সেন্সর ইনপুট
কম্পন সেন্সর ইনপুট
কম্পন সেন্সর ইনপুট

উপরে কম্পন সেন্সর জন্য তারের হয়। ট্র্যাকের উপর পাথর পড়ার ক্ষেত্রে রেল ব্যবস্থার জন্য কম্পন সেন্সর গুরুত্বপূর্ণ হতে পারে। MATLAB কোড নিচে পোস্ট করা হয়েছে।

১০০% কম্পন সেন্সর ক্লিয়ার সব, clc

PIEZO_PIN = 'A3'; % কম্পন সেন্সরের সাথে সংযুক্ত এনালগ পিন ঘোষণা করা a = arduino ('/dev/tty.usbserial-DA017PNO', 'uno'); কম্পন স্যাম্পলিং পরিমাপ করার সময় এবং ব্যবধানের সূচনা সময়কাল = 30; % সেকেন্ডের নমুনা ব্যবধান = 1;

সময়কাল = 0:

numSamples = length (samplingTimes);

% নিম্নলিখিত উৎস থেকে কোড ব্যবহার করে আমরা এটি চালু করার জন্য এটি সংশোধন করেছি

কম্পন ধরা পড়লে % বেগুনি LED।

স্পার্কফুন ইলেকট্রনিক্স দ্বারা লিখিত % স্পার্কফুন টিঙ্কার কিট, আরজিবি এলইডি, Arduino সম্প্রদায়ের প্রচুর সাহায্যের সাথে %

% MATLAB এর সাথে মানানসই এরিক ডেভিশাহল

RGB পিন চালু করা হচ্ছে

RED_PIN = 'D5';

GREEN_PIN = 'D6';

BLUE_PIN = 'D7';

% এর উপর কম্পন সেন্সর থেকে ভোল্টেজ পরিবর্তন রেকর্ড করার জন্য লুপ

% নির্দিষ্ট সময় ব্যবধান (30 সেকেন্ড)

সূচকের জন্য = 1: numSamples

volt3 = readVoltage (a, PIEZO_PIN);

যদি কম্পন ধরা পড়ে তাহলে একটি বেগুনি LED চালু করার বিবৃতি

যদি ভোল্ট 3> 0.025

writeDigitalPin (a, RED_PIN, 1);

একটি বেগুনি আলো তৈরি করা

writeDigitalPin (a, GREEN_PIN, 0);

writeDigitalPin (a, BLUE_PIN, 1);

অন্য কোন কম্পন সনাক্ত না হলে LED বন্ধ করুন।

writeDigitalPin (a, RED_PIN, 0);

writeDigitalPin (a, GREEN_PIN, 0);

writeDigitalPin (a, BLUE_PIN, 0);

শেষ

% ভোল্টেজ পরিমাপ হিসাবে প্রদর্শন করুন।

fprintf (' %d সেকেন্ডে ভোল্টেজ %5.4f V. / n',…

নমুনা সময় (সূচক), ভোল্ট 3);

বিরতি (নমুনা ব্যবধান)

শেষ

কম্পন পরিমাপ করা হলে আলো কেটে ফেলুন

writeDigitalPin (a, RED_PIN, 0);

writeDigitalPin (a, GREEN_PIN, 0);

writeDigitalPin (a, BLUE_PIN, 0);

ধাপ 7: কম্পন সেন্সর আউটপুট

কম্পন সেন্সর আউটপুট
কম্পন সেন্সর আউটপুট

উপরে আরবিজি এলইডি লাইটের জন্য ওয়্যারিং ব্যবহার করা হয়েছে। কম্পন ধরা পড়লে আলো বেগুনি উজ্জ্বল হবে। আউটপুট জন্য MATLAB কোড ইনপুট জন্য কোড মধ্যে এমবেড করা হয়।

ধাপ 8: উপসংহার

এই সমস্ত পদক্ষেপগুলি অনুসরণ করার পরে আপনার এখন তাপমাত্রা, বৃষ্টির জল এবং কম্পন সনাক্ত করার ক্ষমতা সহ একটি আরডুইনো থাকা উচিত। এই সেন্সরগুলি কীভাবে ছোট পরিসরে কাজ করে তা দেখার সময়, সহজেই অনুমান করা যায় যে আধুনিক জীবনে তারা রেলওয়ে ব্যবস্থার জন্য কতটা গুরুত্বপূর্ণ হতে পারে!

প্রস্তাবিত: