blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Projeto 1 - Display LCD 16x2
  • Projeto 2 - Pisca Pisca Ajustável
  • Projeto 3 - Semáforo de Carros e Pedestres
  • Projeto 4 - Termômetro
  • Projeto 5 - Piano
  • Projeto 6 - Alarme
  • Projeto 7 - Alarme Multipropósito
  • Projeto 8 - Portão Eletrônico
  • Considerações Finais
  • Sobre o Autor
Projetos

8 Novos Projetos com o Arduino

Eletrogate 7 de abril de 2022Atualizado em: 19 abr 2022

Introdução

Já teve aquela vontade de criar um projeto diferente, mas estava sem criatividade e acabou não fazendo nada? Se sim, este post é para você! Neste tutorial, vamos ver 8 projetos incríveis com o Arduino, que você pode fazer na sua casa! Para aqueles que são novos por aqui, o Arduino é uma plataforma de prototipagem eletrônica de hardware livre, ou seja, podemos usá-lo para criar o que quisermos, a imaginação é o limite. Se você já segue o nosso blog, deve estar familiarizado com outros tutoriais por aqui. Hoje, veremos diversos projetos sendo trabalhados com display, LED’s, sensores e muito mais. Os projetos, juntos dos conhecimentos adquiridos neste post, são ótimas fontes de inspiração para seus futuros projetos, sejam eles profissionais ou apenas um hobby.


Projeto 1 - Display LCD 16x2

Neste tutorial, iremos utilizar o Display LCD 16×2 para imprimir uma mensagem na tela do LCD, partindo da função lcd.print() presente na biblioteca LiquidCrystal.h. Além de descobrir como é feito a ligação correta do LCD ao Arduino, no final você também verá dicas de melhorias e adaptações que você mesmo pode fazer.

Materias

Para isso, será necessário que você tenha:

  • Um Arduino Uno + Cabo de dados;
  • Uma Protoboard 830 Pontos;
  • Um Display LCD 16×2;
  • Um Potenciômetro de 10 kΩ;
  • Jumpers Machos (20x).

Diagrama esquemático

Conforme o diagrama esquemático acima, faremos as ligações do LCD ao Arduino da seguinte maneira, segue a tabela:

Como no diagrama acima, você pode fazer as ligações do GND e do 5V na protoboard. Após as ligações da tabela terem sido feitas, você também deve ligar o potenciômetro ao GND, VE (3° terceiro pino do display) e o 5V.

Programação

Como dito antes, neste post, iremos utilizar a  função lcd.print() presente na biblioteca LiquidCrystal.h. Como está na programação abaixo, além de incluirmos a biblioteca, definimos as portas do LCD.

#include <LiquidCrystal.h> //Inclui a biblioteca do LiquidCrytal
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Declara as portas de saída para o LCD
void setup() {
  lcd.begin(16, 2); //Inicia a escrita no LCD
  lcd.print("BLOG ELETROGATE");//Exibe a mensagem que irá imprimir
}
void loop() {
  lcd.setCursor(0, 1); //Define o cursor em (0,1)
  lcd.print(millis()/1000); //Faz a contagem do tempo e o mostra na tela do LCD
  lcd.print("s"); //Escreve a letra s para representar os segundos
}

 

Acima podemos ver que na função descrita logo aparece a mensagem que desejamos escrever, neste caso “BLOG ELETROGATE” é a nossa mensagem.

Demonstração

Na demonstração abaixo veremos que o potenciômetro tem a função de regular a luminosidade do visor, além de vermos a mensagem “BLOG ELETROGATE” aparecer no mesmo, junto com os segundos de exibição.

https://blog.eletrogate.com/wp-content/uploads/2022/03/Projeto-1-Display-LCD-32x16-NEW.mp4

Você pode incrementar essa função em algum projeto que haja interação. Por exemplo, você pode usar essa função para dizer a temperatura de um ambiente junto com um sensor, na rega automática e muito mais. São muitas as possibilidades.


Projeto 2 - Pisca Pisca Ajustável

Este projeto consiste em ajustar a frequência de acionamento de um LED por meio de um potenciômetro.

Materias

  • Um Arduino Nano;
  • Uma Protoboard 830 Pontos;
  • Um Potenciômetro de 10 kΩ;
  • Jumpers Machos (20x);
  • Um Resistor de 220 Ω;
  • Um LED.

Diagrama esquemático

Encaixe o Arduino Nano na protoboard, conecte o LED ao GND por meio de um resistor de 220 Ω no catodo e diretamente à porta digital 11 do Arduino no anodo. Por fim, faça as conexões de GND e 5V do Potenciômetro de 10 kΩ e o conecte na porta analogica do Arduino, conforme a imagem abaixo:

Programação

int potPin = 0; //Declara porta A0 do potênciometro
int ledPin = 11; //Declara a porta D11 para o LED
int val = 0; //Declara o valor inicial como zero
void setup(){
  pinMode(ledPin, OUTPUT); //Declara porta do LED como saída
}
void loop(){
  val = analogRead(potPin); //Le o valor do potênciometro
  digitalWrite(ledPin, HIGH); //Liga o Led
  delay(val); //Lê o valor do potênciometro e dá o tempo
  digitalWrite(ledPin, LOW); //Desliga o LED
  delay(val); //Lê o valor do potênciometro e dá o tempo
}

 

Demonstração

No vídeo abaixo, podemos perceber que, conforme oscilamos o potenciômetro, a frequência do LED aumenta e diminui.

https://blog.eletrogate.com/wp-content/uploads/2022/03/Projeto-2-Pisca-Pisca-Ajustavel-NEW.mp4

Com algumas adaptações e substituições de componentes, você pode criar uma lanterna fixa ou com variação de frequência e luminosidade, ou seja, uma lanterna pisca pisca.


Projeto 3 - Semáforo de Carros e Pedestres

Este tutorial consiste em colocar dois semáforos: um para os carros e outro para os pedestres do trânsito.

Materias

  • Um Arduino Uno + Cabo de dados;
  • Uma Protoboard 830 Pontos;
  • Jumpers Macho (40x);
  • Um push button;
  • 6 Resistores de 220 Ω;
  • 2 LEDs Vermelhos;
  • 2 LEDs Verdes;
  • 1 Led Amarelo.

Diagrama esquemático

Conforme o diagrama abaixo, iremos distribuir os LEDs pela Protoboard e ligar os resistores nos catodos de cada LED do circuito, além de fazer as devidas conexões no GND. Devemos fazer a ligação do push botton ao 5V e à porta digital 2 do Arduino.

Agora, devemos ligar cada LED do semáforo de carros (sc) ao Arduino: vermelho, amarelo e verde às portas digitais 12, 11 e 10 respectivamente. Para os LEDs do semáforo de pedestres (sp), os LEDs vermelho e verde devem ser conectados às portas 9 e 8 digitais do Arduino, respectivamente. 

Lembre-se de fazer as conexões de GND e 5V na Protoboard além de conectar os mesmo ao Arduino Uno.

Programação

int scVerde = 10; //Define a pota D10 do LED verde do sc
const int scAmarelo = 11; //Define a pota D11 do LED amarelo do sc
const int scVermelho = 12; //Define a pota D12 do LED vermelho do sc
const int spVerde = 8; //Define a pota D8 do LED verde do sp
const int spVermelho = 9; //Define a pota D9 do LED vermelho do sp
int ledState = LOW; //Define o estado do LED como desligado
long previousMillis = 0; //Começa a contar o tempo do zero
long interval = 5000; //Tempo de intervalo de 5000 milissegundos
int ctrlLuz = 0; //define o valor de mudança das luzes igual a 0
void setup() {
  Serial.begin(9600);
  pinMode(scVerde,OUTPUT); //Define a porta do LED como saída
  pinMode(scAmarelo,OUTPUT); //Define a porta do LED como saída
  pinMode(scVermelho,OUTPUT);//Define a porta do LED como saída
  pinMode(spVerde,OUTPUT); //Define a porta do LED como saída
  pinMode(spVermelho,OUTPUT); //Define a porta do LED como saída
  pinMode(2, INPUT); // Botao //Define a porta do botão como entrada
}
void loop() {
  unsigned long currentMillis = millis(); //O tempo dos milissegundos começa a correr
  int sensorValue = digitalRead(2); //O valor da porta D2 é lido
  if(currentMillis - previousMillis > //A variavel entra em ação após a leitura da porta 2
  interval) {
    previousMillis = currentMillis; //Os milessegundos previstos são iguais a corrente por milessegundo
    switch(ctrlLuz) { //O botão é precionado
      case 0 : // O valor faz com que ele fassa o semafaro de pedreste fique verde
        digitalWrite(scVermelho,LOW); //O LED do sc é desligado
        digitalWrite(scVerde,HIGH); //O LED do sc é ligado
        digitalWrite(spVerde,LOW); //O LED do sc é desligado
        digitalWrite(spVermelho,HIGH); //O LED do sc é ligado
        ctrlLuz++;
        interval = 15000; //Há um intervalo de 15 segundos
      break; //Mudança de estados dos LEDS
      case 1 : // O caso 1 é acionado (Amarelo)
        digitalWrite(scVerde,LOW); //O LED do sc é desligado
        digitalWrite(scAmarelo,HIGH);//O LED do sc é ligado
        digitalWrite(spVerde,LOW); //O LED do sp é desligado
        digitalWrite(spVermelho,HIGH);//O LED do sp é ligado
        ctrlLuz++;
        interval = 1000; //Há o intervalo de 1 segundo
      break;//Mudança de estados dos LEDS
      case 2 : // O caso 2 é acionado (Vermelho)
        digitalWrite(scAmarelo,LOW); //O LED do sc é desligado
        digitalWrite(scVermelho,HIGH);//O LED do sc é ligado
        digitalWrite(spVermelho,LOW);//O LED do sp é desligado
        digitalWrite(spVerde,HIGH);//O LED do sp é ligado
        interval = 7000; //Intervalo de 7 segundos
        ctrlLuz = 0;
      break;//Mudança de estado
    }
  }
  //Abaixo o valor do botão (Sensor) é lido novamente e o valor é redefino para diferente de 0, caso não haja mudança no estado o ciclo recomeça
  if((sensorValue == 1) && (ctrlLuz == 1)) {
    interval = 2000;
    Serial.print("Sensor ");
    Serial.println(sensorValue, DEC);
  }
}

Funcionamento

O sinal irá funcionar da seguinte maneira:

  • Quando o sinal do sc estiver verde ou amarelo, o sinal vermelho dos pedestres estará aceso;
  • Já quando o sinal vermelho do sc estiver aceso, o sinal verde dos pedestre deverá estar aceso;
  • Caso o botão seja pressionado, a preferência de passagem pela rua será dos pedestres.

Demonstração

https://blog.eletrogate.com/wp-content/uploads/2022/03/Projeto-3-Semaforo-de-Carros-e-Pedestres-NEW.mp4

Projeto 4 - Termômetro

Neste novo tutorial, iremos simular um termômetro com o Arduino, utilizando LEDs e um sensor de temperatura.

Materias

Para este projeto, será necessário:

  • Um Arduino Uno + Cabo de dados;
  • Uma Protoboard 830 Pontos;
  • Jumpers Macho (40x);
  • Um push button;
  • 6 Resistores de 220 Ω;
  • 2 LEDs Vermelhos;
  • 2 LEDs Verdes;
  • 2 LEDs Amarelos;
  • Um Buzzer;
  • Um Resistor de 1 kΩ;
  • Um Sensor de Temperatura NTC;

Diagrama esquemático

Ligação

  • Conecte o LED verde à porta digital 8 do Arduino Uno e faça a mesma conexão com o outro LED verde na porta digital 9 do Arduino Uno;
  • Conecte o LED amarelo à porta digital 10 do Arduino Uno e faça a mesma conexão com o outro LED amarelo na porta digital 11 do Arduino Uno;
  • Conecte o LED vermelho à porta digital 12 do Arduino Uno e faça a mesma conexão com o outro LED vermelho na porta digital 13 do Arduino Uno;
  • Conecte o Buzzer à porta digital 6 do Arduino Uno e, por fim, conecte o Sensor de Temperatura à porta analógica 0 (A0) do Arduino Uno.

Não se esqueça de conectar o GND e o 5V do Arduino na Protoboard, além de fazer as devidas conexões com os resistores, como mostra o diagrama acima.

Programação

int PinoSensor = 0;//Declara o pino A0 como entrada do sensor
int Buzzer = 6;//Define o pino D6 como Buzzer
int led1 = 8;//Define o LED 1 como porta D8
int led2 = 9;//Define o LED 2 como porta D9
int led3 = 10;//Define o LED 3 como porta D10
int led4 = 11;//Define o LED 4 como porta D11
int led5 = 12;//Define o LED 5 como porta D12
int led6 = 13;//Define o LED 6 como porta D13
int ValorSensor = 0;//Declara o valor inicial do sensor = 0
void setup() {
  pinMode(Buzzer, OUTPUT); //Porta do Buzzer é definida como saída
  pinMode(led1, OUTPUT); //Porta do LED 1 é definida como saída
  pinMode(led2, OUTPUT); //Porta do LED 2 é definida como saída
  pinMode(led3, OUTPUT); //Porta do LED 3 é definida como saída
  pinMode(led4, OUTPUT); //Porta do LED 4 é definida como saída
  pinMode(led5, OUTPUT); //Porta do LED 5 é definida como saída
  pinMode(led6, OUTPUT); //Porta do LED 6 é definida como saída
  Serial.begin(9600);
}
void loop(){
  ValorSensor = analogRead(PinoSensor);//É feito a leitura do pino do sensor
  Serial.print("Valor do Sensor = "); //Define o valor do sensor
  Serial.println(ValorSensor); //Escreve o valor do sensor
  if (ValorSensor > 30) //A função vai definir como cada LED será ligado dependendo do valor que o sensor mandar
    digitalWrite(led1, HIGH); //LED 1 liga
  else
   digitalWrite(led1, LOW); //LED 1 desliga
  if (ValorSensor > 35) //A função vai definir como cada LED será ligado dependendo do valor que o sensor mandar
   digitalWrite(led2, HIGH); //LED 2 liga
  else
   digitalWrite(led2, LOW); //LED 2 desliga
  if (ValorSensor > 40) //A função vai definir como cada LED será ligado dependendo do valor que o sensor mandar
    digitalWrite(led3, HIGH); //LED 3 liga
  else
    digitalWrite(led3, LOW); //LED 3 desliga
  if (ValorSensor > 45) //A função vai definir como cada LED será ligado dependendo do valor que o sensor mandar
   digitalWrite(led4, HIGH); //LED 4 liga
  else
   digitalWrite(led4, LOW); //LED 4 desliga
  if (ValorSensor > 50) //A função vai definir como cada LED será ligado dependendo do valor que o sensor mandar
   digitalWrite(led5, HIGH); //LED 5 liga
  else
    digitalWrite(led5, LOW); //LED 5 desliga
  if (ValorSensor > 55 ){ //A função vai definir como cada LED será ligado dependendo do valor que o sensor mandar
    digitalWrite(led6, HIGH); //LED 6 liga
    digitalWrite(Buzzer, HIGH); //Buzzer liga
  }
  else{
    digitalWrite(led6, LOW); //Led 6 desliga
    digitalWrite(Buzzer, LOW); //Buzzer desliga
  }
  delay(1000); //espera de 1000 milissegundos
}

 

Funcionamento

Quando o termômetro indicar uma situação crítica, o Buzzer será acionado para indicar a alta temperatura do local. Vejamos:

Se o Sensor de Temperatura NTC ler um valor maior que:

  • 30 = Ligar o 1° LED verde;
  • 35 = Ligar o 2° LED verde;
  • 40 = Ligar o 1° LED amarelo;
  • 45 = Ligar o 2° LED amarelo;
  • 50 = Ligar o 1° LED vermelho;
  • 55 = Ligar o 2° LED vermelho e simultaneamente ligar o Buzzer.

Projeto 5 - Piano

Neste novo projeto iremos produzir toques musicais aos quais LED’s correspondentes acenderão.

Materias

Para este projeto, será necessário:

  • Um Arduino Uno + Cabo de dados;
  • Uma Protoboard 830 Pontos;
  • Jumpers Macho (40x);
  • 3 push buttons;
  • 6 Resistores de 220 Ω;
  • LED Vermelho;
  • LED Verde;
  • LED Amarelo;
  • Um Buzzer;

Diagrama esquemático

Conecte cada Push Button às portas digitais 4, 3 e 2. Em seguida, conecte o Buzzer à porta digital 10 do Arduino Uno. Conecte o LED verde à porta digital 12 do Arduino, o LED amarelo deve ser conectado à porta digital 11 e por fim o LED vermelho deve ser conectado a porta digital 10 do Arduino Uno.

Não se esqueça de ligar os resistores aos LEDs e aos Push Buttons como mostra o diagrama acima, além de fazer as devidas conexões de 5V e GND do Arduino Uno à Protoboard.

Programação

const int ledPin1 = 13; //Define a porta D13 como LED 1
const int ledPin2 = 12; //Define a porta D12 como LED 2
const int ledPin3 = 11; //Define a porta D11 como LED 2
const int Botao1 = 2; //Define a porta D2 como botão 1
const int Botao2 = 3; //Define a porta D3 como botão 2
const int Botao3 = 4; //Define a porta D4 como botão 3
const int Buzzer = 10; //Define a porta D10 como Buzzer
int EstadoBotao1 = 0; //Estado inicial do botão1 é = 0
int EstadoBotao2 = 0; //Estado inicial do botão2 é = 0
int EstadoBotao3 = 0; //Estado inicial do botão3 é = 0
int Tom = 0; //Tom inicial é = 0
void setup() {
  pinMode(Buzzer, OUTPUT); //Define a porta do Buzzer como saída
  pinMode(ledPin1, OUTPUT); //Define a porta do LED 1 como saída
  pinMode(Botao1, INPUT); //Define a porta do botão 1 como entrada
  pinMode(ledPin2, OUTPUT); //Define a porta do LED 2 como saída
  pinMode(Botao2, INPUT); //Define a porta do botão 2 como entrada
  pinMode(ledPin3, OUTPUT); //Define a porta do LED 3 como saída
  pinMode(Botao3, INPUT); //Define a porta do botão 3 como entrada
}
void loop(){
  EstadoBotao1 = digitalRead(Botao1); //É feito a leitura do estado do botão 1
  EstadoBotao2 = digitalRead(Botao2); //É feito a leitura do estado do botão 2
  EstadoBotao3 = digitalRead(Botao3); //É feito a leitura do estado do botão 3

  //A variável abaixo irá acionar um tom do Buzzer e um Led de acordo com os estados dos botões
  if(EstadoBotao1 && !EstadoBotao2 &&
    !EstadoBotao3) {
    Tom = 50;
    digitalWrite(ledPin1, HIGH); //LED 1 liga
  }
  //A variável abaixo irá acionar um tom do Buzzer e um Led de acordo com os estados dos botões
  if(EstadoBotao2 && !EstadoBotao1 &&
    !EstadoBotao3) {
    Tom = 400;
    digitalWrite(ledPin3, HIGH); //LED 3 liga
  }
  //A variável abaixo irá acionar um tom do Buzzer e um Led de acordo com os estados dos botões
  if(EstadoBotao3 && !EstadoBotao2 &&
    !EstadoBotao1) {
    Tom = 1000;
    digitalWrite(ledPin2, HIGH); //LED 2 liga
  }
  while(Tom > 0){
    digitalWrite(Buzzer, HIGH); //Buzzer liga
    delayMicroseconds(Tom); //Tempo de espera do Tom
    digitalWrite(Buzzer, LOW); //Buzzer desliga
    delayMicroseconds(Tom); //Tempo de espera do Tom
    Tom = 0;
    digitalWrite(ledPin1, LOW); //LED 1 desliga
    digitalWrite(ledPin2, LOW); //LED 2 desliga
    digitalWrite(ledPin3, LOW); //LED 3 desliga
  }
}

 


Projeto 6 - Alarme

Neste projeto iremos construir um alarme que irá emitir um sinal sonoro a partir do Buzzer e acender o LED quando algum objeto estiver a menos de 30 cm do raio de alcance do sensor infravermelho

Materias

Neste projeto, será necessário que você tenha os seguinte materiais:

  • Um Arduino Uno + Cabo de dados;
  • Uma Protoboard 830 Pontos;
  • Jumpers Macho (40x);
  • Resistor de 220 Ω;
  • LED Vermelho;
  • Um Buzzer;
  • Um Sensor Infravermelho.

Diagrama esquemático

Conecte o LED vermelho à porta digital 12 do Arduino Uno e use o resistor de 220 Ω nesta ligação. Conecte o sensor infravermelho à porta analógica 0 (A0), o GND e o 5V. Por fim, faça a ligação do Buzzer ao GND e à porta digital 10.

Lembre-se, não se esqueça de fazer as ligações da Protoboard no GND e no 5V, além de conectá-los a estas saídas do Arduino Uno.

Programação

int LED = 13; //Porta D13 é definido como LED
int buzzer = 10; //Porta D10 é definido como Buzzer
int sharp = 0; //Porta A0 é definida como sensor
void setup() {
  pinMode(sharp,INPUT); //Porta do sensor é definida como entrada
  pinMode(buzzer,OUTPUT); //Porta do Buzzer é definida como saída
  pinMode(LED,OUTPUT); //Porta do LED é definida como saída
}
void loop() {
  int ir = analogRead(sharp); //Leitura da porta analogica do sensor é feita
  if(ir>150) { //Se o valor for menor que 150 o LED e o Buzzer são acionados
    digitalWrite(LED, HIGH); //LED liga
    digitalWrite(buzzer, HIGH); //Buzzer liga
  }else { //Depois
    digitalWrite(LED, LOW); //Led desliga
    digitalWrite(buzzer, LOW); //Buzzer desliga
  }
}

 

Funcionamento

Como dito acima, este alarme irá disparar quando algo estiver no seu raio de alcance de 30 cm, não há segredo para este projeto. Você pode utilizá-lo em diferentes ocasiões, seja um alarme de segurança, um sensor de estacionamento na sua garagem e muito mais, a sua imaginação é o limite.


Projeto 7 - Alarme Multipropósito

Partindo do projeto anterior, neste tutorial iremos criar um alarme mais complexo.

Materias

Você precisará dos seguintes materiais:

  • Um Arduino Uno + Cabo de dados;
  • Uma Protoboard 830 Pontos;
  • Jumpers Macho (40x);
  • 7 resistores de 220 Ω;
  • Um Buzzer;
  • 2 LEDs Vermelhos;
  • 2 LEDs Verdes;
  • 2 LEDs Amarelos;
  • 2 resistores de 1 kΩ;
  • Um Sensor de Temperatura NTC;
  • Um Sensor de Luminosidade;
  • Um LED branco de alto brilho.

Diagrama esquemático

Conforme o diagrama abaixo, as ligações dos LEDs devem ser da seguinte maneira: do primeiro ao último LED deverão ser conectados às portas digitais do 5 ao 11, respectivamente nesta ordem. Lembrando de que em cada uma destas conexões os circuitos devem passar por um resistor de 220 Ω, além de conectar o outro terminal dos LEDs ao GND.

O Buzzer deve ser conectado ao GND e depois à porta digital 2 do Arduino Uno. Em seguida, o Sensor de Temperatura NTC deve ser conectado à porta analógica 1 (A1) e o Sensor de Luminosidade à porta analógica 0 (A0). Faltando ainda o resistor de 1KΩ, a ser ligado a cada sensor, como mostra o diagrama acima.

Não se esqueça de fazer as devidas ligações da Protoboard no GND e no 5V, além de conectá-las às saídas do Arduino Uno.

Programação

const int LDR = 0; //Porta A0 é definida como porta do LDR
const int NTC = 1; //Porta A1 é definida como porta do NTC
const int Buzzer = 2; //Porta D2 é definida como Buzzer
const int led1 = 5; //Porta D5 é definida como LED1
const int led2 = 6; //Porta D6 é definida como LED2
const int led3 = 7; //Porta D7 é definida como LED3
const int led4 = 8; //Porta D8 é definida como LED4
const int led5 = 9; //Porta D9 é definida como LED5
const int led6 = 10; //Porta D10 é definida como LED6
const int ledAB = 11; //Porta D11 é definida como LEDAB
int ValorLDR = 0; //O valor inicial so LDR é = 0
int ValorNTC = 0; //O valor inicial so NTC é = 0

void setup(){
    
  pinMode(Buzzer, OUTPUT); //A porta Buzzer é definida como saída
  pinMode(led1, OUTPUT); //A porta LED1 é definida como saída
  pinMode(led2, OUTPUT); //A porta LED2 é definida como saída
  pinMode(led3, OUTPUT); //A porta LED3 é definida como saída
  pinMode(led4, OUTPUT); //A porta LED4 é definida como saída
  pinMode(led5, OUTPUT); //A porta LED5 é definida como saída
  pinMode(led6, OUTPUT); //A porta LED6 é definida como saída
  pinMode(ledAB, OUTPUT); //A porta LEDAB é definida como saída
  Serial.begin(9600);
}

void loop(){
    
  ValorLDR = analogRead(LDR); //É feito a leitura do LDR
  ValorNTC = analogRead(NTC); //É feito a leitura do NTC
  Serial.print("Valor da Temperatura = "); //Mostra o valor da temperatura
  Serial.println(ValorNTC); //Escreve o valor do NTC
  if (ValorNTC > 10) //Se o valor for menor que 10
    digitalWrite(led1, HIGH); //LED1 liga
  else //Depois
   digitalWrite(led1, LOW); //LED1 desliga
  if (ValorNTC > 20) //Se o valor for menor que 20
   digitalWrite(led2, HIGH); //LED2 liga
  else //Depois
    digitalWrite(led2, LOW); //LED2 desliga
  if (ValorNTC > 30){ //Se o valor for menor que 30
    digitalWrite(led3, HIGH); //LED3 liga
    digitalWrite(Buzzer, HIGH); //Buzzer liga
  }
  else{ //Depois
    digitalWrite(led3, LOW); //LED3 desliga
    digitalWrite(Buzzer, LOW); //Buzzer desliga
  }
  if (ValorLDR > 600) //Se o valor do LDR for menor que 600
    digitalWrite(led6, HIGH); //LED6 liga
  else //Depois
    digitalWrite(led6, LOW); //LED6 desliga
  if (ValorLDR > 500) //Se o valor do LDR for menor que 500
    digitalWrite(led5, HIGH); //LED5 liga
  else //Depois
    digitalWrite(led5, LOW); //LED5 desliga
  if (ValorLDR > 450){ //Se o valor do LDR for menor que 450
    digitalWrite(led4, HIGH); //LED4 liga
    digitalWrite(ledAB, LOW); //LEDAB desliga
  }
  else{ //depois
    digitalWrite(led4, LOW); //LED4 desliga
    digitalWrite(ledAB, HIGH); //LEDAB liga
  }
}

Funcionamento

Os 3 LEDs de cores diferentes irão indicar qual é a temperatura e os outros 3 indicarão a luminosidade do ambiente. O funcionamento do projeto funcionará da seguinte maneira.

  • Conforme a temperatura aumentar, os 3 LEDs responsáveis por indica-la irão ligar, um por um. Quando os 3 estiverem ligados, o Buzzer deve ligar, soando um alarme;
  • Se o local estiver com uma alta luminosidade, todos os outros 3 LEDs irão acender e, à medida que a luminosidade for diminuindo, eles irão apagar um por um. Se todos os LEDs ficarem apagados, o LED branco de alto brilho indicará falta de luminosidade total;
  • Se os 3 LEDs de temperatura estiverem acesos e os 3 de luminosidade estiverem apagados, então o alarme deve soar e o LED de alto brilho deve acender.

Projeto 8 - Portão Eletrônico

Neste último projeto, iremos utilizar um servo motor para simular um portão eletrônico, como aqueles que vemos em shoppings.

Materias

Para isso será necessário que você tenha:

  • Um Arduino Nano;
  • Uma Protoboard 830 Pontos;
  • Jumpers Macho (40x);
  • Um Sensor Infravermelho;
  • Um Servo Motor.

Diagrama esquemático

Primeiro, você deve conectar o Arduino Nano à Protoboard. Em seguida, o Sensor Inframervelho, no qual iremos fazer as devidas conexões no GND e no 5V. Por fim, conectá-lo à porta analógica 0 (A0) do Arduino Nano.

O Servo Motor, você deve conectar ao GND e ao 5 V, como mostra o diagrama acima, e, no final, conectar o seu terceiro fio à porta digital 9 do Arduino Nano.

Não se esqueça de conectar o GND e o 5V do Arduino Nano a Protoboard.

Programação

#include <Servo.h> //Inclui a biblioteca do servo.h
const int sensor = 0; //Define a porta A0 como sensor
Servo myservo; //Declara a variável do servo como myservo

void setup() {
  myservo.attach(9); //Myservo é definido como porta digital 9
  pinMode(sensor, INPUT); //Define a porta do sensor como entrada
  Serial.begin(9600);
}

void loop(){
  int ir = analogRead(sensor); //Faz a leitura da porta analógica do sensor
  Serial.print(ir); //Escreve ir
  Serial.print(" ir"); //Define como ir
  Serial.println();
  if(ir > 450){ //Se o valor da leitura for menor que 450
    myservo.write(90); //O servo se move 90 graus
    delay (6000); //Espera de 6 segundos
    myservo.write(-90); //O servo volta 90 graus
  }
}

Funcionamento

Como dito acima, usaremos o Servo Motor para fazer a elevação de uma barra, simulando o funcionamento de um portão eletrônico. Também usaremos um Sensor Infravermelho para acionar o servo motor, como mostrado no diagrama esquemático.

Este projeto irá funcionar da seguinte maneira:

  • O Sensor Infravermelho irá medir a distância até o carro. Caso esta distância seja igual ou menor que a pré determinada (Exemplo: 30 cm), o Servo Motor deve ser acionado para girar 90° para a esquerda;
  • Uma vez que a distância seja maior que a pré determinada, o motor volta a sua posição inicial.

Considerações Finais

Acabados de desenvolver 8 projetos com simples aplicações e inúmeras possibilidades de uso e melhorias. Com estes 8 tutoriais, tenho certeza que você será capaz de criar novos projetos e até mesmo incrementá-los. O Arduino é um equipamento de prototipagem de fácil acesso. Com ele, temos inúmeras possibilidades e testes a serem feitos no mundo Maker. Esperamos que você tenha entendido e conseguido montar os seus projetos, qualquer dúvida mande nos comentários aqui em baixo. Gostou destes projetos e também construiu o seu? Avalie o nosso post. Fez adaptações e conseguiu resultados melhores ainda? Tire uma foto e nos marque no Instagram @Eletrogate. E, lembre-se, se ainda não tem seu Kit Arduino ou os componentes necessários para o seu projeto, entre em nossa loja e explore este mundo Maker.


Sobre o Autor


Gabriel Felizardo
@gabriel_felizardotv

Com ensino médio e técnico em eletrotécnica completos pelo SESI/SENAI. Gosto muito de eletrônica, tecnologias e temas envolvendo energia.
Trabalho nas redes sociais como vendedor e produtor de conteúdo digital. No meu tempo livre desenvolvo projetos envolvendo o Arduino, além de inventar muitas coisas.


Eletrogate

7 de abril de 2022 Atualizado em: 19 abr 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Componentes Eletronicos

Termistor NTC para controle de temperatura

Eletrogate26 de maio de 2022

Aprenda a medir temperatura com um Termistor NTC junto de um ESP32 utilizando a equação Steinhart-Hart para realizar o cálculo de temperatura detectada pelo termistor NTC.

Componentes Eletronicos

Termistor NTC para controle de temperatura

Eletrogate26 de maio de 2022

Aprenda a medir temperatura com um Termistor NTC junto de um ESP32 utilizando a equação Steinhart-Hart para realizar o cálculo de temperatura detectada pelo termistor NTC.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.