Daftar Isi:
Video: Menambahkan EEPROM 24LC256 ke Arduino Karena: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Arduino karena tidak memiliki eeprom. Instruksi ini menambahkan satu dan memungkinkan Anda untuk menyimpan nilai dalam memori non-volatil yang akan bertahan dari pembaruan firmware arduino.
Langkah 1: Papan tempat memotong roti
Ada beberapa instruksi yang sangat bagus di sini: https://www.hobbytronics.co.uk/arduino-external-eepromSaya hanya mengikuti mereka. Foto menunjukkan sirkuit papan tempat memotong roti. pin 1 sampai 4 dan pin 7 di-ground. pin 8 terhubung ke suplai 3.3V pada papan jatuh tempo. Kabel kuning (pin 6) dan putih (pin 5) terhubung ke pin i2c SDA (data) dan SCL (jam) pada papan jatuh tempo (bernomor 21 dan 20).
Langkah 2: Kode Waktu
Berikut adalah beberapa potongan kode yang saya gunakan dalam sketsa saya. Pertama, sertakan header pustaka Wire di suatu tempat di dekat bagian atas sketsa Anda: /* Gunakan 24LC256 EEPROM untuk menyimpan pengaturan */ #include Kemudian tambahkan beberapa fungsi untuk membaca dan menulis byte dari EEPROM (Saya hanya peduli dengan byte individual tetapi ada fitur penulisan halaman dalam chip juga). Perhatikan bahwa ada definisi makro 0x50.. ini adalah alamat chip pada bus i2c (Anda dapat menghubungkan lebih dari satu benda i2c pada bus i2c dan memilih yang mana yang ingin Anda ajak bicara dengan mengubah alamat). /* Kedua fungsi ini membantu kita menulis ke chip EEPROM 24LC256 */ #define EEPROM_ADDR 0x50 void EEPROM_write(unsigned int addr, byte data) { int rdata = data; Wire.beginTransmission(EEPROM_ADDR); Wire.write((int)(addr >> 8)); // MSB Wire.write((int)(addr & 0xFF)); // LSB Wire.write(rdata); Kawat.endTransmisi(); //Serial.print("Tulis EEPROM: addr: "); //Serial.print(tambah); //Serial.print(" "); //Serial.println(data); penundaan (5); } byte EEPROM_read(tidak ditandatangani int addr) { byte data = 0xFF; Wire.beginTransmission(EEPROM_ADDR); Wire.write((int)(addr >> 8)); // MSB Wire.write((int)(addr & 0xFF)); // Kabel LSB.endTransmisi(); Wire.requestFrom(EEPROM_ADDR, 1); if (Wire.available()) data = Wire.read(); //Serial.print("EEPROM dibaca: addr: "); //Serial.print(tambah); //Serial.print(" "); //Serial.println(data); penundaan (5); mengembalikan data; } Anda dapat menghapus komentar pada baris Serial.print(…) jika Anda ingin melihat beberapa keluaran debug. Dalam fungsi arduinos setup() Anda memulai pustaka kawat dan dapat membaca nilai awal. Di sini saya membaca dalam dua byte (flags dan max_cc), dua kata (lean_min dan lean_max) dan array kata sd_max[3]: // membaca nilai yang disimpan di EEPROM Wire.begin(); flags=EEPROM_read(0); max_cc=EEPROM_read(1); lean_min=kata(EEPROM_read(3), EEPROM_read(2)); lean_max=kata(EEPROM_read(5), EEPROM_read(4)); for(int j=0;j<3;j) { sd_max[j]=word(EEPROM_read(7 j*2), EEPROM_read(6 j*2)); } Berikut sedikit kode yang menuliskannya 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)); for(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 saja.
Langkah 3: Sambungkan
Kawat ke beberapa veroboard untuk sekrup ke dalam kandang dan pekerjaan selesai.
Direkomendasikan:
Menambahkan Regenerasi di Brett's Arduino ASCD 18650 Smart Charger / Discharger: 3 Langkah
Menambahkan Regenerasi di Brett's Arduino ASCD 18650 Smart Charger / Discharger: Komunitas powerwall TESLA DIY berkembang pesat. Langkah terpenting dalam membangun powerwall adalah pengelompokan sel baterai dalam kemasan dengan kapasitas total yang sama. Hal ini memungkinkan untuk mengatur paket baterai secara seri dan dengan mudah menyeimbangkan
Cara Menambahkan Perpustakaan Eksternal ke Arduino: 3 Langkah
Cara Menambahkan Pustaka Eksternal ke Arduino: Pustaka menyediakan fungsi tambahan untuk sketsa yang kita buat. Fungsi-fungsi ini dapat membantu kita membuat sketsa lebih mudah. Ada banyak library yang bisa kita gunakan. Pustaka default Arduino IDE atau pustaka eksternal yang dibuat oleh seseorang atau komunitas. Di dalam
Generator Gelombang Sinus 3 Fasa Berbasis Arduino Karena: 5 Langkah
Generator Gelombang Sinus 3 Fasa Berbasis Arduino Due: tujuan dari pembagian ini adalah untuk membantu seseorang yang mencoba memanfaatkan kinerja Due yang lebih besar + kurangnya referensi + lembar data yang tidak membantu. proyek ini mampu menghasilkan gelombang sinus hingga 3 fasa @ 256 sampel / siklus pada frekuensi rendah (<1kHz) dan 16 detik
Think Geek Retro Bluetooth Handset Quick Weight Mod. (Karena Lebih Berat Lebih Baik): 3 Langkah
Think Geek Retro Bluetooth Handset Quick Weight Mod. (Karena Lebih Berat Lebih Baik): Tambahkan sedikit bobot ekstra ke Handset Bluetooth Think Geek Retro Anda. Karena berat = kualitas. Setidaknya di retro-land.Membutuhkan: 5 3/4 Inci pemancing ikanSenapan lem panasTeleponIni adalah mod yang mudah dan tidak akan memakan waktu lebih dari setengah jam.Teknologi yang lebih menyenangkan
Bagaimana Mendapatkan Ipod Touch Anda (atau Iphone Jika Anda Benar-Benar Mengacaukannya) untuk Berhenti Menerjang Karena Kekurangan Memori: 3 Langkah
Bagaimana Mendapatkan Ipod Touch Anda (atau Iphone Jika Anda Benar-Benar Mengacaukannya) untuk Berhenti Menerjang Karena Kekurangan Memori: Hai, Pengguna ipod touch dan iphone. Ok, jadi saya yakin kalian semua memiliki pemahaman yang sedikit mendasar tentang cara kerja apple ipod, bukan? Anda membuka aplikasi. Aplikasi itu akan digunakan di mana saja antara mungkin di ipod touch 1G, 5-30MB dari yang tersedia