Obsah:
Video: Přidání 24LC256 EEPROM k Arduino: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Arduino due postrádá eeprom. Tento instruktáž přidává jeden a umožňuje vám ukládat hodnoty do energeticky nezávislé paměti, která přežije aktualizaci firmwaru arduino.
Krok 1: Breadboarding
Zde jsou některé opravdu dobré pokyny: https://www.hobbytronics.co.uk/arduino-external-eeprom Právě jsem je následoval. Na fotografii je zobrazen obvod s obloženým chlebem. kolíky 1 až 4 a pin 7 jsou uzemněny. kolík 8 je připojen k napájení 3,3 V na desce. Žlutý (kolík 6) a bílý (kolík 5) vodiče připojený k pinům i2c SDA (data) a SCL (hodiny) na desce splatnosti (číslované 21 a 20).
Krok 2: Čas kódu
Zde je několik úryvků kódu, které používám ve svých skicách. Nejprve zahrňte záhlaví knihovny Wire někde poblíž horní části náčrtu: / * Použijte 24LC256 EEPROM k uložení nastavení * / #include Poté přidejte některé funkce pro čtení a zápis bajtů z EEPROM (starám se pouze o jednotlivé bajty, ale existuje funkce zápisu stránky do čipu). Všimněte si, že existuje makro definice 0x50.. toto je adresa čipu na sběrnici i2c (na sběrnici i2c můžete připojit více než jednu věc i2c a změnit adresu, se kterou chcete mluvit, změnou adresy). / * Tyto dvě funkce nám pomáhají zapisovat na čip 24LC256 EEPROM */ #define EEPROM_ADDR 0x50 void EEPROM_write (unsigned int addr, byte data) {int rdata = data; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (adresa >> 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); zpoždění (5); } byte EEPROM_read (bez znaménka int addr) {byte data = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (adresa >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); if (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM read: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); zpoždění (5); vrátit data; } Pokud chcete vidět výstup ladění, můžete odkomentovat řádky Serial.print (…). Ve funkci arduinos setup () spustíte drátovou knihovnu a můžete číst počáteční hodnoty. Zde jsem četl ve dvou bajtech (vlajky a max_cc), dvě slova (lean_min a lean_max) a pole slov sd_max [3]: // číst hodnoty uložené v EEPROM Wire.begin (); flags = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = slovo (EEPROM_read (3), EEPROM_read (2)); lean_max = slovo (EEPROM_read (5), EEPROM_read (4)); pro (int j = 0; j <3; j) {sd_max [j] = slovo (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Zde je bit kódu, který je zapíše do EEPROM: EEPROM_write (0, příznaky); 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)); pro (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, highByte (sd_max [j])); } O to opravdu jde.
Krok 3: Zapojte jej
Připojte jej k veroboardu, aby se našrouboval do skříně, a práce jsou hotové.
Doporučuje:
Přidání funkce aktuálního limitu do Buck/Boost Converter: 4 kroky (s obrázky)
Přidání funkce omezení proudu do převodníku Buck/Boost: V tomto projektu se blíže podíváme na běžný převodník buck/boost a vytvoříme malý dodatečný obvod, který k němu přidá funkci omezení proudu. S ním lze měnič buck/boost použít stejně jako variabilní laboratorní napájecí zdroj. Le
Přidání funkce WiFi AutoConnect do stávající skici: 3 kroky
Přidání funkce WiFi AutoConnect do stávající skici: V nedávném příspěvku jsme se dozvěděli o funkci AutoConnect pro desky ESP32/ESP8266 a jedna z položených otázek byla o přidání do stávajících skic. V tomto příspěvku se naučíme, jak to udělat, a použijeme projekt síťového času
Přidání regenerace v inteligentní nabíječce / vybíječi Arduino ASCD 18650 společnosti Brett: 3 kroky
Přidání regenerace do inteligentní nabíječky / vybíječe Arduino ASCD 18650 od společnosti Brett: Komunita Powerwall společnosti DIY TESLA se rychle rozrůstá. Nejdůležitějším krokem při stavbě powerwallu je seskupení bateriových článků v balíčcích se stejnou celkovou kapacitou. To umožňuje sériové nastavení baterií a snadné vyvážení
Přidání rádiového přijímače do domácího audio systému: 3 kroky
Přidání rádiového přijímače k domácímu audio systému: V dnešní době s internetovým rádiem téměř nepoužíváme normální (anténní?) Rádio. Řekl bych, že je nejlepší čas mít doma k dispozici staré dobré spolehlivé rádio a poslouchat příjemnou hudbu a novinky Corona :) Používám reproduktory k počítači jako hlavní domácí zvukový systém
Přidání vlastních desek do Arduino IDE: 3 kroky
Přidání vlastních desek do Arduino IDE: Verze 1.6.4 Arduino IDE zavedla oficiální podporu pro přidávání desek kompatibilních s arduino třetích stran do Arduino Board Manager. Tato podpora přidávání je skvělá zpráva, protože umožňuje uživatelům rychle přidávat vlastní desky jediným kliknutím