Você está na página 1de 16

UNIVERSIDADE DO ESTADO DO AMAZONAS

CENTRO DE ESTUDOS SUPERIORES DE PARINTINS – CESP


LICENCIATURA PLENA EM FÍSICA

CHAVE ELÉTRICA: UMA APLICAÇÃO DO RASPBERRY PI EM


LABORATÓRIO DE FÍSICA
Ramon Lima Azevedo
Acadêmico, Universidade do Estado do Amazonas.

Prof. Dr. Adriano Márcio dos Santos


Orientador, Universidade do Estado do Amazonas.

Parintins/AM
2018
INTRODUÇÃO

Raspberry Pi 3
O protótipo da chave elétrica
Laboratório de Ensino de Física – LEF e Laboratório de Computação Científica –
LCC

2
MATERIAIS E MÉTODOS
• RASPBERRY PI

3
Figura 1. Raspberry Pi 3
MATERIAIS E MÉTODOS
• SISTEMAS OPERACIONAIS COMPATÍVEIS
• Raspbian;
• Ubuntu MATE;
• OSMC;
• Recalbox;
• Pidora.
• PROCEDIMENTOS PARA INSTALAÇÃO DO RASPBIAN

Figura 2. Download do NOOBS.


MATERIAIS E MÉTODOS
• LINGUAGEM PYTHON

Figura 3. IDLE do Python.


MATERIAIS E MÉTODOS
• FECHADURA DE TRAVA ELÉTRICA

Figura 4. Fechadura Elétrica

• RELÉ

Figura 5. Relé FRANGKE JQC-3F(T73)


MATERIAIS E MÉTODOS
• LCD 16X2 COM MÓDULO I2C

Figura 6. Lcd 16x2 com o módulo I2C soldado atrás

• TECLADO DE MEMBRANA

Figura 7. Teclado de membrana 4x3


RESULTADOS E DISCURSÕES
• Modelo Porta de madeira

Figura 8. Porta de madeira 8


RESULTADOS E DISCURSÕES
• Controle do Protótipo

Figura 9. Identificação dos pinos do GPIO


9
RESULTADOS E DISCURSÕES
• Diagrama sobre o funcionamento do protótipo

Figura 10. Funcionamento do Protótipo. 10


RESULTADOS E DISCURSÕES
Código Fonte Explicação
tempo = 2
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD) Importando bibliotecas necessárias para o funcionamento do
código e declaração de variáveis globais.
#Define biblioteca para a lcd
import I2C_LCD_driver
lcdi2c = I2C_LCD_driver.lcd()
def acenderele(pino_rele):
GPIO.output(pino_rele, 1)
return

def apagarele(pino_rele):
GPIO.output(pino_rele, 0)
return Rotinas de definição das funções que serão usadas depois no
decorrer do programa. Entre elas está a contagem de linhas e
def conta_linhas_arq_ext(): carregamento dos dados presentes em “cadastros.txt” e atribuí-
arquivo = open("cadastros.txt","r") los em listas.
n=0
for linha in arquivo.readlines():
n=n+1
arquivo.close()
return n 11
RESULTADOS E DISCURSÕES
def salva_linhas_arq_ext():
arquivo = open("cadastros.txt","r")
for linha in arquivo.readlines():
Lae.append(linha)
arquivo.close()

def atribuir(var):
n=0
while n < NlinTemp:
if n > 0:
Nome.append(Lae[n][0:8])
Id.append(Lae[n][10:13])
Senha.append(Lae[n][15:])
else:
NomeTemp.append(Lae[n][0:8])
IdTemp.append(Lae[n][10:13])
SenhaTemp.append(Lae[n][15:])

n=n+1
12
RESULTADOS E DISCURSÕES
Lae = []
NomeTemp = []
IdTemp = []
SenhaTemp = []

Nome = []
Rotina para criação das listas e chamada das funções criadas
Id = []
Senha = [] para o código fonte.

NlinTemp = conta_linhas_arq_ext()
Nlin = NlinTemp - 1
salva_linhas_arq_ext()
atribuir(Lae)
while True:
lcdi2c.lcd_display_string("ID: ",1)
lcdi2c.backlight(0)
Id_ent = input("ID: ")
lcdi2c.lcd_display_string_pos(Id_ent,1,4)

lcdi2c.lcd_display_string("Senha: ",2)
Rotina para entrada de dados e mostrá-los no LCD por meio
print("\nSenha: ")
Senha_ent = input("") do I2C.
lcdi2c.lcd_display_string_pos("******",2,7)

time.sleep(tempo) 13

Id_ent_num = int(Id_ent)
Senha_ent_num = int(Senha_ent)
cLin = 0
if((Id_ent_num == int(Id[cLin])) and (Senha_ent_num == int(Senha[cLin]))):
#Ativa o relé
acenderele(12)

