Professional Documents
Culture Documents
1
SUMÁRIO
1 - INTRODUÇÃO............................................................................................. 08
2 - LISTA DE COMPONETES.......................................................................... 09
3 - OBJETIVOS ............................................................................................... 10
3.1 - OBJETIVO DO PROJETO....................................................................... 10
4 - METODOLOGIA ........................................................................................ 11
4.1 - ETAPAS DE DESENVOLVIMENTO ....................................................... 11
4.2 - ESTUDO DO CASO ............................................................................... 11
4.3 - AQUISIÇÃO E VIABILIDADE DO PROJETO .......................................... 11
4.3.1 - TABELA DE CUSTO COMPONENTES .............................................. 12
5 - ANALISE DE COMPONDES ..................................................................... 13
5.1 - REGULADOR LM 317 ............................................................................ 13
5.2 - REGULADOR 7805 OU AMS 1117 5V E 3,3V ........................................ 14
5.3 - ATMEGA 328 ......................................................................................... 15
5.4 - EQUIPAMENTOS DE SAIDA ................................................................. 16
5.5 - DISPLAY LCD 16X2 BACKLIGHT AZUL ............................................... 16
5.6 - LCD TFT 2,4” ......................................................................................... 18
5.7 - ULTRASON HC –SR04 ......................................................................... 19
5.8 - MODULO TRAMISSOR / RECEPTOR RF 433MHZ ................................ 20
5.9 - PLACAS SOLARES ............................................................................... 22
5.10 - OUTROS COMPONTES ...................................................................... 22
5.10.1 – BATERIA RECAREGAVEIS ............................................................ 13
5.10.2 - CAIXAS PLASTICAS ....................................................................... 22
5.10.3 - SERVO MOTOR ............................................................................... 23
5.10.3.1 - SERVO MOTOR ELETRÔNICA DE CONTROLE ............................ 24
5.10.4 - PAN TILT ......................................................................................... 25
6 - ANALISE DE FUNCIONAMENTO DOS EQUIPAMENTOS........................ 26
6.1 - MÓDULOS TRANSMISSOR / RECEPTOR RF 433MHZ ........................ 26
6.1.1 - MÓDULO TRANSMISSOR ................................................................. 26
6.1.2 - MÓDULO RECEPTOR ....................................................................... 29
7 - CÓDIGOS EM C++ .................................................................................... 31
7.1- CÓDIGOS EM C++ EMISSOR ................................................................. 31
2
7.2 - CÓDIGOS EM C++ RECEPTOR ............................................................ 32
8 - CRONOGRAMA DE EXECUÇÃO .............................................................. 34
9 - PAGINAS DE WEB COMO REFERÊNCIA BIBIOGRAFICA ..................... 34
10 - REFERÊNCIA BIBIOGRAFICA ............................................................... 34
11 - APENDICE A ............................................................................................ 34
3
ABSTRACT
The need to measure the level in a water box domestic or container any
came the idea to use a non evasive, ie without contact with the fluid, so we can
use the ultrasound sensor and transmit via RF433 the measured variable for a
display.
4
1 - INTRODUÇÃO
Para poder medir o nível de água usamos o sensor ultrassom HC-SR04, que
usa elementos para emitir e receber ondas mecânica de alta frequência, onde os
dados são enviados para um Microcontrolador Atmel 328 que converte o tempo
de resposta e assim calcula a distância da água medido o nível, que transmite
via RF433Mhz para outro
Microcontrolador 328 manda o resultado para uma tela de LCD 2,4 para servir
como leitor remoto, assim o usuário pode ver o nível e a distância medida sem
estar no lugar da medição.
5
2 - LISTAGEM DE COMPONENTES USADOS.
Quantidade Componentes Primário.
2 Microcontrolador Atmega 328P
1 Ultrassom HC-SR04
1 Emissor RF 433 Mhz
1 Receptor RF433 Mhz
1 Tela Touscreem lcd 2,4”
1 Placa Solar 12v
8 Bateria Recarregável
1 Display lcd 16x2
3 LM 317
2 LM 7805
2 Led
1 Transistor BC 548
2 Diodos Zener 1N5998
2 Diodos 1N4007
2 NE555
2 AMS 1117 5V
1 AMS 1117 3,3V
2 Servo Motor 9g
15 Capacitor cerâmica
10 Capacitor eletrolítico
2 Potenciômetro 10K
2 Trimpot 10K
2 Cristal oscilador
3 Botão ON/OFF
2 Antenas
1 Pan tilt
2 Suporte para Microcontrolador
1 Caixa coletor de dados Patola
1 Caixa Patola
10 Resistor
6
3 - OBJETIVOS
Figura - 1
7
4 - METODOLOGIA
Por se tratar de um projeto sem uma grande criticidade no seu uso, teria
que ser feito uma análise real da necessidade do uso do medidor, já que em
muitos lares brasileiros não se pode arcar com alguns ditos “luxos” entendendo
que um projeto deste tipo pode influenciar no orçamento doméstico, então foi
proposto um projeto onde o seu custo seja o menor possível.
Abaixo temos uma lista completa de cada componente com uma soma não
muito precisa de seu custo, já que alguns de seus itens não podem ser
encontrados aqui no Brasil, gerando assim um valor que possui uma variação
cambial.
8
4.3.1 - TABELA DE COMPONENTES E SEU CUSTO:
9
5 - ANALISE DE COMPONENTES
Não vamos nos ater em componentes como transistor, resistor, capacitor
ou diodos, vamos focar nos reguladores e Microcontrolador e compondes
especifico.
Figura - 2
Figura - 3 Figura - 4
Figura - 5
10
5.2 – REGUALDOR 7805 ou AMS 1117 5v e 3,3V SMD
Figura - 6 Figura - 7
. Figura - 8 Figura - 9
Figura - 10
11
5.3 - ATMEGA 328
Figura - 11
Figura - 12 Figura - 13
Figura - 14 Figura - 15
12
5.4 – ELEMENTOS DE SAIDA
http://www.4shared.com/rar/zsPedGIzce/LiquidCrystal.html
13
Figura - 17
Figura - 18
Figura - 19
Figura – 16a
Tabela de Uso dos pinos do display
vss vdd V0 RS RW E D0 D1 D2 D3 D4 D5 D6 D7 A K
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
GND + Pt1 P12 GND P11 X X X X P5 P4 P3 P2 Pt2 GND
Pt = Potenciômetro(Trimpot) P= Pinos X= não usado
Figura – 16b
5.6 - LCD TFT 2.4”
Figura - 21
Figura - 22
Figura - 20
Figura - 23
1
5.7 – ULTRASSOM HC-SR04
𝐸𝑐ℎ𝑜 𝑥 𝐶
𝐷=
2
Figura - 24
Figura - 25
aqui:http://www.4shared.com/rar/LIJjnYd8ba/Ultrasonic.html
2
5.8 – MODULOS TRANSMISSOR / RECEPTOR RF 433MHZ
Figura - 27
http://www.4shared.com/rar/g6jcV7Huba/VirtualWire.html
3
5.9 – PLACAS SOLARES
Não há nenhuma configuração extra para sua ligação, similar a outras fontes,
cuidar apenas para não alimentar as placas, usando um diodo para controle de
fluxo.
Figura - 27 Figura - 28
4
5.10 – OUTROS COMPONENTES
Figura - 29
Figura - 30 Figura - 31
5
5.10.3 - SERVO MOTOR
Por seu custo ser baixo usamos o servo 9G com boa facilidade de uso e
código simples. Suas especificações são: Tensão de operação varia de 3,0Va
7,2V com grau de liberdade de 180 graus e velocidade de 0,12S/60graus, torque
1,2Kg.cm(48V) e 106Kg,cm(6V), temperatura de operação de -30Cº a + 60Cº,
os quais possui dois tipos de engrenagens internas de nylon e metal, o de metal
recebe a denominação de 9S.Dimenções 32x30x12mm e peso de 9g.
Na Figura – 32 Temos a sua imagem real com suas peças, Figura – 33 e 34
temos um esquema simples de ligação e seu conector, já a Figura – 35 temos o
seu programa básico em C++.
Figura - 32
void loop()
{
for(pos = 0; pos < 90; pos++)
{
s.write(pos);
Figura - 33 delay(15);
}
delay(1000);
for(pos = 90; pos >= 0; pos--
)
{
s.write(pos);
delay(15);
}
}
Figura - 34
30 Figura - 35
6
5.10.3 - SERVO MOTOR ELETRÔNICA DE CONTROLE
Por o controlador Atmega 328 ter um limite de utilização das portas de
configuração e assim não haver conflitos entre as bibliotecas dos componentes
convencionou-se usar um circuito separado para o controle dos servos, usando
o CI 555, muito aplicado em eletrônica pela sua gama de possibilidades. Para
começos sabendo que os Servos 9G usam PWM* como princípio de
funcionamento básico, então vamos explanar um pouco do 555. Na Figura – 36
temos sua forma real e com seu respectivos pinos, este circuito tem como
característica ser um oscilador com dispararão e retardo podendo gerar ondas
para configuração monoestável ou estável, saído um pulso de onda quadrada
(caracteriza por PWM*), em que variado o potenciômetro(RV1) pode direcionar
o sentido de rotação do motor, para direita ou para esquerda. Na Figura - 38
temos um dos seus esquemas simples com sua onda simulada no osciloscópio
do Proteus 8. Para cálculo da forma da onda segue a fórmula:
𝑻𝟏 = 𝟎. 𝟔𝟗𝟑(𝑹𝒂 + 𝑹𝒃 ) ∗ 𝑪 𝒐𝒖 𝑻𝟐 = 𝟎, 𝟔𝟗𝟑(𝑹𝒃 ) ∗ 𝑪,
Onde:
T1= Altura da onda T2 = distância entre as mesmas Ra e Rb resistor C =
Capacitor
𝟎. 𝟔𝟗𝟑 e a constante do logaritmo para cálculo de onda usado no NE555
Aplicado no circuito temos: RV1 como sendo Ra e esta junto do R1 e R2 = Ra
Figura - 36
Figura - 37
7
Figura - 38
*(Vide Apêndice A )
Figura - 40
Figura - 39
8
6 - ANALISE DE FUNCIONAMENTO DOS EQUIPAMENTOS
Figura - 41
9
Figura - 42
Para manter sua tensão maior que 7,4V ajustado pelo Resistor R1, ou seja,
para ser maior que tensão de carga das Bateria (item 5.12), usando um Diodo
Zener D3 de tensão de 8,5V que é regulada pelo resistor R3, o qual manda uma
tensão para o transistor NPN BC 548 Q1 com seu transistor R3 regulador do Vbc,
que tem um diodo D1 4007 de não deixar o fluxo da tensão voltar a regulador,
fazendo assim um loop de controle dentro da faixa de 8V carregando assim as
Baterias já mencionada. As Baterias também possuem um Diodo 4007 D2 que
não deixa o fluxo de corrente voltar para o circuito regulado. Podemos ver na
Figura – 43 a sua imagem simulada no Proteus 8.
Figura - 43
10
As Baterias foram carregada e envia uma tenção de 7,4V para o regulador
SMD AMS 1117 de 5V com seus respectivos capacitores, que por sinal fornece
a carga de necessária para manter os compondes ligados com queda de tensão
de para 5V.
O módulo possui um display LCD 16x2 que mostra os dados medido pelo
ultrassom, podendo assim ser visualizado no local, mesmo não tendo em mãos
o modulo receptor.
Por ter duas fontes de tensão o modulo possui depois interruptor ON/OFF,
que poder ser desligados ou ligados, uma para as Baterias e outro para a Placa
Solar.
11
6.1.2 – MÓDULO RECEPTOR
Este modulo possui uma tela Touchscreen de LCD TFT 2,4” um receptor
RF 433Mhz, mais simplista que o módulo emissor, por ser um elemento passivo
e depender dos dados emitindo, como sendo um equipamento para mostrar o
nível e a medida feita pelo sensor seus circuito são mais simples. Temos a sua
forma física na Figura - 44
Figura - 44
12
Figura - 45
Figura - 46
13
7 – CÓDIGOS EM C++ PARA IMPLANTAÇÃO NO MICROCONTROLADOR*
//------------------------------------------------------------
void setup() {
// Comunicacao com o Serial Monitor
Serial.begin(9600); // baud-rate
Serial.println("\nLendo dados do sensor...");
lcd.begin(16,2); //Inicializa LCD
// Inicializando E/S do transmissor
vw_set_tx_pin(TX);
vw_set_ptt_inverted(true); // Requerido para DR3100
vw_setup(2000); // Bits por segundos
}
//--------------------------------------------------------------
void loop() {
// Funcoes do Sensor - Calculos
float cmMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
// imprimindo no display 16x2
Serial.print("Nivel e:");
Serial.println(cmMsec);
lcd.setCursor(1, 0);
lcd.print("Nivel e:");
lcd.setCursor(0, 1);
lcd.print(cmMsec);
//---------------------------------------------
// Envio de dados via RF 433 mhz
// Convertendo int para char
char SensorCharMsg[10];
itoa(cmMsec, SensorCharMsg,10);
digitalWrite(LED, HIGH); // Pisca LED no pino 13 enquanto esta transmitindo
vw_send((uint8_t *)SensorCharMsg, strlen(SensorCharMsg));
vw_wait_tx(); // Espera o envio da informacao
digitalWrite(LED, LOW);
delay(1000);
}
//-------------------------------------------
14
7.2 – MÓDULO RECEPTOR
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Medidor de Nivel com Ultrasom HC-SR04 e RF 433 MHz
//RF TX - 433 MHz
//Joao Francisco
//Data: 12/07/2016
// v.1.0
//Codigo do receptor com display 16x2
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SWTFT tft;
//Armazena o estado dos botões
#define BOXSOZE 40
#define PENRADIUS 3
int color, currentcolor;
int val = 0;
int cmMsec;
const int LED = 13;
const int RX = 11;
void setup() {
// Comunicacao com o Serial Monitor
Serial.begin(9600);
Serial.println("Receptor");
tft.reset();
uint16_t identifier = tft.readID();
Serial.print(F("LCD driver chip: "));
Serial.println(identifier, HEX);
tft.begin(identifier);
pinMode(13, OUTPUT);
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
//--------------------------------------------
//box de medida da altura do nivel do liquido
tft.fillScreen(BLACK );
tft.setRotation(1);
tft.setTextSize(3); // tamanho da fonte
tft.setCursor(156,63); // posição do texto
tft.setTextColor(BLUE); //cor do texto mostrado
tft.println("Cm");
tft.setRotation(1);
tft.setTextSize(5); // tamanho da fonte
tft.setCursor(15,48); // posição do tex
tft.println(cmMsec); // varivel convertida
15
// box de medida
tft.setRotation(1);
tft.setTextSize(2); // tamanho da fonte
tft.setCursor(10,20); // posição do texto
tft.setTextColor(BLUE); //cor do texto mostrador
tft.println(" Altura Medida:");
tft.setCursor(10, 140);
tft.setTextSize(2);
tft.setTextColor(WHITE);
tft.println(" Deivid ");
tft.println(" Joao Francisco ");
tft.println(" Maicon ");
tft.println(" Carlos ");
tft.setTextSize(2);
tft.setRotation(0);
//--------------------------------------------
//--------------------------------------------
// Box do Nivel
tft.setRotation(1);
tft.setTextSize(1);
tft.setTextColor(RED);
tft.setCursor(216,65);
tft.println("100%-");
tft.setCursor(220,97);
tft.println("75%-");
tft.setCursor(220,129);
tft.println("50%-");
tft.setCursor(220,161);
tft.println("25%-");
tft.setCursor(220,193);
tft.println("00%-");
//-----------------------------
// Texto do nivel
tft.setRotation(1);
tft.setCursor(250,32); // posição do texto
tft.setTextColor(RED); //cor do texto mostrador
tft.println(" Nivel");
tft.setTextSize(1); // tamanho da fonte
tft.setCursor(213,43); // posição do texto
tft.setTextColor(RED); //cor do texto mostrador
tft.println(" Em porcentagem:");
delay(1000);
Serial.print("Nivel: ");
Serial.print(cmMsec);
Serial.println(" Cm");
digitalWrite(LED, LOW);
}
}
*O código é de compilação de vários outros implementados para caso, não espere algo do assunto totalmente original, já que estamos lidando com hardware e software de código livre,
sempre disponível na comunidade Arduíno.
16
8- CRONOGRAMA DE EXECUÇÃO
10 - REFERÊNCIA BIBIOGRAFICA
11 - APENDICE A
17
Modulação por Posição de Pulso (PPM)
Também conhecida por PWM, do inglês Pulse Width Modulation, este tipo de
modulação mantém a amplitude dos pulsos constantes e varia-se a sua largura
proporcionalmente aos valores de f(t)(sinal modulador) nos instantes
correspondentes, como mostra a Figura 1.
RETIRADO DO SITE
https://www.eecis.udel.edu/~portnoi/academic/academic-files/pwm.html
Todos os direitos aos autores, foi suprimida as partes que foge do escopo do texto.
18