Beruflich Dokumente
Kultur Dokumente
TOCANTINS - IFTO
CAMPUS PALMAS
FERNANDA FRAGA
ISABELLA FERNANDES
JOYCE HELLEN
MATHEUS MACIEL
MATHEUS PEREIRA
MURILO LEOBAS
SILAS BISPO
Relatório do PAINEL
Palmas - TO
2018
FERNANDA FRAGA
ISABELLA FERNANDES
JOYCE HELLEN
MATHEUS MACIEL
MATHEUS PEREIRA
MURILO LEOBAS
SILAS BISPO
Relatório do PAINEL
Palmas-TO
2018
SUMÁRIO
1.INTRODUÇÃO ................................................................................................................... 3
2. COMPONENTES .............................................................................................................. 3
3.DIAGRAMA EM BLOCOS............................................................................................... 7
4. CÓDIGO-FONTE.............................................................................................................. 9
2
1.INTRODUÇÃO
O projeto do Semestre dado ao nosso grupo consistiu em criar um painel que, a partir
da base nos dados da “fechadura” conseguisse estimar a quantidade de presentes no laboratório
G1 e mostrasse esses dados no display. Para isso, esse dispositivo deveria ter as funções reset,
aumento e redução da quantidade estimada de pessoas na sala. Deveria também ser utilizado
um sistema de comunicação sem fio com o painel, podendo ele ser Wi-Fi, Bluetooth, etc.
Para a elaboração e montagem desse protótipo, foi necessária a utilização do
conhecimento aprendido durante as aulas de sistemas microcontrolados, pesquisa em outros
meios, assim como discussão entre o grupo que foi estabelecido para a confecção da fechadura,
para que ambos os processos estivessem em sintonia.
No decorrer do relatório serão abordados os componentes utilizados na confecção do
material, diagrama de blocos e o esquema eletrônico.
2. COMPONENTES
3
suportar o microcontrolador; basta conectá-lo a um computador com um cabo USB ou ligá-lo
com um adaptador AC para DC ou bateria para começar.
O módulo Bluetooth HC-06 é usado para comunicação wireless entre o Arduino e outro
dispositivo com bluetooth (telefone celular, computador ou tablet). As informações recebidas
pelo módulo são repassadas ao microcontrolador, neste caso o Arduino, via serial.
O alcance do módulo segue o padrão da comunicação bluetooth, que é de
aproximadamente 10 metros. Esse módulo funciona apenas em modo slave(escravo), ou seja,
ele permite que outros dispositivos se conectem à ele, mas não permite que ele próprio se
conecte à outros dispositivos bluetooth.
O módulo possui 4 pinos : Vcc (alimentação de 3,6 à 6v), GND, RX e TX, os dois
últimos utilizados para comunicação com o Arduino via serial.
O nível lógico dos pinos RX e TX é de 3.3v, o que significa que, para o Arduino Uno é
preciso um divisor de tensão no pino RX para evitar que o módulo seja danificado. Isso é
necessário pois o Arduino Uno trabalha com nível de sinal de 5v.
4
2.3 CI 74HC595
Figura 3: CI 74HC595
O circuito integrado 74HC595 é um CI do tipo registrador de deslocamento (shift
register), geralmente usado para controle de display 7 segmentos, como é o nosso caso. São 8
saídas que atuam de forma paralela, com o controle sendo feito por apenas 3 pinos de entrada.
Por esse motivo, o 74HC595 também é conhecido por ser um expansor de portas para placas
como Arduino, onde podem ser encadeados vários CI´s e continuar controlando o conjunto com
apenas 3 pinos de entrada.
Numa visão geral este projeto funcionará da seguinte forma, o arduino avisa ao CI
74HC595 que vai enviar dados, o CI se prepara para receber os bits, então o arduino envia 8
bits, um de cada vez, ou seja sequencialmente, o CI apenas armazena cada um dos 8 bits
enviados, o arduino envia um sinal ao CI para que ele libere os 8 bits armazenados, e o CI libera
os 8 bits de uma vez, ou seja paralelamente. E esses passos se repetem para a formação de cada
um dos número.
5
O display de sete segmentos, muitas vezes chamado de “led de 7 segmentos” é um
display constituído por 7 leds retangulares dispostos de forma a que, com uma combinação de
leds acesos e apagados, possa ser mostrada informação alfanumérica não só em decimal como
também em binário, hexadecimal ou octadecimal.
A vantagem de se utilizar esse tipo de componente é que a disposição dos segmentos
de LEDs, os tamanhos dos displays e a disposição e numeração dos pinos é na sua maioria
padronizada, permitindo assim que se utilize displays de múltiplos fabricantes, sem prejuízos.
São intercambiáveis
2.5 Protoboard
Figura 5: Protoboard
Uma protoboard, também conhecida como matriz de contatos, é utilizada para fazer
montagens provisórias, teste de projetos, além de inúmeras outras aplicações. É constituída por
uma base plástica, contendo inúmeros orifícios destinados à inserção de terminais de
componentes eletrônicos. Internamente existem ligações determinadas que interconectam os
orifícios, permitindo a montagem de circuitos eletrônicos sem a utilização de solda. A grande
vantagem é que os componentes podem ser facilmente retirados para serem utilizados
posteriormente em novas montagens.
6
2.6 Jumpers (macho macho)
Jumpers são pequenas peças plásticas, internamente metalizadas para permitir a passagem de
corrente elétrica, que são encaixadas em contatos metálicos encontrados na placa mãe ou em vários
outros tipos de placas. Eles permitem a passagem de corrente elétrica entre dois pinos, funcionando
como um interruptor. Alternativas na posição de encaixe dos jumpers, permitem programar vários
recursos da placa mãe, como a voltagem, tipo e velocidade do processador e memória usados, além de
outros recursos.
2.7 Resistores
Figura 7: Resistores
São peças utilizadas em circuitos elétricos que tem como principal função converter
energia elétrica em energia térmica, ou seja, são usados como aquecedores ou como
dissipadores de eletricidade.
3.DIAGRAMA EM BLOCOS
7
INÍCIO
Zerar
contadores
Sinal de
Exibir dígito zero
Reset
nos dois Displays
Fazer leitura do
Sinal de
Sinal Recebido
Incremento Sinal de
Decremento
Fazer incremento no
Fazer decremento no
contador menos
contador menos
significativo
significativo
Valor do contador
menos significativo Valor do contador
Não
maior do que 9? menos significativo
menor do que 0? Exibir valor do contador
Sim Não menos significativo no
Sim
Exibir valor do Display menos
Zerar contador
Valor do contador significativo
contador menos
menos significativo
mais significativo
significativo no
igual a 0?
Exibir valor do contador Display menos
menos significativo no significativo Sim Não
Fazer incremento no
Exibir dígito zero Exibir valor do contador
contador mais
nos dois Displays menos significativo no
significativo
Display menos
Valor do contador significativo
mais significativo
maior do que 9?
Não Fazer decremento
Sim
Exibir valor do no contador mais
Zerar contador significativo
contador mais
mais significativo
significativo no Exibir valor do
Display mais contador menos
Exibir valor do contador mais significativo significativo no Display
significativo no Display mais menos significativo 8
significativo
4. CÓDIGO-FONTE
#include <SoftwareSerial.h>
char receivedChar;
boolean pontodecimal;
int tempoant = 0;
int numPessoas = 0;
int unidade = 0, dezena = 0;
void setup() {
Serial.begin(9600);
Serial.println("Serial Started");
mySerial.begin(9600);
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
writereg();
}
void loop() {
recvOneChar();
showNewData();
9
}
modreg(0,unidade);
modreg(1,dezena);
receivedChar = NULL;
writereg();
tempoant = tempo;
}
void recvOneChar() {
if (mySerial.available() > 0) {
receivedChar = mySerial.read();
newData = true;
}
}
void showNewData() {
if (newData == true) {
Serial.print("bluetooth data: ");
Serial.println(receivedChar);
newData = false;
}
}
digitalWrite(latchPin, LOW);
for (int i = 15; i>=0; i--){
digitalWrite(clockPin, LOW);
digitalWrite(dataPin, reg[i]);
digitalWrite(clockPin, HIGH);
}
10
digitalWrite(latchPin, HIGH);
}
switch(num){
case 0: // 1111110
reg[posA] = HIGH; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = HIGH; // D
reg[posE] = HIGH; // E
reg[posF] = HIGH; // F
reg[posG] = LOW; // G
break;
case 1: // 0110000
reg[posA] = LOW; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = LOW; // D
reg[posE] = LOW; // E
reg[posF] = LOW; // F
reg[posG] = LOW; // G
break;
case 2: // 1101101
reg[posA] = HIGH; // A
reg[posB] = HIGH; // B
reg[posC] = LOW; // C
reg[posD] = HIGH; // D
reg[posE] = HIGH; // E
reg[posF] = LOW; // F
reg[posG] = HIGH; // G
break;
case 3: // 1111001
11
reg[posA] = HIGH; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = HIGH; // D
reg[posE] = LOW; // E
reg[posF] = LOW; // F
reg[posG] = HIGH; // G
break;
case 4: // 0110011
reg[posA] = LOW; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = LOW; // D
reg[posE] = LOW; // E
reg[posF] = HIGH; // F
reg[posG] = HIGH; // G
break;
case 5: // 1011011
reg[posA] = HIGH; // A
reg[posB] = LOW; // B
reg[posC] = HIGH; // C
reg[posD] = HIGH; // D
reg[posE] = LOW; // E
reg[posF] = HIGH; // F
reg[posG] = HIGH; // G
break;
case 6: // 1011111
reg[posA] = HIGH; // A
reg[posB] = LOW; // B
reg[posC] = HIGH; // C
reg[posD] = HIGH; // D
reg[posE] = HIGH; // E
reg[posF] = HIGH; // F
reg[posG] = HIGH; // G
break;
case 7: // 1110000
reg[posA] = HIGH; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = LOW; // D
reg[posE] = LOW; // E
reg[posF] = LOW; // F
reg[posG] = LOW; // G
break;
12
case 8: // 1111111
reg[posA] = HIGH; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = HIGH; // D
reg[posE] = HIGH; // E
reg[posF] = HIGH; // F
reg[posG] = HIGH; // G
break;
case 9: // 1111011
reg[posA] = HIGH; // A
reg[posB] = HIGH; // B
reg[posC] = HIGH; // C
reg[posD] = HIGH; // D
reg[posE] = LOW; // E
reg[posF] = HIGH; // F
reg[posG] = HIGH; // G
break;
default: // 0000001
reg[posA] = LOW; // A
reg[posB] = LOW; // B
reg[posC] = LOW; // C
reg[posD] = LOW; // D
reg[posE] = LOW; // E
reg[posF] = LOW; // F
reg[posG] = HIGH; // G
break;
}
}
13
5. ESQUEMA ELETRÔNICO
6.REFERÊNCIAS BIBLIOGRÁFICAS
15