0% acharam este documento útil (0 voto)
23 visualizações8 páginas

Projeto 2 Arduino

O projeto consiste em desenvolver um sistema integrado para monitorar distâncias de dois sensores ultrassônicos conectados ao Arduino Uno, exibindo as leituras em um display LCD e utilizando LEDs para indicar a proximidade dos objetos. O sistema mede continuamente as distâncias e a temperatura ambiente, atualizando as informações a cada 500 ms. Componentes principais incluem Arduino Uno, display LCD I2C 20x4, sensores ultrassônicos, LEDs e um sensor de temperatura NTC.

Enviado por

guilunazac1
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)
23 visualizações8 páginas

Projeto 2 Arduino

O projeto consiste em desenvolver um sistema integrado para monitorar distâncias de dois sensores ultrassônicos conectados ao Arduino Uno, exibindo as leituras em um display LCD e utilizando LEDs para indicar a proximidade dos objetos. O sistema mede continuamente as distâncias e a temperatura ambiente, atualizando as informações a cada 500 ms. Componentes principais incluem Arduino Uno, display LCD I2C 20x4, sensores ultrassônicos, LEDs e um sensor de temperatura NTC.

Enviado por

guilunazac1
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

UNIVERSIDADE ESTADUAL PAULISTA

Faculdade de Engenharia de Ilha Solteira


Departamento de Engenharia Elétrica

MEC 638 - Laboratório de Eletrônica

Projeto 2 - Sensores de distância

Data de Entrega: 25 de novembro de 2024

Alunos:
Guilherme Luna Zacarias RA.: 212051806

Professor:
Prof. Dr. Carlos Antônio Alves

Ilha Solteira - SP
Novembro de 2024
Sumário
1 Enunciado 3

2 Circuito 5

3 Código feito no WOKWI 6


3

1 Enunciado
O objetivo deste projeto é desenvolver um sistema integrado que monitore, em
tempo real, as distâncias de dois sensores ultrassônicos conectados ao Arduino Uno.
O sistema utiliza um display LCD I2C 20x4 para exibir as leituras de distância em
centímetros de cada sensor e a temperatura ambiente. LEDs são usados para indicar
a proximidade dos objetos detectados pelos sensores, sinalizando com cores diferentes
dependendo da distância medida, e um LED piscando é acionado quando a distância
atinge um valor crítico.

Requisitos do Projeto
1. Componentes:

• Arduino Uno;
• Display LCD I2C 20x4;
• 2 sensores ultrassônicos;
• 3 LEDs (Verde, Amarelo, Vermelho);
• 1 sensor de temperatura (NTC);

2. Funcionalidades:

• Medir continuamente as distâncias dos sensores ultrassônicos conectados


aos pinos digitais do Arduino.
• Exibir, em tempo real, no LCD:
– As distâncias medidas pelos dois sensores (frente e traseira) com precisão
de dois decimais.
– A temperatura ambiente medida pelo sensor NTC.
• Indicar a proximidade dos objetos detectados pelos sensores por meio dos
LEDs:
– LED Verde: Quando a menor distância detectada for maior que 1 metro.
– LED Amarelo: Quando a menor distância for entre 0,5 e 1 metro.
– LED Amarelo piscando: Quando a menor distância for entre 0,3 e 0,5
metros.
– LED Vermelho: Quando a menor distância for inferior a 0,3 metros.

3. Atividade:
4

• As distâncias são calculadas com base no tempo de propagação do sinal


ultrassônico, convertendo o valor em centímetros.
• A temperatura ambiente é lida pelo sensor NTC e convertida para graus
Celsius.
• LEDs são acionados para representar visualmente a proximidade dos objetos,
com diferentes cores e piscando quando necessário.

4. Exibição:

• O sistema atualiza as informações exibidas no LCD a cada 500 ms.

Construção do Circuito
1. Conexões principais:

• Os sensores ultrassônicos são conectados aos pinos digitais 9, 8, 7 e 6 do


Arduino (pinos de Trigger e Echo para cada sensor).
• Os LEDs (verde, amarelo e vermelho) são conectados aos pinos digitais 10,
11 e 12 do Arduino.
• O sensor de temperatura NTC é conectado ao pino analógico A0.
• O display LCD é conectado à interface I2C (pinos SDA e SCL do Arduino).
5

