সুচিপত্র:

এলসিডি সহ ডেস্কটপ সংগঠক: 4 টি ধাপ
এলসিডি সহ ডেস্কটপ সংগঠক: 4 টি ধাপ

ভিডিও: এলসিডি সহ ডেস্কটপ সংগঠক: 4 টি ধাপ

ভিডিও: এলসিডি সহ ডেস্কটপ সংগঠক: 4 টি ধাপ
ভিডিও: USB Desktop Aquarium with my 2 lovely Danios fishes 2024, নভেম্বর
Anonim
Image
Image

** সম্পাদিত হচ্ছে **

HKU arduino প্রজেক্টের জন্য আমি LCD স্ক্রিন বিশিষ্ট একটি ডেস্কটপ অর্গানাইজার তৈরির সিদ্ধান্ত নিয়েছি যা আপনার পটমিটার ঘুরানোর সময় আপনাকে বাছাই করার জন্য অনুপ্রেরণা উদ্ধৃতি প্রদর্শন করে!

আমি বেশিরভাগ ক্ষেত্রেই আর্ডুইনো প্রযুক্তিগত জিনিসগুলি coveringেকে রাখব, যতক্ষণ না আপনি আপনার Arduino এবং LCD কে লুকিয়ে রাখার জন্য একটি কাঠের বাক্সের মতো কিছু পেয়েছেন আপনার ব্যক্তিগত ওগানিসারে যেকোনো পছন্দসই রূপ নিতে পারে।

