Índice:
Vídeo: EEPROM embutido do seu Arduino: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Neste artigo, vamos examinar a EEPROM interna em nossas placas Arduino. O que é uma EEPROM que alguns de vocês podem estar dizendo? Uma EEPROM é uma memória somente leitura programável apagável eletricamente.
É uma forma de memória não volátil que pode lembrar coisas com a alimentação desligada ou após reinicializar o Arduino. A beleza desse tipo de memória é que podemos armazenar dados gerados em um esboço de forma mais permanente.
Por que você usaria a EEPROM interna? Para situações em que os dados exclusivos de uma determinada situação precisam de um lar mais permanente. Por exemplo, armazenar o número de série exclusivo e a data de fabricação de um projeto comercial baseado em Arduino - uma função do esboço pode exibir o número de série em um LCD ou os dados podem ser lidos carregando um 'esboço de serviço'. Ou você pode precisar contar certos eventos e não permitir que o usuário os zere - como um hodômetro ou contador de ciclo de operação.
Etapa 1: Que tipo de dados podem ser armazenados?
Qualquer coisa que possa ser representada como bytes de dados. Um byte de dados é composto de oito bits de dados. Um bit pode estar ativado (valor 1) ou desativado (valor 0) e são perfeitos para representar números na forma binária. Em outras palavras, um número binário só pode usar zeros e uns para representar um valor. Assim, o binário também é conhecido como “base 2 ″, pois só pode usar dois dígitos.
Como pode um número binário com apenas o uso de dois dígitos representar um número maior? Ele usa muitos zeros e uns. Vamos examinar um número binário, digamos 10101010. Como este é um número de base 2, cada dígito representa 2 elevado à potência de x, de x = 0 em diante.
Passo 2:
Veja como cada dígito do número binário pode representar um número de base 10. Portanto, o número binário acima representa 85 na base 10 - o valor 85 é a soma dos valores na base 10. Outro exemplo - 11111111 em binário é igual a 255 na base 10.
Etapa 3:
Agora, cada dígito nesse número binário usa um ‘bit’ de memória e oito bits formam um byte. Devido às limitações internas dos microcontroladores em nossas placas Arduino, podemos armazenar apenas números de 8 bits (um byte) na EEPROM.
Isso limita o valor decimal do número entre zero e 255. Cabe a você decidir como seus dados podem ser representados com esse intervalo de números. Não deixe que isso o desencoraje - os números organizados da maneira correta podem representar quase tudo! Há uma limitação a ser observada - o número de vezes que podemos ler ou gravar na EEPROM. De acordo com o fabricante Atmel, a EEPROM é adequada para 100.000 ciclos de leitura / gravação (consulte a folha de dados).
Passo 4:
Agora que sabemos nossos bits e bytes, quantos bytes podem ser armazenados no microcontrolador do nosso Arduino? A resposta varia dependendo do modelo do microcontrolador. Por exemplo:
- Placas com um Atmel ATmega328, como Arduino Uno, Uno SMD, Nano, Lilypad, etc. - 1024 bytes (1 kilobyte)
- Placas com um Atmel ATmega1280 ou 2560, como a série Arduino Mega - 4096 bytes (4 kilobytes)
- Placas com um Atmel ATmega168, como o Arduino Lilypad original, Nano antigo, Diecimila etc - 512 bytes.
Se você não tiver certeza, dê uma olhada no índice de hardware do Arduino ou pergunte ao seu fornecedor de placa. Se você precisar de mais armazenamento EEPROM do que o que está disponível com seu microcontrolador, considere o uso de um I2C EEPROM externo.
Neste ponto, agora entendemos que tipo de dados e quanto pode ser armazenado em nosso EEPROM do Arduino. Agora é hora de colocar isso em ação. Conforme discutido anteriormente, há uma quantidade finita de espaço para nossos dados. Nos exemplos a seguir, usaremos uma placa Arduino típica com o ATmega328 com 1024 bytes de armazenamento EEPROM.
Etapa 5:
Para usar a EEPROM, é necessária uma biblioteca, portanto, use a seguinte biblioteca em seus esboços:
#include "EEPROM.h"
O resto é muito simples. Para armazenar um dado, usamos a seguinte função:
EEPROM.write (a, b);
O parâmetro a é a posição na EEPROM para armazenar o número inteiro (0 ~ 255) dos dados b. Neste exemplo, temos 1024 bytes de armazenamento de memória, portanto, o valor de a está entre 0 e 1023. Para recuperar um dado é igualmente simples, use:
z = EEPROM.read (a);
Onde z é um número inteiro para armazenar os dados da posição EEPROM a. Agora, para ver um exemplo.
Etapa 6:
Este esboço irá criar números aleatórios entre 0 e 255, armazená-los na EEPROM e, em seguida, recuperá-los e exibi-los no monitor serial. A variável EEsize é o limite superior do tamanho da EEPROM, então (por exemplo) seria 1024 para um Arduino Uno ou 4096 para um Mega.
// Demonstração EEPROM interna do Arduino
#incluir
int zz; int EEsize = 1024; // tamanho em bytes da EEPROM de sua placa
void setup ()
{Serial.begin (9600); randomSeed (analogRead (0)); } void loop () {Serial.println ("Escrevendo números aleatórios…"); para (int i = 0; i <EEsize; i ++) {zz = aleatório (255); EEPROM.write (i, zz); } Serial.println (); para (int a = 0; a <EEsize; a ++) {zz = EEPROM.read (a); Serial.print ("posição EEPROM:"); Serial.print (a); Serial.print ("contém"); Serial.println (zz); atraso (25); }}
A saída do monitor serial aparecerá, conforme mostrado na imagem.
Então aí está, outra maneira útil de armazenar dados com nossos sistemas Arduino. Embora não seja o tutorial mais emocionante, é certamente útil.
Esta postagem foi trazida a você por pmdway.com - tudo para fabricantes e entusiastas de eletrônicos, com entrega gratuita em todo o mundo.
Recomendado:
Suporte de imagem com alto-falante embutido: 7 etapas (com imagens)
Porta-fotos com alto-falante embutido: Este é um ótimo projeto para realizar no fim de semana, se você quiser fazer seu próprio alto-falante que pode conter fotos / cartões postais ou até mesmo sua lista de tarefas. Como parte da construção, usaremos um Raspberry Pi Zero W como o coração do projeto e um
Gerenciador de janelas embutido: 10 etapas
Embedded Window Manager: Este projeto mostra como implementar um gerenciador de janelas com janelas móveis sobrepostas em um microcontrolador embutido com um painel LCD e uma tela de toque. Existem pacotes de software disponíveis comercialmente para fazer isso, mas custam dinheiro e estão próximos
Armário embutido: 4 etapas
Armário embutido .: Em uma aura de êxtase, manter as coisas do lado de dentro é algo que é como um grande respingo de emoção. O nome 'Lock of Lock' é realmente uma parte envolvente de meus artigos diários, que é onipresente por causa de sua natureza, mas o que faz? Simples
Tutorial do ESP32 Bluetooth - Como usar o Bluetooth embutido do ESP32: 5 etapas
Tutorial do ESP32 Bluetooth | Como usar o Bluetooth embutido do ESP32: Olá pessoal, uma vez que a placa ESP32 vem com WiFi & Bluetooth ambos, mas para nossos projetos principalmente, geralmente usamos apenas Wifi, não usamos Bluetooth. Portanto, nestes instructables, vou mostrar como é fácil usar o Bluetooth do ESP32 & Para seus projetos básicos
WiFi Jammer com Powerbank embutido: 12 etapas
WiFi Jammer com Powerbank embutido: Olá amigo, neste vídeo eu vou te contar Como você pode fazer um jammer WiFi portátil com banco de energia embutido. Que pode ser usado para carregar seu celular e alimentar seu jammer WiFi.::Aviso::It é ilegal bloquear a rede WiFi de alguém. Estou fazendo