2 Circuito

Figura 1: Circuito simulado no WOKWI


6

3 Código feito no WOKWI


Clique aqui para acessar o link do projeto
1

2 # include <Wire.h>
3 # include <LiquidCrystal_I2C .h>
4

6 const int trigPin1 = 9;


7 const int echoPin1 = 8;
8 const int trigPin2 = 7;
9 const int echoPin2 = 6;
10

11 const int greenLED = 10;


12 const int yellowLED = 11;
13 const int redLED = 12;
14

15

16 const int ntcPin = A0;


17

18

19 LiquidCrystal_I2C lcd (0x27 , 20, 4);


20

21 void setup () {
22

23 pinMode (trigPin1 , OUTPUT );


24 pinMode (echoPin1 , INPUT );
25 pinMode (trigPin2 , OUTPUT );
26 pinMode (echoPin2 , INPUT );
27

28 // I n i c i a l i z a o dos LEDs
29 pinMode (greenLED , OUTPUT );
30 pinMode (yellowLED , OUTPUT );
31 pinMode (redLED , OUTPUT );
32

33 // I n i c i a l i z a o do LCD
34 lcd. begin (20 , 4);
35 lcd. backlight ();
36

37 Serial . begin (9600) ;


38 }
39

40 void loop () {
41

42 float distance1 = readUltrasonicDistance (trigPin1 , echoPin1 );


43 float distance2 = readUltrasonicDistance (trigPin2 , echoPin2 );
44 float minDistance = min(distance1 , distance2 );
7

45

46

47 float temperature = readTemperature (A0);


48

49 // A t u a l i z a o do display LCD
50 lcd. clear ();
51 lcd. setCursor (0, 0);
52 lcd. print (" Front : ");
53 lcd. print ( distance1 );
54 lcd. print (" cm");
55 lcd. setCursor (0, 1);
56 lcd. print ("Back: ");
57 lcd. print ( distance2 );
58 lcd. print (" cm");
59 lcd. setCursor (0, 2);
60 lcd. print ("Temp: ");
61 lcd. print ( temperature );
62 lcd. print (" Graus C");
63

64 // L g i c a dos LEDs
65 if ( minDistance > 100) {
66 digitalWrite (greenLED , HIGH);
67 digitalWrite (yellowLED , LOW);
68 digitalWrite (redLED , LOW);
69 } else if ( minDistance > 50) {
70 digitalWrite (greenLED , LOW);
71 digitalWrite (yellowLED , HIGH);
72 digitalWrite (redLED , LOW);
73 } else if ( minDistance > 30) {
74 digitalWrite (greenLED , LOW);
75 digitalWrite (yellowLED , HIGH);
76 digitalWrite (redLED , LOW);
77 delay (5);
78 digitalWrite (yellowLED , LOW);
79 delay (5);
80 } else {
81 digitalWrite (greenLED , LOW);
82 digitalWrite (yellowLED , LOW);
83 digitalWrite (redLED , HIGH);
84 }
85

86 // C l c u l o do tempo de a t u a l i z a o
87 int delayTime = map( temperature , 0, 100 , 100 , 2000) ;
88 delay ( delayTime );
89 }
90

91 float readUltrasonicDistance (int trigPin , int echoPin ) {


8

92 digitalWrite (trigPin , LOW);


93 delayMicroseconds (2);
94 digitalWrite (trigPin , HIGH);
95 delayMicroseconds (10);
96 digitalWrite (trigPin , LOW);
97 long duration = pulseIn (echoPin , HIGH);
98 return ( duration / 2.0) * 0.0343;
99 }
100

101 float readTemperature (int pin) {


102 int analogValue = analogRead (A0);
103 float resistance = (1023.0 / analogValue ) - 1.0;
104 resistance = 10000.0 / resistance ;
105 float temperature = 1.0 / (log( resistance / 10000.0) / 3950.0 + 1.0 /
298.15) - 273.15;
106 return temperature ;
107 }

Você também pode gostar