সুচিপত্র:
ভিডিও: আপনার Arduino এর অন্তর্নির্মিত EEPROM: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
এই নিবন্ধে আমরা আমাদের Arduino বোর্ডের অভ্যন্তরীণ EEPROM পরীক্ষা করতে যাচ্ছি। আপনার মধ্যে কেউ কেউ ইইপ্রোম কী বলছেন? একটি EEPROM একটি ইলেক্ট্রিক্যালি ইরেজেবল প্রোগ্রামযোগ্য পঠনযোগ্য স্মৃতি।
এটি অ-উদ্বায়ী মেমরির একটি রূপ যা বিদ্যুৎ বন্ধ হয়ে যাওয়া, বা আরডুইনো রিসেট করার পরে জিনিসগুলি মনে রাখতে পারে। এই ধরনের মেমরির সৌন্দর্য হল যে আমরা একটি স্থায়ী ভিত্তিতে স্কেচের মধ্যে উৎপন্ন তথ্য সংরক্ষণ করতে পারি।
আপনি কেন অভ্যন্তরীণ EEPROM ব্যবহার করবেন? এমন পরিস্থিতির জন্য যেখানে একটি পরিস্থিতির জন্য অনন্য এমন ডেটার জন্য আরও স্থায়ী বাড়ির প্রয়োজন হয়। উদাহরণস্বরূপ, একটি বাণিজ্যিক Arduino- ভিত্তিক প্রকল্পের অনন্য সিরিয়াল নম্বর এবং উত্পাদন তারিখ সংরক্ষণ করা-স্কেচের একটি ফাংশন একটি LCD তে সিরিয়াল নম্বর প্রদর্শন করতে পারে, অথবা একটি 'পরিষেবা স্কেচ' আপলোড করে ডেটা পড়া যেতে পারে। অথবা আপনাকে কিছু ইভেন্ট গণনা করতে হবে এবং ব্যবহারকারীকে সেগুলি পুনরায় সেট করার অনুমতি দিতে হবে না-যেমন একটি ওডোমিটার বা অপারেশন সাইকেল-কাউন্টার।
ধাপ 1: কোন ধরণের ডাটা সংরক্ষণ করা যায়?
যেকোনো কিছু যা ডেটার বাইট হিসাবে উপস্থাপন করা যায়। এক বাইট ডেটা আট বিট ডেটা দিয়ে গঠিত। একটি বিট হয় (মান 1) বা বন্ধ (মান 0), এবং বাইনারি আকারে সংখ্যা উপস্থাপনের জন্য নিখুঁত। অন্য কথায়, একটি বাইনারি সংখ্যা শুধুমাত্র একটি মান উপস্থাপন করতে শূন্য এবং বেশী ব্যবহার করতে পারে। এইভাবে বাইনারি "বেস -২" নামেও পরিচিত, কারণ এটি শুধুমাত্র দুটি সংখ্যা ব্যবহার করতে পারে।
কিভাবে শুধুমাত্র দুটি সংখ্যা ব্যবহার করে একটি বাইনারি সংখ্যা একটি বড় সংখ্যা উপস্থাপন করতে পারে? এটি প্রচুর এবং শূন্য ব্যবহার করে। আসুন একটি বাইনারি সংখ্যা পরীক্ষা করি, বলুন 10101010। যেহেতু এটি একটি বেস -2 সংখ্যা, তাই প্রতিটি অঙ্কে x = 0 থেকে x এর শক্তিকে 2 প্রতিনিধিত্ব করে।
ধাপ ২:
দেখুন কিভাবে বাইনারি সংখ্যার প্রতিটি সংখ্যা একটি বেস -10 সংখ্যা উপস্থাপন করতে পারে। সুতরাং উপরের বাইনারি সংখ্যাটি বেস -10-তে 85 প্রতিনিধিত্ব করে-মান 85 হল বেস -10 মানের সমষ্টি। আরেকটি উদাহরণ - বাইনারিতে 11111111 বেস 10 এ 255 এর সমান।
ধাপ 3:
এখন সেই বাইনারি সংখ্যার প্রতিটি সংখ্যা একটি 'বিট' মেমরি ব্যবহার করে এবং আটটি বিট একটি বাইট তৈরি করে। আমাদের Arduino বোর্ডগুলিতে মাইক্রোকন্ট্রোলারগুলির অভ্যন্তরীণ সীমাবদ্ধতার কারণে, আমরা EEPROM এ শুধুমাত্র 8-বিট সংখ্যা (এক বাইট) সংরক্ষণ করতে পারি।
এটি সংখ্যার দশমিক মানকে শূন্য এবং ২৫৫ এর মধ্যে সীমাবদ্ধ করে রাখে। সেই সংখ্যা পরিসরের সাথে আপনার ডেটা কিভাবে উপস্থাপন করা যায় তা সিদ্ধান্ত নেওয়ার দায়িত্ব আপনার। এটি আপনাকে বন্ধ করতে দেবেন না - সঠিক পদ্ধতিতে সাজানো সংখ্যাগুলি প্রায় যেকোনো কিছুকেই প্রতিনিধিত্ব করতে পারে! এখানে একটি সীমাবদ্ধতা রয়েছে - আমরা EEPROM- এ কতবার পড়তে বা লিখতে পারি। নির্মাতা এটমেলের মতে, EEPROM 100, 000 পড়া/লেখার চক্রের জন্য ভাল (ডেটা শীট দেখুন)।
ধাপ 4:
এখন আমরা আমাদের বিট এবং এবং বাইট জানি, আমাদের Arduino এর মাইক্রোকন্ট্রোলারে কত বাইট সংরক্ষণ করা যেতে পারে? মাইক্রোকন্ট্রোলারের মডেলের উপর নির্ভর করে উত্তর পরিবর্তিত হয়। উদাহরণ স্বরূপ:
- একটি Atmel ATmega328 সহ বোর্ড, যেমন Arduino Uno, Uno SMD, Nano, Lilypad, ইত্যাদি - 1024 বাইট (1 কিলোবাইট)
- একটি Atmel ATmega1280 বা 2560 সহ বোর্ড, যেমন Arduino মেগা সিরিজ - 4096 বাইট (4 কিলোবাইট)
- একটি Atmel ATmega168 সহ বোর্ড, যেমন মূল Arduino Lilypad, পুরাতন Nano, Diecimila ইত্যাদি - 512 বাইট।
আপনি যদি অনিশ্চিত হন তবে Arduino হার্ডওয়্যার সূচকটি দেখুন বা আপনার বোর্ড সরবরাহকারীকে জিজ্ঞাসা করুন। আপনার মাইক্রোকন্ট্রোলারের সাথে যা পাওয়া যায় তার চেয়ে বেশি EEPROM স্টোরেজ প্রয়োজন হলে, একটি বহিরাগত I2C EEPROM ব্যবহার করার কথা বিবেচনা করুন।
এই মুহুর্তে আমরা এখন বুঝতে পারছি আমাদের Arduino এর EEPROM এ কোন ধরণের ডেটা এবং কতটুকু সংরক্ষণ করা যায়। এখন এটি কার্যকর করার সময়। আগেই আলোচনা করা হয়েছে, আমাদের ডেটার জন্য সীমিত পরিমাণে স্থান রয়েছে। নিম্নলিখিত উদাহরণগুলিতে, আমরা ETPROM স্টোরেজের 1024 বাইট সহ ATmega328 সহ একটি সাধারণ Arduino বোর্ড ব্যবহার করব।
ধাপ 5:
EEPROM ব্যবহার করার জন্য, একটি লাইব্রেরি প্রয়োজন, তাই আপনার স্কেচে নিম্নলিখিত লাইব্রেরি ব্যবহার করুন:
#অন্তর্ভুক্ত "EEPROM.h"
বাকিটা খুবই সহজ। এক টুকরো ডেটা সংরক্ষণ করতে, আমরা নিম্নলিখিত ফাংশনটি ব্যবহার করি:
EEPROM.write (a, b);
প্যারামিটার a হল EEPROM এ অবস্থান যা ডাটা খ এর পূর্ণসংখ্যা (0 ~ 255) সংরক্ষণ করে। এই উদাহরণে, আমাদের 1024 বাইট মেমরি স্টোরেজ আছে, তাই a এর মান 0 থেকে 1023 এর মধ্যে। একটি ডেটা পুনরুদ্ধার করার জন্য সমানভাবে সহজ, ব্যবহার করুন:
z = EEPROM.read (a);
যেখানে z হল EEPROM অবস্থান a থেকে তথ্য সংরক্ষণের একটি পূর্ণসংখ্যা। এখন একটি উদাহরণ দেখতে।
ধাপ 6:
এই স্কেচ 0 থেকে 255 এর মধ্যে এলোমেলো সংখ্যা তৈরি করবে, সেগুলিকে EEPROM- এ সংরক্ষণ করবে, তারপর পুনরুদ্ধার করে সিরিয়াল মনিটরে প্রদর্শন করবে। পরিবর্তনশীল EEsize হল আপনার EEPROM আকারের উপরের সীমা, তাই (উদাহরণস্বরূপ) এটি একটি Arduino Uno এর জন্য 1024, অথবা একটি মেগার জন্য 4096 হবে।
// Arduino অভ্যন্তরীণ EEPROM বিক্ষোভ
#অন্তর্ভুক্ত
int zz; int EEsize = 1024; // আপনার বোর্ডের EEPROM এর বাইট আকার
অকার্যকর সেটআপ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("এলোমেলো সংখ্যা লেখা …"); জন্য (int i = 0; i <EEsize; i ++) {zz = random (255); EEPROM.write (i, zz); } Serial.println (); জন্য (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); সিরিয়াল.প্রিন্ট ("EEPROM অবস্থান:"); সিরিয়াল.প্রিন্ট (ক); সিরিয়াল.প্রিন্ট ("রয়েছে"); Serial.println (zz); বিলম্ব (25); }}
সিরিয়াল মনিটর থেকে আউটপুট প্রদর্শিত হবে, যেমন ছবিতে দেখানো হয়েছে।
সুতরাং আপনার কাছে এটি আছে, আমাদের আরডুইনো সিস্টেমগুলির সাথে ডেটা সঞ্চয় করার আরেকটি কার্যকর উপায়। যদিও সবচেয়ে উত্তেজনাপূর্ণ টিউটোরিয়াল নয়, এটি অবশ্যই একটি দরকারী।
এই পোস্টটি আপনার জন্য নিয়ে এসেছে pmdway.com - নির্মাতা এবং ইলেকট্রনিক্স উত্সাহীদের জন্য সবকিছু, বিশ্বব্যাপী বিনামূল্যে বিতরণ সহ।
প্রস্তাবিত:
অন্তর্নির্মিত স্পিকার সহ ছবি ধারক: 7 টি ধাপ (ছবি সহ)
অন্তর্নির্মিত স্পিকারের সাথে পিকচার হোল্ডার: এখানে সপ্তাহান্তে একটি দুর্দান্ত প্রকল্প গ্রহণ করা হয়, যদি আপনি আপনার নিজের স্পিকার তৈরি করতে চান যা ছবি/পোস্ট কার্ড বা এমনকি আপনার করণীয় তালিকা রাখতে পারে। নির্মাণের অংশ হিসাবে আমরা একটি রাস্পবেরি পাই জিরো ডব্লিউ প্রকল্পের কেন্দ্র হিসেবে ব্যবহার করতে যাচ্ছি, এবং একটি
আপনার টিভি রিমোট দিয়ে আপনার এলইডি নিয়ন্ত্রণ করুন?! -- Arduino IR টিউটোরিয়াল: 5 টি ধাপ (ছবি সহ)
আপনার টিভি রিমোট দিয়ে আপনার এলইডি নিয়ন্ত্রণ করুন?! || আরডুইনো আইআর টিউটোরিয়াল: এই প্রজেক্টে আমি দেখাবো কিভাবে আমি আমার টিভির পিছনের এলইডি নিয়ন্ত্রণের জন্য আমার টিভি রিমোটের অকেজো বোতামগুলিকে পুনরায় ব্যবহার করেছি। আপনি এই কৌশলটি কোড কোড এডিটিং সহ সব ধরণের নিয়ন্ত্রণ করতে ব্যবহার করতে পারেন। আমি তত্ত্ব সম্পর্কে একটু কথা বলব
ESP32 ব্লুটুথ টিউটোরিয়াল - কিভাবে ESP32 এর অন্তর্নির্মিত ব্লুটুথ ব্যবহার করবেন: 5 টি ধাপ
ESP32 ব্লুটুথ টিউটোরিয়াল | কিভাবে ESP32 এর অন্তর্নির্মিত ব্লুটুথ ব্যবহার করবেন: হাই বন্ধুরা যেহেতু ESP32 বোর্ড ওয়াইফাই & ব্লুটুথ উভয়ই কিন্তু আমাদের বেশিরভাগ প্রজেক্টের জন্য আমরা সাধারণত শুধুমাত্র ওয়াইফাই ব্যবহার করি, আমরা ব্লুটুথ ব্যবহার করি না।তাই এই নির্দেশাবলীতে আমি দেখাবো কিভাবে ESP32 & এর ব্লুটুথ ব্যবহার করা সহজ। আপনার মৌলিক প্রকল্পগুলির জন্য
অন্তর্নির্মিত ডিএসপি সহ DIY সাউন্ডবার: 6 টি ধাপ (ছবি সহ)
বিল্ট-ইন ডিএসপি সহ DIY সাউন্ডবার: ১/২ থেকে একটি আধুনিক দেখতে সাউন্ডবার তৈরি করা " পুরু কার্ফ-বেন্ট পাতলা পাতলা কাঠ। এই ছোট ক্যাবিনেটে কম ফ্রিকোয়েন্সি বাড়াতে সাহায্য করার জন্য সাউন্ডবারে 2 টি চ্যানেল (স্টেরিও), 2 এম্প্লিফায়ার, 2 টুইটার, 2 উফার এবং 4 প্যাসিভ রেডিয়েটার রয়েছে। পরিবর্ধকদের মধ্যে একটি
অন্তর্নির্মিত স্পিকার সহ গিটার হিরো গিটার: 8 টি ধাপ
গিটার হিরো গিটার বিল্ট-ইন স্পিকারের সাথে: মূলত, আমি একটি গিটার হিরো কন্ট্রোলার খুললাম এবং ভাবলাম আমি ভিতরে কি ফিট করতে পারি। এটা হালকা লাগছিল তাই আমি ভেবেছিলাম সেখানে প্রচুর জায়গা আছে। অবশ্যই যথেষ্ট, প্রচুর ছিল। মূলত আমি গিটারের গলায় একটি আইপড শফল রাখার পরিকল্পনা করেছিলাম এবং রো