সুচিপত্র:

প্রসেসিং এবং আরডুইনো সংযোগ এবং 7 সেগমেন্ট এবং Servo GUI কন্ট্রোলার তৈরি করুন: 4 টি ধাপ
প্রসেসিং এবং আরডুইনো সংযোগ এবং 7 সেগমেন্ট এবং Servo GUI কন্ট্রোলার তৈরি করুন: 4 টি ধাপ

ভিডিও: প্রসেসিং এবং আরডুইনো সংযোগ এবং 7 সেগমেন্ট এবং Servo GUI কন্ট্রোলার তৈরি করুন: 4 টি ধাপ

ভিডিও: প্রসেসিং এবং আরডুইনো সংযোগ এবং 7 সেগমেন্ট এবং Servo GUI কন্ট্রোলার তৈরি করুন: 4 টি ধাপ
ভিডিও: #13 VTScada (ফ্রি লাইসেন্স) Modbus RS485 এনালগ পড়ুন লিখুন | Outseal Arduino PLC 2024, জুলাই
Anonim
প্রক্রিয়াকরণ এবং Arduino সংযোগ এবং 7 সেগমেন্ট এবং Servo GUI নিয়ামক তৈরি করুন
প্রক্রিয়াকরণ এবং Arduino সংযোগ এবং 7 সেগমেন্ট এবং Servo GUI নিয়ামক তৈরি করুন

কিছু প্রকল্পের জন্য আপনি Arduino ব্যবহার করতে চান কারণ এটি একটি সহজ প্রোটোটাইপিং প্ল্যাটফর্ম প্রদান করে কিন্তু Arduino এর সিরিয়াল মনিটরে গ্রাফিক্স প্রদর্শন করা বেশ দীর্ঘ সময় নিতে পারে এবং এমনকি এটি করা কঠিন। আপনি Arduino সিরিয়াল মনিটরে গ্রাফ প্রদর্শন করতে পারেন কিন্তু গ্রাফগুলি শুধুমাত্র আপনার প্রদর্শন করার প্রয়োজন হতে পারে না। সমস্ত ইন্টারেক্টিভ বস্তু যেমন স্লাইডার, বোতাম, 2D, 3D, PDF, বা SVG আউটপুট সহ প্রোগ্রাম এবং আপনি সহজেই অ্যানিমেশন তৈরি করতে পারেন। প্রক্রিয়াকরণের জন্য ডিফল্ট প্রোগ্রামিং মোড জাভা কিন্তু আপনি এটি অ্যান্ড্রয়েড, p5.js, REPL, CoffeeScript এবং JavaScript পরিবর্তন করতে পারেন। এই নির্দেশে আমরা যাইহোক জাভা প্রোগ্রামিং মোড ব্যবহার করব।

সমস্ত বিষয়বস্তু এবং কোড এখানে আমার গিথুব এ উপলব্ধ।

ধাপ 1: Processing.serial ব্যবহার করে

প্রসেসিং কোড

কোডের প্রথম দুটি লাইন হবে

আমদানি প্রক্রিয়াকরণ সিরিয়াল।*; সিরিয়াল myPort;

এখানে প্রথম লাইনে আমরা লাইব্রেরি আমদানি করছি - প্রক্রিয়াকরণ এবং দ্বিতীয় লাইনে আমরা myPort নামে ক্লাস সিরিয়ালের একটি বস্তু তৈরি করছি, আপনি একটি শনাক্তকারী নামকরণের নিয়ম অনুসরণ করে আপনি যা পছন্দ করেন তার নাম দিতে পারেন।

প্রক্রিয়াকরণে আমাদের অকার্যকর সেটআপ () এবং অকার্যকর ড্র () আছে যেখানে অকার্যকর ফাংশনের রিটার্ন টাইপ আপনি এটি পরিবর্তন করতে পারেন int setup () এবং int draw () অথবা আপনার পছন্দ মত অন্যান্য ডেটা টাইপ কিন্তু আপনাকে একটি ফেরত দিতে হবে মান যা ফাংশনের আগে আপনি যে ডেটা টাইপ ব্যবহার করেন তার মতোই ডেটা টাইপ আছে।

সেটআপ () তে আমরা একবার আমাদের স্টেটমেন্ট লিখি যেখানে ড্র () এ আমরা স্টেটমেন্ট লিখি যা আমাদের একাধিকবার এক্সিকিউট করতে হবে। উপরে উল্লিখিত কোডের দুটি লাইন অকার্যকর সেটআপ () এর উপরে লেখা উচিত কারণ তাদের বিশ্বব্যাপী অ্যাক্সেস থাকা দরকার।

অকার্যকর সেটআপ () এ আমরা অবজেক্ট myPort আরম্ভ করব।

অকার্যকর সেটআপ(){

আকার (800, 800);

myPort = নতুন সিরিয়াল (এটি, "COM18", 9600);

}

লাইনের আকার (800, 800); পর্দার আকার নির্ধারণ করে যা 800 পিক্সেল 800 পিক্সেল।

দ্বিতীয় লাইনে নতুন কী শব্দটি মেমরিতে বস্তুর জন্য স্থান সংরক্ষণ করতে ব্যবহৃত হয়, যুক্তি এটি একটি রেফারেন্স ভেরিয়েবল যা বর্তমান বস্তুকে বোঝায়। যুক্তি COM18 হল Arduino বন্দর সংযুক্ত, আমাদের এটি প্রয়োজন কারণ আমরা সিরিয়াল ইন্টারফেসের মাধ্যমে ডেটা পরিবহন করব। 18 নম্বরটি আপনার ক্ষেত্রে ভিন্ন হতে পারে, আপনি এটি Arduino IDE তে সরঞ্জাম> পোর্টের অধীনে খুঁজে পেতে পারেন এবং 9600 হল বড রেট যা আপনি Arduino এবং প্রসেসিং উভয় ক্ষেত্রেই পরিবর্তন করতে পারেন।

