Përmbajtje:
Video: Shtimi i një EEPROM 24LC256 në Arduino për shkak: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Arduino -s i mungon një eeprom. Ky udhëzues shton një dhe ju lejon të ruani vlerat në kujtesën jo të paqëndrueshme që do t'i mbijetojnë një azhurnimi të firmware arduino.
Hapi 1: Breadboarding
Ka disa udhëzime vërtet të mira këtu: https://www.hobbytronics.co.uk/arduino-external-eeprom Unë sapo i kam ndjekur ato. Fotografia tregon qarkun e pjatës. kunjat 1 deri në 4 dhe kunja 7 janë të bazuara. pin 8 është i lidhur me furnizimin me 3.3V në tabelën e duhur. Telat e verdhë (pin 6) dhe të bardhë (pin 5) të lidhur me kunjat i2c SDA (të dhëna) dhe SCL (orë) në tabelën e duhur (me numër 21 dhe 20)
Hapi 2: Koha e Kodit
Këtu janë disa fragmente të kodit që përdor në skicat e mia. Së pari, përfshini titujt e bibliotekës Wire diku afër krye të skicës tuaj: / * Përdorni 24LC256 EEPROM për të ruajtur cilësimet * / #include Pastaj shtoni disa funksione për të lexuar dhe shkruar byte nga EEPROM (më interesojnë vetëm bajtët individualë, por ka një veçoria e shkrimit të faqes gjithashtu në çip). Vini re se ekziston një përkufizim makro i 0x50.. kjo është adresa e çipit në autobusin i2c (mund të lidhni më shumë se një gjë i2c në një autobus i2c dhe zgjidhni atë me të cilën dëshironi të flisni duke ndryshuar adresën). / * Këto dy funksione na ndihmojnë të shkruajmë në çipin 24LC256 EEPROM */ #define EEPROM_ADDR 0x50 void EEPROM_write (int addr pa shenjë, të dhëna byte) {int rdata = të dhëna; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM shkruaj: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); vonesa (5); } byte EEPROM_read (int addr pa shenjë) {byte data = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Tela. Kërkohet nga (EEPROM_ADDR, 1); nëse (Wire.available ()) të dhënat = Wire.read (); //Serial.print("EEPROM lexo: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); vonesa (5); ktheni të dhënat; } Mund të mos komentoni linjat Serial.print (…) nëse doni të shihni ndonjë dalje të korrigjimit. Në funksionin arduinos setup () ju filloni bibliotekën me tela dhe mund të lexoni në vlerat fillestare. Këtu lexova në dy byte (flamuj dhe max_cc), dy fjalë (lean_min dhe lean_max) dhe një grup fjalësh sd_max [3]: // lexo vlerat e ruajtura në EEPROM Wire.begin (); flamuj = EEPROM_lex (0); max_cc = EEPROM_lex (1); lean_min = fjalë (EEPROM_lexim (3), EEPROM_lexim (2)); lean_max = fjalë (EEPROM_lexim (5), EEPROM_lexim (4)); për (int j = 0; j <3; j) {sd_max [j] = fjalë (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Këtu është një pjesë e kodit që i shkruan ato në EEPROM: EEPROM_write (0, flamuj); EEPROM_shkruaj (1, max_cc); EEPROM_shkruaj (2, lowByte (pak_e min)); EEPROM_shkruaj (3, highByte (pakët_min)); EEPROM_shkruaj (4, lowByte (lean_max)); EEPROM_shkruaj (5, highByte (lean_max)); për (int j = 0; j <3; j) {EEPROM_shkruaj (6 j*2, lowByte (sd_max [j])); EEPROM_shkruaj (7 j*2, highByte (sd_max [j])); } Ka të bëjë me të vërtetë.
Hapi 3: Lidheni atë
Lidheni atë në një pllakë veroboard për ta vidhosur në një rrethim dhe punët e kryera.
Recommended:
Shtimi i një funksioni të ngarkimit të shpejtë në një Powerbank: 5 hapa (me fotografi)
Shtimi i një funksioni të ngarkimit të shpejtë në një Powerbank: Në këtë projekt do t'ju tregoj se si modifikova një bankë të zakonshme të energjisë në mënyrë që të shkurtoja kohën e saj të ngarkimit qesharake të gjatë. Gjatë rrugës do të flas për qarkun e bankës së energjisë dhe pse pakoja e baterive të bankës sime të energjisë është pak e veçantë. Le të zbresim
Shtimi i një linje në një boombox me një kasetë: 5 hapa
Shtimi i një linje në një Boombox Me një Tape Player: ** Ashtu si me të gjitha udhëzimet, ju merrni artikullin / shëndetin tuaj / çfarëdo në duart tuaja kur përpiqeni! Kini parasysh tensionet e larta në pllakën kryesore të energjisë, hekurin e saldimit të nxehtë, etj. Të qenit i kujdesshëm dhe i durueshëm do t'ju sjellë sukses. ** Th
3 Faza Gjenerator Vala Sinus Bazuar në Arduino Për shkak: 5 Hapa
3 Faza Gjenerator Vala Sinus Bazuar në Arduino Due: qëllimi i këtij aksioni është të ndihmojë dikë që po përpiqet të përdorë performancën më të madhe të Due + mungesë referencash + fletë të dhënash jo të dobishme. Ky projekt është në gjendje të gjenerojë deri në 3 faza sinusale @ 256 mostra / cikël me frekuencë të ulët (< 1kHz) dhe 16 sekonda
Shtimi i një linje direkte në stereo të makinës suaj për një luajtës IPod/mp3: 5 hapa
Shtimi i një linje të drejtpërdrejtë në Stereo të makinës suaj për një IPod/mp3 Player: Ky udhëzues do t'ju tregojë se si të shtoni një hyrje ndihmëse, si një prizë kufje, në makinën tuaj në mënyrë që të mund të dëgjoni një iPod/mp3 player/GPS ose çdo gjë që ka një linjë përmes stereo makinave tuaja. Ndërsa unë do ta shtoj në Chevy Subu tim '99
Shtimi i kujtesës së pakufizuar në një EVO T20 me NT4e për të bërë një kompjuter të dobishëm: 7 hapa
Shtimi i kujtesës së pakufizuar në një EVO T20 Me NT4e për të bërë një kompjuter të dobishëm: Compaq EVO T20 Klientët e hollë mund të merren për më pak se 50 dollarë dhe janë në thelb mini kompjuterë të kufizuar, që me pak softuer të disponueshëm lirshëm dhe disa konfigurime mund të bëhen kompjuter i përdorshëm i heshtur i tensionit të ulët desktop. Çështja kryesore