0% acharam este documento útil (0 voto)
115 visualizações1 página

8 Novos Projetos Com o Arduino - Blog Eletrogate

O documento apresenta um tutorial com 8 projetos diferentes que podem ser realizados com Arduino, incluindo um display LCD, um pisca-pisca ajustável, semáforos para carros e pedestres, e um termômetro. Cada projeto contém uma lista de materiais necessários, diagramas esquemáticos e códigos de programação para facilitar a execução. Os projetos visam inspirar tanto iniciantes quanto entusiastas da eletrônica a explorar suas habilidades criativas.

Enviado por

tthalescarvalho
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
115 visualizações1 página

8 Novos Projetos Com o Arduino - Blog Eletrogate

O documento apresenta um tutorial com 8 projetos diferentes que podem ser realizados com Arduino, incluindo um display LCD, um pisca-pisca ajustável, semáforos para carros e pedestres, e um termômetro. Cada projeto contém uma lista de materiais necessários, diagramas esquemáticos e códigos de programação para facilitar a execução. Os projetos visam inspirar tanto iniciantes quanto entusiastas da eletrônica a explorar suas habilidades criativas.

Enviado por

tthalescarvalho
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Projetos

8 Novos Projetos com o Arduino


Eletrogate 7 de abril de 2022
Atualizado em: 19 nov 2024

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 [Link]()
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.

Materiais necessários para o projeto


com Display 16×2

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 20 cm (20x)

Diagrama esquemático

TxM
UNO

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 [Link]() presente na biblioteca
LiquidCrystal.h. Como está na programação
abaixo, além de incluirmos a biblioteca,
definimos as portas do LCD.

1. #include <LiquidCrystal.h> //Inclui a bib


2. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //
3. void setup() {
4. [Link](16, 2); //Inicia a escrita no
5. [Link]("BLOG ELETROGATE");//Exibe a
6. }
7. void loop() {
8. [Link](0, 1); //Define o cursor
9. [Link](millis()/1000); //Faz a conta
10. [Link]("s"); //Escreve a letra s par
11. }

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.

00:00 00:10

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.

Materiais necessários para o projeto


Pisca Pisca Ajustável

Um Arduino Nano com cabo;

Uma Protoboard 830 Pontos;

Um Potenciômetro de 10 kΩ;

Jumpers Machos 20 cm (20x);

Um Resistor de 220 Ω;

Um LED difuso vermelho.

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

1. int potPin = 0; //Declara porta A0 do pot


2. int ledPin = 11; //Declara a porta D11 pa
3. int val = 0; //Declara o valor inicial co
4. void setup(){
5. pinMode(ledPin, OUTPUT); //Declara port
6. }
7. void loop(){
8. val = analogRead(potPin); //Le o valor
9. digitalWrite(ledPin, HIGH); //Liga o Le
10. delay(val); //Lê o valor do potênciomet
11. digitalWrite(ledPin, LOW); //Desliga o
12. delay(val); //Lê o valor do potênciomet
13. }

Demonstração

No vídeo abaixo, podemos perceber que,


conforme oscilamos o potenciômetro, a
frequência do LED aumenta e diminui.

00:00 00:15

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.

Materiais necessários para o projeto


Semáforo de Carros e Pedestres

Um Arduino Uno + Cabo de dados;

Uma Protoboard 830 Pontos;

Jumpers Macho 20 cm (40x);

Um push button;

6 Resistores de 220 Ω;

2 LED difuso vermelho;

2 LED difuso verde;

1 LED difuso 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

1. int scVerde = 10; //Define a pota D10 do


