Índice:
- Suprimentos
- Etapa 1: Construindo Seu Circuito:
- Etapa 2: Programando Seu Arduino:
- Etapa 3: Programar Python para representar graficamente dados do Arduino:
- Etapa 4: Programa final para verificar a intensidade da luz em uma sala
- Etapa 5: Resultado:
Vídeo: Plotagem de intensidade de luz usando Arduino e a biblioteca mestre de Arduino do Python: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Arduino sendo uma ferramenta econômica, mas altamente eficiente e funcional, programá-lo em Embedded C torna o processo de fazer projetos tedioso! O módulo Arduino_Master do Python simplifica isso e nos permite realizar cálculos, remover valores de lixo e traçar um gráfico para uma representação visual dos dados.
Se você ainda não conhece este módulo, instale-o usando o comando pip install Arduino_Master
Não se preocupe se você não sabe como usar este módulo, visite este link => Arduino_Master
No entanto, o código para este projeto estará sempre disponível neste instrutível.
Suprimentos
Para este projeto, você precisará do seguinte:
- Um Arduino
- Um Resistor Dependente de Luz (LDR) e
- Python 3 instalado em seu computador.
Etapa 1: Construindo Seu Circuito:
Estaremos usando o pino A1 do Arduino para obter dados de entrada. Você também pode usar os pinos 5V e GND do Arduino em vez da bateria. Faça a conexão da seguinte maneira:
- Conecte uma extremidade do LDR ao terminal positivo de uma bateria de 5 V ou ao pino de 5 V do Arduino.
- Conecte a outra extremidade do LDR em paralelo ao pino A1 e terminal negativo da bateria ou pino GND do Arduino.
- Use um resistor para garantir que toda a corrente não flua para o GND, o que resultaria em não obter um sinal forte o suficiente para detectar no terminal A1 do Arduino. (Estou usando um resistor de 10k ohms).
Etapa 2: Programando Seu Arduino:
O módulo Arduino_Master usa o Serial Monitor do Arduino para enviar e receber dados. A vantagem de usar este módulo é que, depois de programar seu Arduino, você pode alterar o programa python sozinho para diferentes projetos, uma vez que programar em python é comparativamente mais fácil!
Código:
// A variável LDR_1 é usada para denotar o pino A1 do Arduino.
int LDR_1 = A1;
// Os dados recebidos de A1 serão armazenados em LDR_Value_1.
float LDR_Value_1;
Entrada de string;
void setup ()
{pinMode (LDR_1, INPUT); // LDR_1 é definido como um pino INPUT. Serial.begin (9600); // A taxa de transmissão de comunicação é definida em 9600.}
void loop ()
{if (Serial.available ()> 0) // se alguma entrada estiver disponível no monitor serial, prossiga. {input = Serial.readString (); // Leia a entrada como uma string. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) é o fator de conversão para obter o valor em Volts. Serial.println (LDR_Value_1); // Se a entrada for igual a "DATA", então leia a entrada de LDR_1 e imprima no Monitor Serial. } else int i = 0; // se a entrada não for igual a "DATA", não faça nada! }
}
Etapa 3: Programar Python para representar graficamente dados do Arduino:
Todo e qualquer LDR teria seus próprios valores de resistência e temos que lembrar que nenhum componente eletrônico é exatamente idêntico em operação. Portanto, primeiro temos que encontrar a voltagem em diferentes intensidades de luz.
Carregue o seguinte programa em seu IDE python e execute-o:
Faça isso para diferentes intensidades de luz e, usando o gráfico, tire uma conclusão, digamos, por exemplo, se a intensidade for menor que 1, a sala está muito escura. Para intensidades entre 1 e 2, a sala está consideravelmente escura. Para intensidade superior a 2, a luz é ligada.
# Importing Arduino_Master module
de importação Arduino_Master *
# coletando dados
dados = filtro (ardata (8, compressão = Falso, dinâmico = Verdadeiro, msg = "DATA", linhas = 30), tipo_esperado = 'num', limite = [0, 5])
# limite é definido como 5, pois estamos usando uma bateria de 5V.
# Traçando os valores
Gráfico (dados, stl = 'dark_background', label = 'Light Intensity')
Etapa 4: Programa final para verificar a intensidade da luz em uma sala
Depois de chegar a uma conclusão a partir dos dados obtidos, carregue o programa a seguir e certifique-se de alterar os limites de acordo com sua conclusão.
# Importing Arduino_Master module
from Arduino_Master import # collection data = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), expect_type = 'num', limit = [0, 5]) #classifying data com base na conclusão info = para i no intervalo (len (dados)): intensidade = dados se intensidade 1 e intensidade = 2: info.append ('Light ON') # Traçando o gráfico. compGraph (data, info, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')
Etapa 5: Resultado:
O programa levaria um ou dois minutos para ser executado, pois você está lendo 50 valores instantâneos do Arduino.
Se você deseja acelerar o processo, tente alterar o parâmetro de linhas da função ardata. Mas lembre-se de que quanto menores forem as observações, menor será a qualidade dos dados.
Nota: Se o gráfico completo na foto acima não estiver visível, consulte o gráfico acima da seção Introdução.
Recomendado:
Medição da intensidade da luz usando BH1715 e Raspberry Pi: 5 etapas
Medição da intensidade da luz usando BH1715 e Raspberry Pi: Ontem estávamos trabalhando em monitores LCD e, ao trabalhar neles, percebemos a importância do cálculo da intensidade da luz. A intensidade da luz não é apenas importante no domínio físico deste mundo, mas tem seu papel bem dito no biológico
Plotagem de dados remotos simples usando Android / Arduino / PfodApp: 6 etapas
Plotagem de dados remotos simples usando Android / Arduino / PfodApp: Para plotar dados em relação à data / hora usando apenas os millis do Arduino (), consulte este InstructableArduino Data / hora Plotting / Logging usando Millis () e PfodAppThis Instructable mostra como plotar os dados do sensor Arduino em seu Android móvel e capturá-lo para
Computação de intensidade de luz usando BH1715 e Arduino Nano: 5 etapas
Computação de intensidade de luz usando BH1715 e Arduino Nano: Ontem estávamos trabalhando em monitores LCD e, ao trabalhar neles, percebemos a importância do cálculo de intensidade de luz. A intensidade da luz não é apenas importante no domínio físico deste mundo, mas tem seu papel bem dito no biológico
Computação de intensidade de luz usando BH1715 e partícula de fóton: 5 etapas
Computação da intensidade da luz usando BH1715 e partícula de fóton: Ontem estávamos trabalhando em monitores LCD e, enquanto trabalhamos neles, percebemos a importância do cálculo da intensidade da luz. A intensidade da luz não é apenas importante no domínio físico deste mundo, mas tem seu papel bem dito no biológico
Economizador de energia de intensidade de luz usando fotocélulas e termistores: 6 etapas
Economizador de energia de intensidade de luz usando fotocélulas e termistores: Este instrutível é projetado para ensiná-lo a economizar energia alterando a intensidade da luz usando fotocélulas e termistores. Mostraremos como construir o circuito e codificar o Arduino usando MATLAB