আপনার প্রয়োজনীয় জিনিসগুলি

  • *arduino uno
  • পাত্র মিটার
  • *পুরুষ prottyping তারের
  • *এলসিডি মডিউল! এসডি কার্ড রিডার সহ! (আমি arduino tft LCD পেয়েছি)
  • *মাইক্রো এসডি কার্ড
  • *কাঠ (আমি পুরোনো মিনি ড্রয়ার পুনর্ব্যবহার করেছি এবং কিছু অতিরিক্ত কাঠের যন্ত্রাংশ ব্যবহার করেছি, নিশ্চিত করুন যে আপনি অন্তত আপনার arduino লুকানোর জন্য একটি ছোট বাক্স তৈরি করতে পারেন!

ধাপ 1: আরডুইনোতে পটমিটার স্থাপন করা

Arduino এ পটমিটার স্থাপন করা
Arduino এ পটমিটার স্থাপন করা

ছবিতে দেখানো হিসাবে আপনার পাত্র মিটার সংযোগ করুন

কাজ শুরু করার জন্য পাত্র মিটার পেতে

সেটআপের আগে আপনাকে আপনার স্কেচের শীর্ষে কিছু ভেরিয়েবল দিয়ে শুরু করতে হবে:

কোড:

const int analogInPin = A0; // এনালগ ইনপুট পিন যার সাথে পোটেন্টিওমিটার সংযুক্ত থাকে

int sensorValue = 0; // পাত্র থেকে পড়া মান int outputValue = 0; // PWM এর মান আউটপুট (এনালগ আউট)

ছবি 2 এ আমি দেখাই কিভাবে পটমিটারটি অকার্যকর লুপে ম্যাপ করা হয়

কোড:

// মান এনালগ পড়ুন:

sensorValue = analogRead (analogInPin); // এটি এনালগ আউট পরিসীমা মানচিত্র: outputValue = মানচিত্র (sensorValue, 0, 1023, 0, 255); স্ট্রিং stuffToPrint = স্ট্রিং (outputValue); // এনালগ আউট মান পরিবর্তন করুন:

stuffToPrint.toCharArray (প্রিন্টআউট, 9); // স্ট্যাটিক টেক্সট myScreen.setTextSize (1);

সিরিয়াল.প্রিন্ট ("সেন্সর ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

বিলম্ব (50);

এটি পটমিটার থেকে 0 থেকে 255 এর পরিসরে এনালগ ডেটা ম্যাপ করে, আমরা আমাদের এলসিডি স্লাইডশো নিয়ন্ত্রণ করতে এই পরিসীমা ব্যবহার করব

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

www.toptechboy.com/arduino/lesson-11-arduin…

ধাপ 2: এলসিডি সেট আপ করা

এলসিডি সেট আপ করা হচ্ছে
এলসিডি সেট আপ করা হচ্ছে

উপরের উদাহরণের মতো পিনগুলি সেট আপ করুন।

সঠিকভাবে সম্পন্ন হলে আপনার পর্দা সাদা হবে।

যদি আপনার অতিরিক্ত সাহায্যের প্রয়োজন হয় বা আপনার ডিসপ্লে পরীক্ষা করার জন্য কিছু উদাহরণ কোড ব্যবহার করতে চান তাহলে আপনি এই মডিউলটির অফিসিয়াল টিউটোরিয়াল দেখতে পারেন এবং এর কোড উদাহরণ এখানে

আমরা পরবর্তী ধাপে "SD কার্ড থেকে ছবি অঙ্কন" আংশিকভাবে ব্যবহার করব।

ধাপ 3: স্লাইডশো সেট আপ করা

স্লাইডশো সেট আপ করা হচ্ছে
স্লাইডশো সেট আপ করা হচ্ছে

এখন যেহেতু আমাদের পটমিটার এবং এলসিডি সেট আপ আছে আমরা পটমিটারের ম্যাপ করা মানগুলি ব্যবহার করে একটি "স্লাইডশো" সেট আপ করতে পারি

0 থেকে 255 এর পরিসর ব্যবহার করে আমরা একটি নির্দিষ্ট পরিসীমা নির্দেশ করতে পারি যেখানে আমরা LCD তে কিছু সামগ্রী প্রদর্শনের জন্য arduino ট্রিগার করতে পারি।

ছবিতে দেখানো প্রথম উদাহরণ:

if (outputValue <51) {// range one if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("হাই হাই অসাধারণ,", 10, 50); myScreen.text ("পিন ঘুরান> থেকে", 10, 60); myScreen.text ("উৎসাহ পান।", 10, 70); rangeOne = মিথ্যা;

যদি পটমিটার 51 এর চেয়ে কম পরিসরে পরিণত হয়, ডিসপ্লে সহ পর্দা (পোর্ট্রেট মোডে = ঘূর্ণন 90) কিছু টেক্সট।

একটি ছবি প্রদর্শন করতে সক্ষম হওয়ার জন্য নিশ্চিত করুন যে আপনার এসডি সিএস পিন সঠিকভাবে সংজ্ঞায়িত করা হয়েছে, অথবা আরডুইনো এসডি আরম্ভ করতে ব্যর্থ হবে (তাই আপনার তারগুলি পরীক্ষা করতে ভুলবেন না !!)

আপনি যদি আপনার এলসিডি পিনগুলি পরীক্ষা করতে চান তবে আপনি "স্ক্রিন সংযোগকারী" অফিসিয়াল গাইডটি দেখতে পারেন

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

ধাপ 4: সম্পূর্ণ কোড উদাহরণ

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত // হার্ডওয়্যার-নির্দিষ্ট লাইব্রেরি #অন্তর্ভুক্ত

#ডিফাইন SD_CS 4 #সিএস 10 নির্ধারণ করুন #ডিসি 9 ডিফাইন করুন

const int analogInPin = A0; // এনালগ ইনপুট পিন যার সাথে পোটেন্টিওমিটার সংযুক্ত থাকে

int sensorValue = 0; // পাত্র থেকে পড়া মান int outputValue = 0; // PWM এর মান আউটপুট (এনালগ আউট) বুল পরিসীমা = সত্য; বুল পরিসীমা দুই = সত্য; বুল পরিসীমা তিন = সত্য; বুল পরিসীমা চার = সত্য; বুল পরিসীমা পাঁচ = সত্য;

TFT myScreen = TFT (CS, DC, RESET);

ছবি ইমেজ; const char printout [9];

অকার্যকর সেটআপ () {Serial.begin (9600); myScreen.begin (); // এসডি কার্ড সিরিয়াল.প্রিন্ট অ্যাক্সেস করার চেষ্টা করুন ("এসডি কার্ড শুরু করা …"); যদি (! SD.begin (SD_CS)) {Serial.println ("ব্যর্থ!"); প্রত্যাবর্তন; } Serial.println ("ঠিক আছে!");

// GLCD স্ক্রিন myScreen.begin () আরম্ভ এবং সাফ করুন; myScreen.background (255, 255, 255);

} অকার্যকর লুপ () {// মান এনালগ পড়ুন: sensorValue = analogRead (analogInPin); // এটি এনালগ আউট পরিসীমা মানচিত্র: outputValue = মানচিত্র (sensorValue, 0, 1023, 0, 255); স্ট্রিং stuffToPrint = স্ট্রিং (outputValue); // এনালগ আউট মান পরিবর্তন করুন:

stuffToPrint.toCharArray (প্রিন্টআউট, 9); // স্ট্যাটিক টেক্সট myScreen.setTextSize (1);

সিরিয়াল.প্রিন্ট ("সেন্সর ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

বিলম্ব (50);

if (outputValue to ", 10, 60); myScreen.text (" উৎসাহ পান। ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /পরিসীমা চার যদি (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // স্ক্রিন ইমেজ সাফ করুন = myScreen.loadImage ("quote2.bmp "); // স্ক্রিনে ছবিটি লিখুন myScreen.image (image, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" আমি খুব গর্বিত ", 10, 50); myScreen.text ("আপনার!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

প্রস্তাবিত: