সুচিপত্র:

RaspberryPi: বিবর্ণ একটি LED ইন এবং আউট: 4 টি ধাপ (ছবি সহ)
RaspberryPi: বিবর্ণ একটি LED ইন এবং আউট: 4 টি ধাপ (ছবি সহ)

ভিডিও: RaspberryPi: বিবর্ণ একটি LED ইন এবং আউট: 4 টি ধাপ (ছবি সহ)

ভিডিও: RaspberryPi: বিবর্ণ একটি LED ইন এবং আউট: 4 টি ধাপ (ছবি সহ)
ভিডিও: Learn Arduino in 30 Minutes: Examples and projects 2024, নভেম্বর
Anonim
রাস্পবেরিপি: একটি LED ইন এবং আউট ফেইড
রাস্পবেরিপি: একটি LED ইন এবং আউট ফেইড

LEDs কিভাবে কাজ করে তা ব্যাখ্যা করার জন্য নিচের ধাপগুলো হল পরীক্ষা। তারা দেখায় যে কীভাবে একটি সমান হারে একটি এলইডি ম্লান করতে হয় এবং কীভাবে এটিকে ভিতরে এবং বাইরে বিবর্ণ করতে হয়।

আপনার প্রয়োজন হবে:

  • রাস্পবেরিপি (আমি একটি পুরোনো পাই ব্যবহার করেছি, আমার পাই -3 ব্যবহার করা হচ্ছে, তবে যে কোনও পাই কাজ করবে।)
  • ব্রেডবোর্ড
  • 5 মিমি লাল LED
  • 330 Ω প্রতিরোধক (সমালোচনামূলক নয় 220-560 work কাজ করবে।)
  • হুকআপ ওয়্যার

এডাফ্রুট থেকে আমি যে পাই-মুচি ব্যবহার করেছি তা প্রয়োজনীয় নয়, তবে এটি রুটিবোর্ডিংকে আরও সহজ করে তোলে।

ওয়্যারিংপি হল সি -তে রাস্পবেরিপি প্রোগ্রামিংয়ের জন্য লাইব্রেরির একটি সেট ডাউনলোড, ইনস্টল এবং ব্যবহারের নির্দেশাবলী https://www.wiringpi.com/ এ অবস্থিত

WiringPi ইনস্টল করতে এই পৃষ্ঠায় নির্দেশাবলী অনুসরণ করুন:

WiringPi পিন নম্বরগুলির একটি তালিকা পেতে কমান্ড লাইনে gpio readall লিখুন।

Raspian wiringPi এর নতুন সংস্করণগুলিতে ডিফল্টরূপে ইনস্টল করা আছে।

ধাপ 1: পালস প্রস্থ মডুলেশন

নাড়ি প্রস্থ মড্যুলেশন
নাড়ি প্রস্থ মড্যুলেশন
নাড়ি প্রস্থ মড্যুলেশন
নাড়ি প্রস্থ মড্যুলেশন
নাড়ি প্রস্থ মড্যুলেশন
নাড়ি প্রস্থ মড্যুলেশন

এলইডি সবসময় উজ্জ্বলতা নির্বিশেষে একই ভোল্টেজে চলে। উজ্জ্বলতা একটি বর্গ তরঙ্গ দোলক দ্বারা নির্ধারিত হয় এবং ভোল্টেজ বেশি সময় কতটুকু উজ্জ্বলতা নির্ধারণ করে। একে পালস প্রস্থ মডুলেশন (PWM) বলা হয়। এটি wiringPi pwmWrite (pin, n) ফাংশন দ্বারা নিয়ন্ত্রিত হয় যেখানে n এর মান 0 থেকে 255 পর্যন্ত থাকে। n = 2 হলে LED n = 1 এর দ্বিগুণ উজ্জ্বল হবে। উজ্জ্বলতা সবসময় দ্বিগুণ হয় যখন n দ্বিগুণ হয়। সুতরাং n = 255 n = 128 এর দ্বিগুণ উজ্জ্বল হবে।

N এর মান প্রায়ই শতকরা হিসাবে প্রকাশ করা হয় যাকে ডিউটি চক্র বলে। ছবি 25, 50 এবং 75% শুল্ক চক্রের জন্য অসিলোস্কোপ ট্রেস দেখায়।

ধাপ 2: LED এবং প্রতিরোধক

LED এবং প্রতিরোধক
LED এবং প্রতিরোধক

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

একটি LED এর সংক্ষিপ্ত নেতৃত্বে একটি প্রতিরোধক সোল্ডার। একটি 220-560 ওহম প্রতিরোধক ব্যবহার করুন।

ধাপ 3: আন-ইভ ডিমিং

আন-ডিমিং
আন-ডিমিং

চিত্রের মতো সার্কিট তৈরি করুন। এটি একটি এলইডি জ্বলজ্বল করার মতই সার্কিট। এটি ওয়্যারিংপিআই পিন 1 ব্যবহার করে কারণ আপনাকে একটি পিডব্লিউএম সক্ষম পিন ব্যবহার করতে হবে। প্রোগ্রাম কম্পাইল করুন এবং এটি চালান। আপনি লক্ষ্য করবেন যে LED যত উজ্জ্বল হবে তত ধীর। যতই এটি ডিম্মেস্টের কাছাকাছি আসে ততই এটি খুব দ্রুত ম্লান হয়ে যাবে।

/******************************************************************

* কম্পাইল: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * এক্সিকিউট করুন: sudo./fade1 * * সব পিন নাম্বার wiringPi নাম্বার হয় যদি না অন্যভাবে নির্দিষ্ট করা হয় । ****************************************************** ****************/ #অন্তর্ভুক্ত int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) দ্বারা সেটআপ প্রয়োজন; // pwmSetMode (PWM_MODE_MS); // মার্ক/স্পেস মোড int i; যখন (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); বিলম্ব (10); } এর জন্য (i = 0; i <256; i ++) {pwmWrite (1, i); বিলম্ব (10); }}}

পরবর্তী ধাপে দেখানো হয়েছে কিভাবে এলইডিকে ধ্রুবক হারে ম্লান করতে হয়, এবং এক বিবৃতিতে।

ধাপ 4: ধাপ 4: একের জন্য (এবং উপরে) এবং একটি সমান হারে।

এলইডি ধ্রুবক হারে ম্লান হওয়ার জন্য বিলম্ব () অবশ্যই একটি সূচকীয় হারে বৃদ্ধি করতে হবে কারণ অর্ধ ডিউটি চক্র সর্বদা অর্ধেক উজ্জ্বলতা তৈরি করবে।

লাইন:

int d = (16-i/16)^2;

বিলম্বের দৈর্ঘ্য নির্ধারণ করতে উজ্জ্বলতার বিপরীত বর্গ গণনা করে। এই প্রোগ্রামটি কম্পাইল করুন এবং চালান এবং আপনি দেখতে পাবেন যে LED একটি ধ্রুবক হারে ভিতরে এবং বাইরে বিবর্ণ হয়ে যাবে।

/******************************************************************

* কম্পাইল: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Execute: sudo./fade2 * * সব পিন নম্বর wiringPi নাম্বার হয় যদি না অন্যভাবে নির্দিষ্ট করা হয় । ****************************************************** ****************/ #অন্তর্ভুক্ত int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) দ্বারা সেটআপ প্রয়োজন; // pwmSetMode (PWM_MODE_MS); // মার্ক/স্পেস মোড যখন (1) {int i; int x = 1; জন্য (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // সূচক pwmWrite (1, i) এর calc বিপরীত বর্গ; বিলম্ব (ডি); যদি (i == 255) x = -1; // শিখরে দিক পরিবর্তন করুন}}}

প্রস্তাবিত: