Índice:
Vídeo: Adicionando um EEPROM 24LC256 ao Arduino Prazo: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
O arduino devido carece de um eeprom. Este instrutível adiciona um e permite que você armazene valores em memória não volátil que sobreviverão a uma atualização de firmware do Arduino.
Etapa 1: breadboarding
Existem algumas instruções realmente boas aqui: https://www.hobbytronics.co.uk/arduino-external-eepromEu apenas as segui. A foto mostra o circuito breadboard. os pinos 1 a 4 e o pino 7 são aterrados. o pino 8 está conectado à alimentação de 3,3 V na placa devida. Os fios amarelo (pino 6) e branco (pino 5) conectados aos pinos i2c SDA (dados) e SCL (relógio) na placa devida (numerados 21 e 20)
Etapa 2: Código de tempo
Aqui estão alguns trechos de código que uso em meus esboços. Em primeiro lugar, inclua os cabeçalhos da biblioteca Wire em algum lugar próximo ao topo do seu esboço: / * Use 24LC256 EEPROM para salvar as configurações * / #include Em seguida, adicione algumas funções para ler e gravar bytes da EEPROM (eu só me importo com bytes individuais, mas há um recurso de gravação de página no chip também). Observe que há uma definição de macro de 0x50.. este é o endereço do chip no barramento i2c (você pode conectar mais de um dispositivo i2c em um barramento i2c e selecionar com qual deseja falar alterando o endereço). / * Essas duas funções nos ajudam a gravar no chip EEPROM 24LC256 * / #define EEPROM_ADDR 0x50 void EEPROM_write (sem sinal 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: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); atraso (5); } byte EEPROM_read (endereço interno não assinado) {byte data = 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 read: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); atraso (5); dados de retorno; } Você pode descomentar as linhas Serial.print (…) se quiser ver alguma saída de depuração. Na função arduinos setup () você inicia a biblioteca de fios e pode ler os valores iniciais. Aqui eu li em dois bytes (flags e max_cc), duas palavras (lean_min e lean_max) e um array de palavras sd_max [3]: // ler os valores salvos no EEPROM Wire.begin (); sinalizadores = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = palavra (EEPROM_read (3), EEPROM_read (2)); lean_max = palavra (EEPROM_read (5), EEPROM_read (4)); para (int j = 0; j <3; j) {sd_max [j] = palavra (EEPROM_read (7 j * 2), EEPROM_read (6 j * 2)); } Aqui está o trecho de código que os grava na EEPROM: EEPROM_write (0, sinalizadores); 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)); para (int j = 0; j <3; j) {EEPROM_write (6 j * 2, lowByte (sd_max [j])); EEPROM_write (7 j * 2, highByte (sd_max [j])); } É sobre isso realmente.
Etapa 3: conecte-o
Ligue-o a algum veroboard para aparafusar em um gabinete e terminar o trabalho.
Recomendado:
Adicionando regeneração no Arduino ASCD 18650 Smart Charger / Discharger de Brett: 3 etapas
Adicionando regeneração ao carregador / descarregador inteligente Arduino ASCD 18650 de Brett: A comunidade de powerwall DIY TESLA está crescendo rapidamente. A etapa mais importante na construção de um powerwall é o agrupamento das células da bateria em pacotes com igual capacidade total. Isso permite configurar as baterias em série e facilmente equilibrar
Registrador de ECG - um monitor cardíaco vestível para aquisição e análise de dados de longo prazo: 3 etapas
ECG Logger - um monitor cardíaco vestível para aquisição e análise de dados de longo prazo: Primeira versão: outubro de 2017 Última versão: 1.6.0Status: StableDifficulty: HighPrerequisite: Arduino, Programming, Hardware buildingUnique repository: SF (veja os links abaixo) Suporte: Somente fórum, nenhum registrador PMECG é um monitor cardíaco vestível por muito tempo
Gerador de onda senoidal trifásico baseado no Arduino Prazo: 5 etapas
Gerador de onda senoidal trifásica baseado no Arduino Due: o objetivo deste compartilhamento é ajudar alguém que está tentando utilizar o melhor desempenho de Due + falta de referência + folha de dados não útil. Este projeto é capaz de gerar onda senoidal trifásica @ 256 amostras / ciclo em baixa frequência (< 1kHz) e 16 s
Jogo de memorização de curto prazo: 7 etapas
Jogo de memorização de curto prazo: Construa seu próprio jogo de memorização baseado em Arduino! Neste jogo, um LED RGB piscará 3 cores aleatórias no início, você precisará lembrar a cor de cada uma. Veja onde isso vai dar? Você usará um potenciômetro para alterar o segundo LED RGB e p
Adicionando placas personalizadas ao IDE Arduino: 3 etapas
Adicionando placas personalizadas ao Arduino IDE: A versão 1.6.4 do Arduino IDE introduziu o suporte oficial para adicionar placas de terceiros compatíveis com o Arduino ao Arduino Board Manager. Este suporte de adição é uma ótima notícia, pois permite aos usuários adicionar rapidamente placas personalizadas com apenas um clique