Mundarija:
Video: Arduino Duega 24LC256 EEPROM qo'shish: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Arduino tufayli eeprom yo'q. Bu ko'rsatma bittasini qo'shadi va arduino dasturiy ta'minotining yangilanishidan omon qoladigan qiymatlarni doimiy xotirada saqlashga imkon beradi.
1 -qadam: Breadboard
Bu erda juda yaxshi ko'rsatmalar bor: https://www.hobbytronics.co.uk/arduino-external-eeprom Men ularga ergashdim, rasmda taxtali sxemasi ko'rsatilgan. pinlar 1 dan 4 gacha va pin 7 yerga ulangan. pin 8 tegishli kartadagi 3.3V quvvat manbaiga ulangan, sariq karta (pin 6) va oq (pin 5) simlar i2c SDA (ma'lumotlar) va SCL (soat) pinlariga ulangan (21 va 20 raqamli).).
2 -qadam: Kod vaqti
Mana men eskizlarimda ishlatadigan ba'zi kod parchalari. Birinchidan, eskizning yuqori qismiga yaqin Wire kutubxonasi sarlavhalarini kiriting: / * Sozlamalarni saqlash uchun 24LC256 EEPROM -dan foydalaning * / #include Keyin EEPROM -dan baytlarni o'qish va yozish uchun ba'zi funktsiyalarni qo'shing (men faqat alohida baytlarga g'amxo'rlik qilaman, lekin chipda sahifa yozish xususiyati ham). E'tibor bering, 0x50 makro ta'rifi bor.. bu i2c avtobusidagi chipning manzili (siz i2c avtobusida bir nechta i2c narsalarini ulashingiz va manzilni o'zgartirish orqali qaysi biri bilan gaplashmoqchi ekanligingizni tanlashingiz mumkin). / * Bu ikkita funktsiya bizga 24LC256 EEPROM chipiga yozishga yordam beradi */ #define EEPROM_ADDR 0x50 bo'sh EEPROM_write (imzosiz int addr, bayt ma'lumotlari) {int rdata = ma'lumotlar; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM yozish: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(ma'lumotlar); kechikish (5); } bayt EEPROM_read (imzosiz int addr) {bayt ma'lumotlari = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); if (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM o'qildi: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(ma'lumotlar); kechikish (5); ma'lumotlarni qaytarish; } Agar siz disk raskadrovka chiqishini ko'rishni xohlasangiz, Serial.print (…) satrlariga izoh qoldirishingiz mumkin. Arduinos setup () funktsiyasida siz simli kutubxonani ishga tushirasiz va uni dastlabki qiymatlarda o'qiy olasiz. Bu erda men ikki baytda (bayroqlar va max_cc), ikkita so'zda (lean_min va lean_max) va sd_max so'zlar majmuasini [3] o'qidim: // EEPROM Wire.begin () da saqlangan qiymatlarni o'qish; bayroqlar = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = so'z (EEPROM_read (3), EEPROM_read (2)); lean_max = so'z (EEPROM_read (5), EEPROM_read (4)); uchun (int j = 0; j <3; j) {sd_max [j] = so'z (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Mana, ularni EEPROMga yozadigan kod biti: EEPROM_write (0, bayroqlar); 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)); uchun (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, highByte (sd_max [j])); } Bu, albatta.
3 -qadam: simni ulang
Qoplamani va bajarilgan ishlarni burab qo'yish uchun uni veroboardga mahkamlang.
Tavsiya:
Diskordda interaktiv botni qanday qo'shish mumkin: 6 qadam
Discord -ga interaktiv botni qanday qo'shish kerak: Men bu darslikda bir nechta komando bilan ishlaydigan interaktiv botni qanday qilishni ko'rsataman. Discord-bu Skype/Whats-app ijtimoiy media ilovasi bo'lib, u geymerlarni birlashtiradi. Ularning shaxsiy kanali bo'lishi mumkin, har bir a'zoning qaysi o'yinini tekshiring
Interfaccia Con LCD Tramite Wifi M4 Qo'shish: 5 qadam
Interfaccia Con LCD Tramite Wifi M4 Qo'shish: Dvigatelni boshqarish uchun LCD displeyli tramitli smartfonlar, shuningdek, Drivemall-dan foydalanish uchun qo'llanma
Brett Arduino ASCD 18650 aqlli zaryadlovchi / tushirish qurilmasiga regeneratsiyani qo'shish: 3 qadam
Brett Arduino ASCD 18650 aqlli zaryadlovchi / zaryadlovchi qurilmasiga regeneratsiyani qo'shish: DIY TESLA quvvat devori tez o'sib bormoqda. Quvvat devorini qurishda eng muhim qadam - akkumulyator hujayralarini jami sig'imi teng bo'lgan paketlarga guruhlash. Bu batareyalar to'plamini ketma -ket sozlash va osongina balanslash imkonini beradi
Arduino -ga tashqi kutubxonani qanday qo'shish mumkin: 3 qadam
Arduino -ga tashqi kutubxonani qanday qo'shish mumkin: Kutubxona biz yaratgan eskiz uchun qo'shimcha funktsiyalarni taqdim etadi. Bu funktsiyalar bizga eskizlarni osonlashtirishga yordam beradi, biz foydalanishingiz mumkin bo'lgan ko'plab kutubxonalar mavjud. Arduino IDE standart kutubxonasi yoki tashqi kutubxona kimdir yoki hamjamiyat tomonidan yaratilgan. Bunda
Arduino IDE -ga maxsus taxtalarni qo'shish: 3 qadam
Arduino IDE -ga maxsus taxtalarni qo'shish: Arduino IDE -ning 1.6.4 -versiyasi Arduino boshqaruv menejeriga uchinchi tomon arduino mos keladigan taxtalarni qo'shish uchun rasmiy yordamni taqdim etdi. Bu qo'shimchani qo'llab -quvvatlash - bu ajoyib yangilik, chunki bu foydalanuvchilarga bir marta bosish bilan maxsus taxtalarni qo'shish imkonini beradi