2. const int scAmarelo = 11; //Define a pota
3. const int scVermelho = 12; //Define a pot
4. const int spVerde = 8; //Define a pota D8
5. const int spVermelho = 9; //Define a pota
6. int ledState = LOW; //Define o estado do
7. long previousMillis = 0; //Começa a conta
8. long interval = 5000; //Tempo de interval
9. int ctrlLuz = 0; //define o valor de muda
10. void setup() {
11. [Link](9600);
12. pinMode(scVerde,OUTPUT); //Define a por
13. pinMode(scAmarelo,OUTPUT); //Define a p
14. pinMode(scVermelho,OUTPUT);//Define a p
15. pinMode(spVerde,OUTPUT); //Define a por
16. pinMode(spVermelho,OUTPUT); //Define a
17. pinMode(2, INPUT); // Botao //Define a
18. }
19. void loop() {
20. unsigned long currentMillis = millis();
21. int sensorValue = digitalRead(2); //O v
22. if(currentMillis - previousMillis > //A
23. interval) {
24. previousMillis = currentMillis; //Os
25. switch(ctrlLuz) { //O botão é precion
26. case 0 : // O valor faz com que ele
27. digitalWrite(scVermelho,LOW); //O
28. digitalWrite(scVerde,HIGH); //O L
29. digitalWrite(spVerde,LOW); //O LE
30. digitalWrite(spVermelho,HIGH); //
31. ctrlLuz++;
32. interval = 15000; //Há um interva
33. break; //Mudança de estados dos LED
34. case 1 : // O caso 1 é acionado (Am
35. digitalWrite(scVerde,LOW); //O LE
36. digitalWrite(scAmarelo,HIGH);//O
37. digitalWrite(spVerde,LOW); //O LE
38. digitalWrite(spVermelho,HIGH);//O
39. ctrlLuz++;
40. interval = 1000; //Há o intervalo
41. break;//Mudança de estados dos LEDS
42. case 2 : // O caso 2 é acionado (Ve
43. digitalWrite(scAmarelo,LOW); //O
44. digitalWrite(scVermelho,HIGH);//O
45. digitalWrite(spVermelho,LOW);//O
46. digitalWrite(spVerde,HIGH);//O LE
47. interval = 7000; //Intervalo de 7
48. ctrlLuz = 0;
49. break;//Mudança de estado
50. }
51. }
52. //Abaixo o valor do botão (Sensor) é li
53. if((sensorValue == 1) && (ctrlLuz == 1)
54. interval = 2000;
55. [Link]("Sensor ");
56. [Link](sensorValue, DEC);
57. }
58. }

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

00:00 00:16

Projeto 4 - Termômetro

Neste novo tutorial, iremos simular um


termômetro com o Arduino, utilizando LEDs
e um sensor de temperatura.

Materiais necessários para o projeto


Termômetro

Para este projeto, será necessário:

Um Arduino Uno + Cabo de dados;

Uma Protoboard 830 Pontos;

Jumpers Macho 20 cm (40x);

Um push button 6x6x6 mm;

6 Resistores de 220 Ω;

2 LED difuso vermelho;

2 LED difuso verde;

2 LED difuso amarelo;

Um Buzzer ativo 5 V;

Um Resistor de 1 kΩ;

Um Sensor de Temperatura NTC 5mm 10 k.

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

1. int PinoSensor = 0;//Declara o pino A0 co


2. int Buzzer = 6;//Define o pino D6 como Bu
3. int led1 = 8;//Define o LED 1 como porta
4. int led2 = 9;//Define o LED 2 como porta
5. int led3 = 10;//Define o LED 3 como porta
6. int led4 = 11;//Define o LED 4 como porta
7. int led5 = 12;//Define o LED 5 como porta
8. int led6 = 13;//Define o LED 6 como porta
9. int ValorSensor = 0;//Declara o valor ini
10. void setup() {
11. pinMode(Buzzer, OUTPUT); //Porta do Buz
12. pinMode(led1, OUTPUT); //Porta do LED 1
13. pinMode(led2, OUTPUT); //Porta do LED 2
14. pinMode(led3, OUTPUT); //Porta do LED 3
15. pinMode(led4, OUTPUT); //Porta do LED 4
16. pinMode(led5, OUTPUT); //Porta do LED 5
17. pinMode(led6, OUTPUT); //Porta do LED 6
18. [Link](9600);
19. }
20. void loop(){
21. ValorSensor = analogRead(PinoSensor);//
22. [Link]("Valor do Sensor = "); //D
23. [Link](ValorSensor); //Escreve
24. if (ValorSensor > 30) //A função vai de
25. digitalWrite(led1, HIGH); //LED 1 lig
26. else
27. digitalWrite(led1, LOW); //LED 1 desli
28. if (ValorSensor > 35) //A função vai de
29. digitalWrite(led2, HIGH); //LED 2 liga
30. else
31. digitalWrite(led2, LOW); //LED 2 desli
32. if (ValorSensor > 40) //A função vai de
33. digitalWrite(led3, HIGH); //LED 3 lig
34. else
35. digitalWrite(led3, LOW); //LED 3 desl
36. if (ValorSensor > 45) //A função vai de
37. digitalWrite(led4, HIGH); //LED 4 liga
38. else
39. digitalWrite(led4, LOW); //LED 4 desli
40. if (ValorSensor > 50) //A função vai de
41. digitalWrite(led5, HIGH); //LED 5 liga
42. else
43. digitalWrite(led5, LOW); //LED 5 desl
44. if (ValorSensor > 55 ){ //A função vai
45. digitalWrite(led6, HIGH); //LED 6 lig
46. digitalWrite(Buzzer, HIGH); //Buzzer
47. }
48. else{
49. digitalWrite(led6, LOW); //Led 6 desl
50. digitalWrite(Buzzer, LOW); //Buzzer d
51. }
52. delay(1000); //espera de 1000 milissegu
53. }

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.

Materiais necessários para o projeto


Piano

Para este projeto, será necessário:

Um Arduino Uno + Cabo de dados;

Uma Protoboard 830 Pontos;

Jumpers Macho 20 cm (40x);

3 push buttons 6x6x6 mm;

6 Resistores de 220 Ω;

LED difuso Vermelho;

LED difuso Verde;

LED difuso Amarelo;

Um Buzzer ativo 5 V;

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

1. const int ledPin1 = 13; //Define a porta


2. const int ledPin2 = 12; //Define a porta
3. const int ledPin3 = 11; //Define a porta
4. const int Botao1 = 2; //Define a porta D2
5. const int Botao2 = 3; //Define a porta D3
6. const int Botao3 = 4; //Define a porta D4
7. const int Buzzer = 10; //Define a porta D
8. int EstadoBotao1 = 0; //Estado inicial do
9. int EstadoBotao2 = 0; //Estado inicial do
10. int EstadoBotao3 = 0; //Estado inicial do
11. int Tom = 0; //Tom inicial é = 0
12. void setup() {
13. pinMode(Buzzer, OUTPUT); //Define a por
14. pinMode(ledPin1, OUTPUT); //Define a po
15. pinMode(Botao1, INPUT); //Define a port
16. pinMode(ledPin2, OUTPUT); //Define a po
17. pinMode(Botao2, INPUT); //Define a port
18. pinMode(ledPin3, OUTPUT); //Define a po
19. pinMode(Botao3, INPUT); //Define a port
20. }
21. void loop(){
22. EstadoBotao1 = digitalRead(Botao1); //É
23. EstadoBotao2 = digitalRead(Botao2); //É
24. EstadoBotao3 = digitalRead(Botao3); //É
25.
26. //A variável abaixo irá acionar um tom
27. if(EstadoBotao1 && !EstadoBotao2 &&
28. !EstadoBotao3) {
29. Tom = 50;
30. digitalWrite(ledPin1, HIGH); //LED 1
31. }
32. //A variável abaixo irá acionar um tom
33. if(EstadoBotao2 && !EstadoBotao1 &&
34. !EstadoBotao3) {
35. Tom = 400;
36. digitalWrite(ledPin3, HIGH); //LED 3
37. }
38. //A variável abaixo irá acionar um tom
39. if(EstadoBotao3 && !EstadoBotao2 &&
40. !EstadoBotao1) {
41. Tom = 1000;
42. digitalWrite(ledPin2, HIGH); //LED 2
43. }
44. while(Tom > 0){
45. digitalWrite(Buzzer, HIGH); //Buzzer
46. delayMicroseconds(Tom); //Tempo de es
47. digitalWrite(Buzzer, LOW); //Buzzer d
48. delayMicroseconds(Tom); //Tempo de es
49. Tom = 0;
50. digitalWrite(ledPin1, LOW); //LED 1 d
51. digitalWrite(ledPin2, LOW); //LED 2 d
52. digitalWrite(ledPin3, LOW); //LED 3 d
53. }
54. }

Você também pode gostar