lcdi2c.lcd_clear()
lcdi2c.lcd_display_string("Acesso Permitido!",1) Esta rotina compara os dados de entrada com os
lcdi2c.lcd_display_string("Oi!",2) dados carregados do arquivo “cadastros.txt”.
lcdi2c.lcd_display_string_pos(Nome[cLin],2,4) Sendo os dados iguais, o relé é ativado e após um
time.sleep(5)
tempo ele é desativado e o usuário acompanha as
#Desativa o relé informações pelo LCD.
apagarele(12)

lcdi2c.lcd_clear()
lcdi2c.lcd_display_string_pos("Porta fechada",1,1)
#Aguarda segundo
time.sleep(tempo)
lcdi2c.lcd_clear()
else:
lcdi2c.lcd_clear()
lcdi2c.lcd_display_string_pos("Acesso Negado!",2,1) Rotina de erro nos dados de entrada não
#Aguarda segundo permitindo o acesso, retornando o loop para a
time.sleep(tempo) entrada de dados.
lcdi2c.lcd_clear()

cLin = cLin + 1 14

Link para o Vídeo


CONCLUSÃO E PESPECTIVAS
O protótipo de chave elétrica apresentou confiabilidade aos vários testes aplicados.

O projeto está em desenvolvimento e passará por otimizações em sua parte


computacional e eletrônica. Está previsto:
• Unificação dos códigos fontes;
• Retirada do monitor e teclado de computador;
• Adicionar um Nobreak;
• Configurar o Raspberry Pi para iniciar o código fonte automaticamente.

15
REFERÊNCIAS
ADAFRUIT. CONFIGURING I2C. DISPONÍVEL EM: <HTTPS://LEARN.ADAFRUIT.COM/ADAFRUITS-RASPBERRY-PI-LESSON-4-GPIO-SETUP/CONFIGURING-
I2C#>. ACESSO EM: 02 DE MARÇO DE 2018.

ARDUINO BR. I2C – PROTOCOLO DE COMUNICAÇÃO. DISPONÍVEL EM: <HTTP://WWW.ARDUINOBR.COM/ARDUINO/I2C-PROTOCOLO-DE-COMUNICACAO/>.


ACESSO EM: 25 DE ABRIL DE 2018.

ARDUINO E CIA. COMO USAR UM DISPLAY LCD I2C COM RASPBERRY PI. DISPONÍVEL EM: <HTTPS://WWW.ARDUINOECIA.COM.BR/2016/12/COMO-USAR-
DISPLAY-LCD-I2C-RASPBERRY-PI.HTML>. ACESSO EM: 02 DE MARÇO DE 2018.
GUIA RASPBERRY PI. DISPONÍVEL EM: <HTTPS://WWW.FILIPEFLOP.COM/BLOG/GUIA-PRIMEIROS-PASSOS-COM-RASPBERRY-PI/>. ACESSO EM: 12 DE ABRIL
DE 2018.

MENEZES, NILO NEY COUTINHO. INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PARA INICIANTES. 2.
ED. SÃO PAULO: NOVATEC, 2016.

NOVO SISTEMA OPERACIONAL. FUNDAÇÃO RASPBERRY LANÇA O NOVO SISTEMA OPERACIONAL PIXEL. DISPONÍVEL EM:
<HTTPS://M.TECMUNDO.COM.BR/SISTEMA-OPERACIONAL/109977-FUNDACAO-RASPBERRY-LANCA-NOVOSISTEMA-OPERACIONAL-PIXEL.HTML>. ACESSO
EM: 05 DE MAIO DE 2018.

OSMC CENTRO MULTIMÍDIA. OSMC, UM CENTRO MULTIMÍDIA COMPLETO PARA RASPBERRY PI E APPLE TV. DISPONÍVEL EM:
<HTTPS://WWW.RASPBERRYSHOP.ES/WP/PT/OSMC-CENTRO-MULTIMEDIA-RASPBERRY-PI-APLE-TV/>. ACESSO EM: 12 DE ABRIL DE 2018.

SISTEMA OPERACIONAL. CINCO SISTEMAS OPERACIONAIS PARA USAR NO RASPBERRY PI. DISPONÍVEL EM:
<HTTPS://WWW.TECHTUDO.COM.BR/LISTAS/NOTICIA/2016/09/CINCO-SISTEMAS-OPERACIONAIS-PARA-USAR-NO-RASPBERRY-PI.AMP>. ACESSO EM: 11 DE
ABRIL DE 2018.

UPTON, EBEN. RASPBERRY PI GUIA DO USUÁRIO / EBEN UPTON, GARETH HALFACREE; TRADUZIDO POR JOÃO TORTELLO. - RIO DE JANEIRO: ALTA
16
BOOKS, 2017. 288 P.: IL.; 17 CM X 24 CM.

Você também pode gostar