Isi kandungan:
Video: Menambah EEPROM 24LC256 ke Arduino Due: 3 Steps
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Arduino kerana kekurangan eeprom. Instruksional ini menambahkan satu dan membolehkan anda menyimpan nilai dalam memori tidak stabil yang akan bertahan daripada kemas kini firmware arduino.
Langkah 1: Papan roti
Terdapat beberapa arahan yang sangat baik di sini: https://www.hobbytronics.co.uk/arduino-external-eepromSaya hanya mengikutinya. Foto menunjukkan rangkaian papan roti. pin 1 hingga 4 dan pin 7 dibumikan. pin 8 disambungkan ke bekalan 3.3V pada papan waktunya. Kabel kuning (pin 6) dan putih (pin 5) disambungkan ke pin SDA (data) dan SCL (jam) i2c pada papan waktunya (bernombor 21 dan 20).
Langkah 2: Masa Kod
Berikut adalah beberapa coretan kod yang saya gunakan dalam lakaran saya. Pertama, sertakan header perpustakaan Wire di suatu tempat berhampiran bahagian atas lakaran anda: / * Gunakan EEPROM 24LC256 untuk menyimpan tetapan * / #include Kemudian tambahkan beberapa fungsi untuk membaca dan menulis bait dari EEPROM (Saya hanya mementingkan bait individu tetapi ada ciri penulisan halaman dalam cip juga). Perhatikan terdapat definisi makro 0x50.. ini adalah alamat cip pada bas i2c (anda boleh menyambungkan lebih dari satu benda i2c pada bas i2c dan memilih mana yang ingin anda bicarakan dengan menukar alamat). / * Kedua fungsi ini membantu kami menulis kepada cip EEPROM 24LC256 * / #tentukan EEPROM_ADDR 0x50 membatalkan EEPROM_write (data int addr, byte yang tidak ditandatangani) {int rdata = data; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM write: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); kelewatan (5); } byte EEPROM_read (int addr yang tidak ditandatangani) {data bait = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); jika (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM baca: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); kelewatan (5); mengembalikan data; } Anda boleh melepaskan garis Serial.print (…) jika anda ingin melihat beberapa output debug. Dalam fungsi persediaan arduino () anda memulakan perpustakaan wayar dan dapat membaca dalam nilai awal. Di sini saya membaca dalam dua bait (flag dan max_cc), dua perkataan (lean_min dan lean_max) dan susunan kata sd_max [3]: // nilai baca yang disimpan dalam EEPROM Wire.begin (); bendera = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = perkataan (EEPROM_read (3), EEPROM_read (2)); lean_max = perkataan (EEPROM_read (5), EEPROM_read (4)); untuk (int j = 0; j <3; j) {sd_max [j] = word (EEPROM_read (7 j * 2), EEPROM_read (6 j * 2)); } Inilah sedikit kod yang menulisnya ke dalam 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)); untuk (int j = 0; j <3; j) {EEPROM_write (6 j * 2, lowByte (sd_max [j])); EEPROM_write (7 j * 2, highByte (sd_max [j])); } Itu betul-betul.
Langkah 3: Wire It Up
Kabelkan ke beberapa papan kenyataan untuk memasukkan ke dalam kandang dan kerja yang telah dilakukan.
Disyorkan:
Menambah Penjanaan Semula dalam Brett's Arduino ASCD 18650 Smart Charger / Discharger: 3 Langkah
Menambah Regenerasi dalam Arduino ASCD 18650 Smart Charger / Discharger Brett's: Komuniti powerwall DIY TESLA berkembang pesat. Langkah paling penting dalam membina powerwall adalah pengelompokan sel bateri dalam pek dengan jumlah kapasiti yang sama. Ini memungkinkan untuk mengatur pek bateri secara siri dan mudah mengimbangkan
Cara Menambah Perpustakaan Luaran ke Arduino: 3 Langkah
Cara Menambah Perpustakaan Luar ke Arduino: Perpustakaan menyediakan fungsi tambahan untuk lakaran yang kami buat. Fungsi-fungsi ini dapat membantu kami membuat lakaran lebih mudah. Terdapat banyak perpustakaan yang boleh kami gunakan. Perpustakaan lalai Arduino IDE atau perpustakaan luaran yang dibuat oleh seseorang atau komuniti. Di dalam ini
ME 470 Menambah Decals ke SolidWorks Parts & Assemblies: 12 Steps
ME 470 Menambah Decals ke SolidWorks Parts & Assemblies: In This Instructable: 1. Cara meletakkan Decals pada Muka Bahagian atau Assemblies yang Ada 2. Cara Membuat Decals dengan Pembuat Label Online Percuma Langkah-langkah Asas untuk Penempatan Decal: • Buat Bahagian atau Perhimpunan &banteng; Pergi ke tab Penampilan di Feature Tree Wi
Menambah Papan Custom ke Arduino IDE: 3 Langkah
Menambah Papan Custom ke Arduino IDE: Versi 1.6.4 dari Arduino IDE memperkenalkan sokongan rasmi untuk menambahkan papan serasi arduino pihak ketiga ke Pengurus Lembaga Arduino. Sokongan penambahan ini adalah berita hebat, kerana ia membolehkan pengguna menambahkan papan ubahsuaian dengan cepat hanya dengan satu klik
Menambah Memori Off-The-Shelf ke Cisco 871: 7 Steps
Menambah Memori Off-The-Shelf ke Cisco 871: Router siri Cisco 800 semakin popular apabila harganya jatuh - tetapi peningkatan dari Cisco masih melebihi harga. Sehingga Julai, peningkatan memori 128Mb melebihi $ 500 senarai. Nasib baik dengan beberapa mem