ধাপ 2: সিরিয়াল ক্লাস বুঝুন

সিরিয়ালের জন্য নির্মাতা

সিরিয়াল (প্যারেন্ট, পোর্টনেম, বডরেট, প্যারিটি, ডেটাবিটস, স্টপবিটস)

যুক্তি:

পিতামাতা: সাধারণত "এই" ব্যবহার করুন

baudRate (int): 9600 হল ডিফল্ট

পোর্ট নাম (স্ট্রিং): পোর্টের নাম (COM1 ডিফল্ট)

সমতা (চর): কারো জন্য 'N', 'E' এমনকি, 'O' বিজোড়, 'M' চিহ্নের জন্য, 'S' স্পেসের জন্য ('N' ডিফল্ট)

dataBits (int): 8 হল ডিফল্ট

stopBits (float): 1.0, 1.5, বা 2.0 (1.0 হল ডিফল্ট)

গুরুত্বপূর্ণ পদ্ধতি:

  1. myPort.available () - উপলব্ধ বাইটের সংখ্যা প্রদান করে।
  2. myPort.clear () - বাফার খালি করে এবং সেখানে সংরক্ষিত সমস্ত ডেটা সরিয়ে দেয়।
  3. myPort.read () - বাফারে অপেক্ষা করা পরবর্তী বাইটের জন্য 0 থেকে 255 এর মধ্যে একটি সংখ্যা প্রদান করে।
  4. myPort.readString () - বাফার থেকে সমস্ত ডেটা স্ট্রিং বা নাল হিসাবে ফেরত দেয় যদি কিছু পাওয়া না যায়।
  5. myPort.write ("test") - বাইট, অক্ষর, ints, বাইট , সিরিয়াল পোর্টে স্ট্রিং লিখে।
  6. myPort.stop () - পোর্টে ডেটা কমিউনিকেশন বন্ধ করে দেয়।

ধাপ 3: Arduino সিরিয়াল ক্লাস

এটি ব্যবহার করার আগে আপনাকে আরডুইনোতে সিরিয়াল ক্লাস আমদানি করতে হবে না।

আরডুইনোতে সেটআপ () এবং লুপ () নামে 2 টি ফাংশন আছে সেটআপ শুধুমাত্র একবার চলে কিন্তু লুপ একাধিকবার চলে। আরডুইনোতে প্রক্রিয়াকরণের বিপরীতে আমাদের আরডুইনোতে স্কেচ আপলোড করার সময় পোর্টটি শুরু () পদ্ধতির যুক্তি হিসাবে পোর্টটি উল্লেখ করার দরকার নেই।

সুতরাং সেটআপ () এই মত দেখাবে:

অকার্যকর সেটআপ(){

Serial.begin (9600); // সিরিয়াল যোগাযোগ শুরু করুন

}

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

এখন লুপ () অংশ দেখুন। কোডের এই অংশটি একাধিকবার চলে। আমরা যদি পোর্ট দ্বারা কিছু তথ্য পড়তে চাই তাহলে আমরা Serial.read () পদ্ধতি ব্যবহার করব। যদি কোন ডেটা না থাকে তবে এই ফাংশনটি শূন্য হয়ে যায় তাই আমরা এই পদ্ধতিটি তখনই কল করব যখন আমাদের কাছে সিরিয়াল স্ট্রিমে উপলব্ধ কিছু ডেটা থাকবে।

কিছু ডেটা পাওয়া যায় কিনা তা পরীক্ষা করার জন্য আমরা Serial.available () পদ্ধতি ব্যবহার করব। যদি এটি 0 এর চেয়ে বড় মান ফেরত দেয় - কিছু ডেটা পাওয়া যায়।

সুতরাং লুপ () অংশটি এইরকম দেখাবে:

অকার্যকর লুপ () {

যদি (Serial.available ()> 0) {// যদি সিরিয়াল পোর্টে কিছু ডেটা পাওয়া যায়

char state = Serial.read (); // মান পড়ুন

// যদি বিবৃতি বা সুইচ কেস

}

}

এখন আমরা ব্যবহার করতে পারি যদি মই বা যদি অনেক সম্ভাব্য ফলাফল থাকে তবে আমরা পরিবর্তনশীল অবস্থার জন্য সুইচ কেস ব্যবহার করতে পারি।

ধাপ 4: একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন

একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন
একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন
একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন
একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন
একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন
একটি GUI 7 সেগমেন্ট কন্ট্রোলার তৈরি করুন

ফাইলগুলো এখানে সংযুক্ত আছে। দ্রষ্টব্য: প্রক্রিয়াকরণের জন্য আপনাকে নিয়ন্ত্রণ p5 লাইব্রেরি ইনস্টল করতে হবে যা আমি GUI ইন্টারেক্টিভ বোতাম তৈরি করতে ব্যবহার করেছি।

পিন নম্বর

7 সেগমেন্ট (বর্ণানুক্রমিকভাবে) ছবিটি উল্লেখ করুন

একটি - ডিজিটাল পিন 2

খ - ডিজিটাল পিন 3

c - ডিজিটাল পিন 4

d - ডিজিটাল পিন 5

ই - ডিজিটাল পিন 6

f - ডিজিটাল পিন 7

g - ডিজিটাল পিন 8

ডিপি - ডিজিটাল পিন 9

সমস্ত বিষয়বস্তু এবং কোড এখানে আমার গিথুব এ উপলব্ধ

প্রস্তাবিত: