Turinys:
Video: 24LC256 EEPROM pridėjimas prie „Arduino Due“: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Dėl „arduino“trūksta eepromo. Ši instrukcija prideda vieną ir leidžia išsaugoti vertes nepastovioje atmintyje, kuri išliks arduino programinės įrangos atnaujinimo metu.
1 žingsnis: „Breadboarding“
Čia yra keletas tikrai gerų instrukcijų: https://www.hobbytronics.co.uk/arduino-external-eeprom Aš ką tik jų laikiausi. Nuotraukoje parodyta grandinė, uždėta ant lentos. kaiščiai nuo 1 iki 4 ir kaištis 7 yra įžeminti. 8 kaištis yra prijungtas prie 3.3V maitinimo šaltinio tinkamoje plokštėje. Geltoni (6 kaištis) ir balti (5 kaiščiai) laidai, prijungti prie i2c SDA (duomenys) ir SCL (laikrodžio) kaiščių tinkamoje plokštėje (numeriai 21 ir 20)).
2 žingsnis: kodo laikas
Štai keletas kodo fragmentų, kuriuos naudoju savo eskizuose. Pirma, įtraukite „Wire“bibliotekos antraštes kažkur netoli eskizo viršaus: / * Naudokite 24LC256 EEPROM, kad išsaugotumėte nustatymus * / #include Tada pridėkite kai kurias funkcijas skaityti ir rašyti baitus iš EEPROM (man rūpi tik atskiri baitai, bet yra puslapio rašymo funkcija mikroschemoje). Atkreipkite dėmesį, kad yra makrokomandos apibrėžimas 0x50.. tai yra lusto adresas „i2c“magistralėje (galite prijungti daugiau nei vieną „i2c“daiktą „i2c“magistralėje ir pasirinkti, su kuriuo norite kalbėti, pakeisdami adresą). / * Šios dvi funkcijos padeda mums rašyti į 24LC256 EEPROM mikroschemą */ #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); Wire.endTransmission (); //Serial.print ("EEPROM write: addr: "); //Serijinis.spaudas (adresas); // Serijos.spaudas (""); //Serial.println(data); vėlavimas (5); } baitas EEPROM_read (unsigned int addr) {baitų duomenys = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); jei (Wire.available ()) duomenys = Wire.read (); //Serial.print ("EEPROM read: addr: "); //Serijinis.spaudas (adresas); // Serijos.spaudas (""); //Serial.println(data); vėlavimas (5); grąžinti duomenis; } Galite atšaukti eilutės Serial.print (…) komentarus, jei norite matyti derinimo rezultatus. Naudodami „arduinos setup“() funkciją, paleidžiate laidų biblioteką ir galite skaityti pradines reikšmes. Čia aš perskaičiau du baitus (vėliavos ir max_cc), du žodžius (liesos_min ir liesos_max) ir žodžių masyvą sd_max [3]: // skaityti EEPROM Wire.begin () išsaugotas reikšmes; vėliavos = EEPROM_read (0); max_cc = EEPROM_read (1); liesas_min = žodis (EEPROM_read (3), EEPROM_read (2)); lean_max = žodis (EEPROM_read (5), EEPROM_read (4)); už (int j = 0; j <3; j) {sd_max [j] = žodis (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Štai kodo bitas, kuris juos įrašo į EEPROM: EEPROM_write (0, vėliavos); EEPROM_write (1, max_cc); EEPROM_write (2, lowByte (lean_min)); EEPROM_write (3, didelis baitas (liesas_min)); EEPROM_write (4, lowByte (lean_max)); EEPROM_write (5, didelis baitas (liesas_max)); už (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, didelis baitas (sd_max [j])); } Tikrai apie tai.
3 žingsnis: prijunkite laidą
Prijunkite jį prie kai kurių skydelių, kad įsuktumėte į korpusą ir atliktumėte darbus.
Rekomenduojamas:
Skaitmeninio ekrano pridėjimas prie seno ryšio imtuvo: 6 žingsniai (su paveikslėliais)
Pridėkite skaitmeninį ekraną prie seno ryšio imtuvo: Vienas iš senesnės ryšio įrangos trūkumų yra tai, kad analoginis ratukas nėra labai tikslus. Jūs visada spėliojate, kokį dažnį gaunate. AM arba FM juostose tai paprastai nėra problema, nes paprastai
Naudojimo monitoriaus pridėjimas prie namų termostato: 4 žingsniai
Naudojimo monitoriaus pridėjimas prie namų termostato: seniai, labai seniai, buvo toks dalykas kaip " protingas " termostatas, turėjau namų termostatą, kuris kasdien (manau - gal kas savaitę) iš viso davė " laiku " mano šildymo ir oro kondicionavimo sistemai. Viskas pasikeitė
Mikrofono pridėjimas prie ausinių poros: 6 žingsniai
Mikrofono pridėjimas prie ausinių poros: Ar turite keletą ausinių, kurios jums tikrai patinka, kaip jos skamba, bet neturi mikrofono? Vykdykite šį paprastą nurodymą ir turėsite mėgstamas ausines, paruoštas naudoti su mobiliuoju telefonu. čia aprašyta procedūra m
Naujų bibliotekų pridėjimas prie KICAD: 6 žingsniai
Naujų bibliotekų įtraukimas į KICAD: „KiCad“yra nemokamas programinės įrangos paketas elektroninio dizaino automatizavimui (EDA). Tai palengvina elektroninių grandinių schemų kūrimą ir jų konvertavimą į PCB dizainą. Jame yra integruota aplinka scheminiam fiksavimui ir PCB išdėstymui
Greito įkrovimo funkcijos pridėjimas prie „Powerbank“: 5 žingsniai (su nuotraukomis)
Greito įkrovimo funkcijos pridėjimas prie „Powerbank“: Šiame projekte parodysiu, kaip pakeičiau įprastą „Powerbank“, kad sutrumpinčiau jo juokingai ilgą įkrovimo laiką. Pakeliui kalbėsiu apie „powerbank“grandinę ir kodėl mano „powerbank“akumuliatorius yra šiek tiek ypatingas. Paimkime š