Este artigo aborda o desenvolvimento de um projeto que utiliza um Sensor de Luminosidade LDR em conjunto com um Arduino Uno Minima para registrar dados de luminosidade em um módulo cartão SD.
Por meio dessa integração, é possível armazenar e analisar informações sobre luminosidade em diferentes ambientes, abrindo portas para uma variedade de aplicações, desde sistemas de iluminação automatizados até estudos de padrões de luminosidade em ambientes controlados.
Objetivos
O principal objetivo deste projeto é criar um sistema capaz de registrar dados de luminosidade em um ambiente utilizando um Sensor de Luminosidade LDR e armazenar essas informações em um cartão SD com arduino. Para atingir esse objetivo, são estabelecidos os seguintes objetivos específicos:
- Configurar o circuito eletrônico que inclui o Sensor de Luminosidade LDR, um Arduino Uno e um módulo de cartão Micro SD.
- Desenvolver o código necessário para que o Arduino realize leituras periódicas do Sensor de Luminosidade LDR.
- Estabelecer a comunicação entre o Arduino e o cartão Micro SD para armazenar os dados de luminosidade.
- Documentar o processo de montagem, programação e teste do sistema para permitir sua replicação por outros interessados.
Materiais Necessários
Para seguir com este tutorial, você irá precisar dos seguintes componentes:
- Arduino Uno R4 Minima
- Sensor de Luminosidade LDR 5 mm
- Resistor 10 KΩ
- Módulo Cartão Micro SD
- Cartão de Memória Micro SD
- Jumpers Macho-Macho
- Jumpers Macho-Fêmea
- Protoboard 400 pontos
- Cabo USB Tipo C
Além dos materiais citados acima, você também precisará ter a Arduino IDE 2.X instalado no seu computador ou ter uma conta do Arduino Web Editor.
Como funciona o Módulo Cartão Micro SD com Arduino?
Um módulo de cartão micro SD é um dispositivo usado para facilitar a comunicação entre uma placa com microcontroladores, como um Arduino, e um cartão micro SD. Ele atua como uma interface entre os dois, permitindo que o microcontrolador leia e grave dados no cartão micro SD.
Fisicamente, o módulo de cartão micro SD possui um slot onde o cartão micro SD é inserido. Ele também possui pinos que são conectados ao microcontrolador para estabelecer a comunicação.
Para interagir com o cartão micro SD, geralmente é utilizada uma biblioteca no microcontrolador, como a “SD.h” no Arduino. Esta biblioteca fornece funções convenientes para inicializar o cartão, ler e gravar arquivos, manipular diretórios, entre outras operações.
O microcontrolador envia comandos SPI para o módulo de cartão micro SD para executar operações como inicialização, leitura e gravação de dados. Esses comandos são interpretados pelo módulo e, em seguida, encaminhados para o cartão micro SD.
No geral, o módulo de cartão micro SD simplifica a comunicação entre o microcontrolador e o cartão micro SD, permitindo armazenamento externo em projetos onde essa funcionalidade é necessária.
Como funciona um LDR e como usar o sensor LDR?
Um LDR (ou Light Dependent Resistor) é um componente eletrônico que muda sua resistência elétrica em resposta à intensidade da luz incidente. Também conhecido como resistor dependente de luz ou fotoresistor, o LDR é geralmente composto por um material semicondutor especial, como o sulfeto de cádmio.
A operação de um LDR é bastante simples: quando exposto à luz, o material semicondutor dentro do LDR absorve fótons, o que causa a liberação de elétrons livres e, consequentemente, diminui a resistência elétrica do componente. Quanto mais intensa a luz, maior a quantidade de elétrons liberados e menor a resistência.
Em um circuito elétrico, o LDR é geralmente conectado em série ou em paralelo com outros componentes, como um resistor fixo. Dependendo da intensidade da luz incidente, a resistência do LDR mudará, afetando assim a corrente ou a tensão no circuito.
Devido à sua capacidade de detectar luz, os LDRs são comumente usados em circuitos de controle de iluminação, como sensores de luminosidade em lâmpadas automáticas, relógios digitais que ajustam o brilho com base na luz ambiente e em muitas outras aplicações onde a detecção de luz é necessária.
Circuito Eletrônico: gravação de dados no Cartão SD com Arduino
Abaixo está o esquema de ligações para o circuito de gravação de dados do sensor de luminosidade no cartão micro SD:
As conexões realizadas são as seguintes:
Módulo Cartão Micro SD <-> Arduino Uno R4 Minima
Pino CS <-> Pino 10
Pino SCK <-> Pino 13
Pino MOSI <-> Pino 11
Pino MISO <-> Pino 12
Pino VCC <-> Pino 5V
Pino GND <-> Pino GND
Sensor de Luminosidade LDR e Resistor 10k <-> Arduino Uno Minima
LDR (Terminal 1) <-> Pino 5V
LDR (Terminal 2) <-> Pino A0
Resistor 10k (Terminal 1) <-> Pino A0
Resistor 10k (Terminal 2) <-> Pino GND
Código
Antes de carregar o código para a placa é necessário instalar a biblioteca “SD.h”. Para isso, na Arduino IDE, vá em Gerenciador de Bibliotecas, pesquise por SD e clique em instalar.
Feita a instalação, já é possível carregar o código abaixo na Arduino Uno R4 Minima.
// Programa: Gravação de dados de leitura de sensor de luminosidade LDR com módulo cartão micro SD // Autor: Rosana Guse // Adiciona as bibliotecas utilizadas no código #include <SPI.h> #include <SD.h> // Define os pinos de ligação CS (Módulo micro SD) e LDR int pinoCS = 10; int pinoLDR = A0; //Define as variáveis utilizadas no código int numeroLeitura = 0; int leituraLDR = 0; void setup() { // Inicia a comunicação serial Serial.begin(9600); // Aguarda 1 segundo delay(1000); // Verifica a conexão com o módulo micro SD if (!SD.begin(pinoCS)) { Serial.println("Falha ao iniciar o cartão micro SD"); return; } Serial.println("Cartão micro SD inicializado com sucesso"); } void loop() { // Soma 1 na variável numeroLeitura numeroLeitura == numeroLeitura++; // Salva na variável leituraLDR o valor lido no pinoLDR leituraLDR = analogRead(pinoLDR); // Exibe a informação de leitura do LDR no monitor serial Serial.print("Leitura "); Serial.print(numeroLeitura); Serial.print(": "); Serial.println(leituraLDR); // Abre o arquivo.txt File data = SD.open("arquivo.txt", FILE_WRITE); // Salva as informação de leitura do LDR no arquivo.txt if (data) { data.print("Leitura "); data.print(numeroLeitura); data.print(": "); data.println(leituraLDR); data.close(); } else { Serial.println("Erro ao abrir o arquivo"); } // Aguarda 5 segundos para fazer uma nova leitura delay(5000); }
Para carregar o código acima, basta copiar e colá-lo na Arduino IDE, selecionar a placa Arduino UNO R4 Minima e clicar no botão carregar.
Funcionamento: gravação de dados no Cartão SD com Arduino
Para verificar o funcionamento do circuito de gravação de dados do sensor de luminosidade abra o Monitor Serial na Arduino IDE.
Para verificar se os dados foram salvos corretamente no cartão micro SD, retire o mesmo do módulo e insira em seu computador. Abra o arquivo chamado “arquivo.txt”:
Os valores de leitura do LDR são proporcionais à luz incidente. Quanto maior for a luminosidade incidente no sensor, maior serão os valores lidos.
Como estamos utilizando uma porta analógica do Arduino para realizar a leitura, os valores podem ir de 0 (mínimo) a 1023 (máximo).
Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.
Olá me chamo Luan!
Sou aluno do curso de programação em C/C++ de vocês, tbm sou estudante de eletromecanica no Senai Blumenau.
Estamos desenvolvendo um projeto, uma estação de reaproveitamento de filamento 3D, e uma das partes do projeto é medir o diametro do filamento e armazenar esses dados em um grafico para nos apresentar a garantia do tamanho do comprimento do filamento no rolo ea sua variação de diametro. Ja desenvolvemos o mecanismo que ira medir porem precisamos armazenar esses dados em um cartão SD bem similar a esse artigo acima.
Poderia nos ajudar nesse desenvolvimento?
Olá Luan.
Infelizmente nós podemos participar de projetos externos.
Nossos projetos estão limitados somente aos posts do blog.
Att.
Vitor Mattos.
MakerHero.