সুচিপত্র:

Arduino ডিউতে একটি 24LC256 EEPROM যোগ করা: 3 ধাপ
Arduino ডিউতে একটি 24LC256 EEPROM যোগ করা: 3 ধাপ

ভিডিও: Arduino ডিউতে একটি 24LC256 EEPROM যোগ করা: 3 ধাপ

ভিডিও: Arduino ডিউতে একটি 24LC256 EEPROM যোগ করা: 3 ধাপ
ভিডিও: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, নভেম্বর
Anonim
Arduino ডিউতে একটি 24LC256 EEPROM যোগ করা
Arduino ডিউতে একটি 24LC256 EEPROM যোগ করা

Arduino কারণে একটি eeprom অভাব। এই নির্দেশযোগ্য একটি যোগ করে এবং আপনাকে অ -উদ্বায়ী মেমরিতে মান সংরক্ষণ করতে দেয় যা একটি arduino ফার্মওয়্যার আপডেটে বেঁচে থাকবে।

ধাপ 1: ব্রেডবোর্ডিং

ব্রেডবোর্ডিং
ব্রেডবোর্ডিং

এখানে কিছু ভাল নির্দেশনা আছে: https://www.hobbytronics.co.uk/arduino-external-eeprom আমি শুধু তাদের অনুসরণ করেছি। পিন 1 থেকে 4 এবং পিন 7 গ্রাউন্ডেড। পিন 8 যথোপযুক্ত বোর্ডে 3.3V সরবরাহের সাথে সংযুক্ত। হলুদ (পিন 6) এবং সাদা (পিন 5) তারগুলি i2c SDA (ডেটা) এবং এসসিএল (ঘড়ি) পিনের সাথে যুক্ত বোর্ডে (21 এবং 20 নম্বর))।

ধাপ 2: কোড সময়।

কোড সময়।
কোড সময়।

এখানে কোডের কিছু স্নিপেট আছে যা আমি আমার স্কেচগুলিতে ব্যবহার করি। প্রথমে, আপনার স্কেচের শীর্ষে কোথাও ওয়্যার লাইব্রেরির শিরোনাম অন্তর্ভুক্ত করুন: চিপে পৃষ্ঠা লেখার বৈশিষ্ট্যও)। লক্ষ্য করুন 0x50 এর একটি ম্যাক্রো সংজ্ঞা আছে.. এটি i2c বাসে চিপের ঠিকানা (আপনি একটি i2c বাসে একাধিক i2c জিনিসপত্র সংযুক্ত করতে পারেন এবং ঠিকানা পরিবর্তন করে আপনি কোনটির সাথে কথা বলতে চান তা নির্বাচন করুন)। / * এই দুটি ফাংশন আমাদের 24LC256 EEPROM চিপে লিখতে সাহায্য করে Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM লিখুন: addr: "); // সিরিয়াল.প্রিন্ট (addr); // সিরিয়াল.প্রিন্ট (""); // সিরিয়াল.প্রিন্টলন (ডেটা); বিলম্ব (5); } বাইট EEPROM_read (স্বাক্ষরবিহীন int addr) {বাইট ডেটা = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); যদি (Wire.available ()) data = Wire.read (); //Serial.print ("EEPROM পড়ুন: addr:"); // সিরিয়াল.প্রিন্ট (addr); // সিরিয়াল.প্রিন্ট (""); // সিরিয়াল.প্রিন্টলন (ডেটা); বিলম্ব (5); তথ্য ফেরত; } আপনি যদি কিছু ডিবাগ আউটপুট দেখতে চান তাহলে আপনি Serial.print (…) লাইনগুলিকে অসম্পূর্ণ করতে পারেন। Arduinos setup () ফাংশনে আপনি তারের লাইব্রেরি শুরু করেন এবং প্রাথমিক মানগুলিতে পড়তে পারেন। এখানে আমি দুটি বাইট (পতাকা এবং max_cc), দুটি শব্দ (lean_min এবং lean_max) এবং sd_max [3] শব্দের একটি অ্যারে পড়ি: // EEPROM Wire.begin () এ সংরক্ষিত মানগুলি পড়ুন; পতাকা = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = শব্দ (EEPROM_read (3), EEPROM_read (2)); lean_max = শব্দ (EEPROM_read (5), EEPROM_read (4)); জন্য (int j = 0; j <3; j) {sd_max [j] = word (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } এখানে বিট কোড আছে যা তাদের EEPROM- এ লিখছে: EEPROM_write (0, flags); EEPROM_write (1, max_cc); EEPROM_write (2, lowByte (lean_min)); EEPROM_write (3, highByte (lean_min)); EEPROM_write (4, lowByte (lean_max)); EEPROM_write (5, highByte (lean_max)); জন্য (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, highByte (sd_max [j])); } এটা সম্পর্কে সত্যিই।

ধাপ 3: ওয়্যার ইট আপ

ওয়্যার ইট আপ
ওয়্যার ইট আপ

একটি ঘের মধ্যে স্ক্রু এবং কাজ সম্পন্ন কিছু veroboard সম্মুখের তারের।

প্রস্তাবিত: