CURSO DE ARDUINO E MICROCONTROLADOR

 

Curso de Arduino e Microcontrolador


 Conteúdo do curso

  Conteúdo do curso

• A História dos Microcontroladores

 • Eletrônica Básica

 • Eletrônica Analógica

 • Microcontrolador ATmega328P

 •  Arduino UNO

 • Hardware do Arduino UNO

 • Software do Arduino  UNO

 •  Princípios de programação

 • Entradas e saídas do Arduino UNO

 • IDE do Arduino

 • Programação da placa Arduino UNO

•  Primeiro programa para o Arduino Uno

 • Comunicação Serial e saída PWM

 • Projeto com entradas saída digital /analógicas

 • Projete  um Semáforo

• Projeto de Circuito Seguidor Solar

• Projeto Medidor de Umidade 

 

ARDUINO UNO


Uma breve história

O Arduino foi criado em 2005 pelo professor Massimo Banzi na Itália. Banzi queria ensinar para seus alunos conceitos de programação e de eletrônica, porém enfrentava um problema, não havia placas de baixo custo no mercado, e portanto isso dificultaria a aquisição do produto por todos os seus alunos. Com isso em mente Banzi decidiu criar uma placa de baixo custo que fosse semelhante a estrutura de um computador para que seus alunos tivessem a oportunidade de aprendizado. A sua placa, nomeada de Arduino, foi um sucesso, recebendo uma menção honrosa na categoria Comunidades Digitais em 2006.

 

Atualmente existem a venda várias placas semelhantes a original criada por Banzi, porém com componentes construídos por diversas outras pessoas. Isso se deve ao fato que o Arduino original criado por Banzi e seus colegas é Open Source, ou seja, qualquer placa criada com a mesma estrutura do Arduino original e que utilizasse sua linguagem padrão consegue realizar as mesmas funções que um Arduino original.



Projetos Para Você!!

      Entradas e saídas digitais

Acendendo Leds com o arduino .Neste projeto muito simples ,vamos trabalhar com as portas digitais do arduino uno ,veja o diagrama do projeto abaixo.







É interessante como pode ser simples ensinar crianças, jovens e adultos os conceitos básicos de programação, robótica e eletrônica. Sua iniciação no mudo da robótica e automação com o Arduíno de um jeito bem simples.
Aprenda a programar e a elaborar projetos com o Arduíno .
Compre nosso Curso De Arduíno E Microcontrolador (curso Livre)



ADQUIRA O CURSO DE ARDUINO E MICROCONTROLADOR



Cupom de desconto de 10% para o curso

Digite: 
PROMOABRIL




Guia para sensores de temperatura LM35, LM335 e LM34 com Arduino

Este guia mostra como usar os sensores de temperatura LM35 (LM35DZ), LM335 e LM34 com a placa Arduino. Mostraremos como conectar os sensores e escrever o código para obter leituras de temperatura. Por fim, construiremos um exemplo de projeto para exibir as leituras do sensor em um display OLED.

Lm35 lm35dz lm34 lm335 placa arduino leituras de temperatura oled celsius fahrenheit

Apresentando os sensores de temperatura LM35, LM335 e LM34

O LM35, LM335 e LM34 são sensores lineares de temperatura que emitem uma tensão proporcional ao valor da temperatura.

Sensor de temperatura

Voltagem de saída

Linearidade

LM35 (LM35DZ)

proporcional à temperatura em Celsius (ºC)

10mV/ºC

LM335

proporcional à temperatura em Kelvin (ºK)

10mV/ºK

LM34

proporcional à temperatura em Fahrenheit (ºF)

10mV/ºF


 Esses sensores funcionam de maneira semelhante, mas são calibrados de forma diferente para gerar uma tensão proporcional às diferentes unidades de temperatura.

O LM35 produz 10 mV por aumento de temperatura em graus Celsius. De maneira semelhante, o LM335 produz 10 mV por grau de aumento de temperatura Kelvin e o LM34 produz 10 mV por grau Fahrenheit de aumento de temperatura.

Por exemplo, se o LM35 emite uma tensão de 345 mV, isso significa que temos um valor de temperatura de 34,5ºC.

Para mais informações sobre estes sensores, você pode consultar sua ficha técnica:


Pinagem LM35 (LM35DZ)

O LM35 possui apenas três pinos,CCV,VoueGND.

Pinagem LM35 LM35DZ. Pinos: VCC, Vout e GND

Aqui estão as conexões que você precisa fazer entre o LM35 e o Arduino:

LM35/LM34

Arduino

CCV

5V

Vou

Qualquer pino analógico

GND

GND







Nota: se você estiver usando um sensor de temperatura LM34, a pinagem é a mesma do LM35.

Pinagem LM335

A pinagem do sensor de temperatura LM335 é um pouco diferente.

Pinagem LM335 LM335Z. Pinos: VCC, Vout e GND


LM335

Arduíno

Adj.

Não conecte

Vou

Qualquer pino analógico (puxe para cima com resistor de 2k Ohm)

GND

GND






 Oadj.O pino pode ser usado para calibrar o sensor e obter leituras de temperatura mais precisas. Não usaremos esse pino neste tutorial, portanto ele deve ser deixado desconectado.

Diagrama esquemático

Você deve seguir o mesmo diagrama esquemático se estiver usando um sensor de temperatura LM35 ou LM34. Você deve seguir um diagrama ligeiramente diferente se estiver usando o LM335.

LM35 e LM34 com Arduino

Diagrama esquemático de fiação LM35 / LM35DZ e LM34 para Arduino

LM335 com Arduino

Diagrama esquemático de fiação LM335 e LM34 para Arduino

Código – Ler Temperatura

LM35 LM35DZ LM34 LM335 Arduino placa esquema de fiação OLED

O código a seguir lê a temperatura do sensor LM35 e exibe as leituras no Monitor Serial. Este código também é compatível com LM335 e LM34 – basta descomentar algumas linhas do código para usar o sensor correto.

/*
 * Rui Santos
 * Complete Project Details https://RandomNerdTutorials.com
 */
 
const int sensorPin = A0; 
float sensorValue;
float voltageOut;

float temperatureC;
float temperatureF;

// uncomment if using LM335
//float temperatureK;

void setup() {
  pinMode(sensorPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  voltageOut = (sensorValue * 5000) / 1024;
  
  // calculate temperature for LM35 (LM35DZ)
  temperatureC = voltageOut / 10;
  temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM335
  //temperatureK = voltageOut / 10;
  //temperatureC = temperatureK - 273;
  //temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM34
  //temperatureF = voltageOut / 10;
  //temperatureC = (temperatureF - 32.0)*(5.0/9.0);

  Serial.print("Temperature(ºC): ");
  Serial.print(temperatureC);
  Serial.print("  Temperature(ºF): ");
  Serial.print(temperatureF);
  Serial.print("  Voltage(mV): ");
  Serial.println(voltageOut);
  delay(1000);
}

Ver código bruto

Como funciona o código

Você começa definindo o pino que está conectado à saída do sensor. Deve ser um pino analógico. Estamos usando alfineteA0, mas você pode usar qualquer outro pino analógico.

const int sensorPin = A0;

Defina uma variável que irá armazenar o valor analógico lido do sensor:

float sensorValue;

A VoltageOut variável armazenará o valor real de saída de tensão proveniente do sensor.

float voltageOut;

Em seguida, crie variáveis ​​que armazenarão o valor da temperatura. Aqui, criamos umtemperaturaCe umtemperaturaFvariáveis ​​para manter a temperatura em Celsius e Fahrenheit, respectivamente.

float temperatureC;
float temperatureF;

Se estiver usando o sensor LM335, você também precisará de uma variável para manter a temperatura em Kelvin. Então, se você estiver usando esse sensor, você precisa descomentar a seguinte linha:

//float temperatureK;

Nosetup(), declare opino do sensorcomo entrada:

pinMode(sensorPin, INPUT);

Inicialize uma comunicação serial a uma taxa de transmissão de 9600. Você precisa inicializar a comunicação serial para poder exibir as leituras no Monitor Serial:

Serial.begin(9600);

Noloop(), leia o valor vindo do seu sensor e salve-o emtensãoSaídavariável. Para ler um valor analógico com Arduino você só precisa usarleitura analógica()função e passe o pino que deseja ler como argumento.

voltageOut = analogRead(sensorPin);

Conforme mencionado anteriormente, esses sensores emitem um valor de tensão proporcional à temperatura.

Os valores analógicos lidos do Arduino podem ter um valor entre 0 e 1024, onde 0 corresponde a 0V e 1024 a 5V. Assim, podemos facilmente obter a tensão de saída do sensor em mV.

voltageOut = (sensorValue * 5000) / 1024

No caso do sensor LM35, vimos que 10mV corresponde a um aumento de temperatura em graus Celsius. Portanto, a temperatura em Celsius corresponde à tensão lida no sensor em mV dividida por 10mV.

temperatureC = voltageOut / 10;

Para obter a temperatura em Fahrenheit, só precisamos usar a conversão Celsius -> Fahrenheit:

temperatureF = (temperatureC * 1.8) + 32;

Se estiver usando um LM335 ou LM34, você usa os mesmos cálculos para obter a temperatura. Basta ter em mente que o LM335 retorna a temperatura em graus Kelvin e o LM34 em graus Fahrenheit. Então, você pode converter os valores para outras unidades, se necessário.

Por fim, imprima as leituras dos sensores no Monitor Serial em graus Celsius e Fahrenheit.

Serial.print("Temperature(ºC): ");
Serial.print(temperatureC);
Serial.print("  Temperature(ºF): ");
Serial.print(temperatureF);

Para fins de depuração, também imprimimos a tensão.

Serial.print("  Voltage(mV): ");
Serial.println(voltageOut);

Oloop()é repetido a cada segundo.

delay(1000);

Demonstração

Carregue o código em seu Arduino IDE. Não se esqueça de selecionar a placa e a porta COM corretas no menu Ferramentas.

Depois disso, abra o Monitor Serial a uma taxa de transmissão de 9600. Você deverá obter novas leituras de temperatura a cada segundo. Você pode cobrir o sensor com o dedo para ver os valores de temperatura aumentando.

Sensores de temperatura LM35/LM35DZ, LM335 e LM34 com placa Arduino. Imprimir leituras seriais no Arduino IDE Serial Monitor

Leituras de temperatura em display OLED

Nesta seção, mostraremos como exibir as leituras do seu sensor em um display OLED .

Para um tutorial detalhado sobre como usar o display OLED com o Arduino, siga o próximo guia:

Peças necessárias

Para este projeto, você precisará das seguintes peças:

Diagrama esquemático

Conecte todos os componentes conforme mostrado no próximo diagrama esquemático:

Diagrama esquemático do display OLED Arduino LM35 / LM35DZ

Instalando bibliotecas OLED

Para controlar o display OLED você precisa das  bibliotecas adafruit_SSD1306.h  e  adafruit_GFX.h  . Siga as próximas instruções para instalar essas bibliotecas.

1. Abra seu Arduino IDE e vá para  Sketch  >  Incluir Biblioteca  >  Gerenciar Bibliotecas . O Gerenciador da Biblioteca deve abrir.

2. Digite “ SSD1306 ” na caixa de pesquisa e instale a biblioteca SSD1306 da Adafruit.

Instalando a placa Arduino UNO da biblioteca OLED SSD1306

3. Após instalar a biblioteca SSD1306 da Adafruit, digite “ GFX ” na caixa de pesquisa e instale a biblioteca.

Instalando a placa Arduino UNO da Biblioteca GFX

4. Após instalar as bibliotecas, reinicie seu Arduino IDE.

Código – Exibir leituras em OLED

Após conectar o circuito e instalar as bibliotecas necessárias, carregue o código a seguir em sua placa Arduino.

/*
 * Rui Santos
 * Complete Project Details https://RandomNerdTutorials.com
 */

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

const int sensorPin = A0; 
float sensorValue;
float voltageOut;

float temperatureC;
float temperatureF;

// uncomment if using LM335
//float temperatureK;

void setup() {
  pinMode(sensorPin, INPUT);
  Serial.begin(9600);

  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  
  delay(2000);
  display.clearDisplay();
  display.setTextColor(WHITE);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  voltageOut = (sensorValue * 5000) / 1024;
  
  // calculate temperature for LM35 (LM35DZ)
  temperatureC = voltageOut / 10;
  temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM335
  //temperatureK = voltageOut / 10;
  //temperatureC = temperatureK - 273;
  //temperatureF = (temperatureC * 1.8) + 32;

  // calculate temperature for LM34
  //temperatureF = voltageOut / 10;
  //temperatureC = (temperatureF - 32.0)*(5.0/9.0);

  Serial.print("Temperature(ºC): ");
  Serial.print(temperatureC);
  Serial.print("  Temperature(ºF): ");
  Serial.print(temperatureF);

  // clear display
  display.clearDisplay();

  // display temperature Celsius
  display.setTextSize(1);
  display.setCursor(0,0);
  display.print("Temperature: ");
  display.setTextSize(2);
  display.setCursor(0,10);
  display.print(temperatureC);
  display.print(" ");
  display.setTextSize(1);
  display.cp437(true);
  display.write(167);
  display.setTextSize(2);
  display.print("C");

  // display temperature Fahrenheit
  display.setTextSize(1);
  display.setCursor(0, 35);
  display.print("Temperature: ");
  display.setTextSize(2);
  display.setCursor(0, 45);
  display.print(temperatureF);
  display.print(" ");
  display.setTextSize(1);
  display.cp437(true);
  display.write(167);
  display.setTextSize(2);
  display.print("F");

  display.display();    
  delay(1000);
 }

Ver código bruto

Demonstração

Parabéns! Você concluiu o projeto. Agora você pode verificar as leituras do sensor no display OLED. Novas leituras de temperatura são exibidas a cada segundo.

Lm35 lm35dz lm34 lm335 placa arduino display oled leituras de temperatura

Empacotando

O LM35, LM335 e LM34 são sensores lineares de temperatura que emitem uma tensão proporcional ao valor da temperatura. Eles podem ser alimentados pelo pino 5V do Arduino, e para ler a tensão, você usa um pino analógico.

Ler a tensão do sensor é tão fácil quanto usar oleitura analógica()função no pino do sensor. Depois, basta fazer um cálculo simples para obter a temperatura na unidade desejada.

Esperamos que você tenha achado este guia útil. Temos outros guias sobre sensores e módulos Arduino que você pode gostar:

 O Arduino é uma plataforma de prototipagem eletrônica que permite ao desenvolvedor criar dispositivos de maneira simples e prática de usar, sua cultura open-source se baseia em hardware e software flexíveis e fáceis de usar, utilizando bibliotecas que facilitam o desenvolvimento de códigos, esta plataforma se tornou a preferida de milhões de desenvolvedores em todo mundo. Está disponível um material com exemplos de projetos para vc aprender e desenvolver usando a plataforma Arduino em: https://lnkd.in/dcCUYnhH





Comentários

Postagens mais visitadas deste blog

BABUINO.TEC