Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

A FECHADURA ELETRÔNICA

Por:   •  16/5/2018  •  1.913 Palavras (8 Páginas)  •  401 Visualizações

Página 1 de 8

...

#include //Importação da biblioteca Stepper.h, usada para controlar o motor de passo.

const int passos = 30; // Define o número de passos para o motor.

int botao=0;

int bitEntrada; // Recebe bits da entrada serial.

boolean porta=false; // Verifica a condição da porta.

Stepper myStepper(passos, 8, 9, 10, 11); // Inicializa a biblioteca Stepper, definindo os pinos 8 a 11.

void setup() {

myStepper.setSpeed(100); // Define a velocidade de rotação para 100 RPM.

Serial.begin(9600);// Inicializa a porta serial.

}

void loop() {

botao=digitalRead(3); // Lê o status do botao no pino digital 3.

if(Serial.available()>0){ // Se a porta serial estiver abilitada :

bitEntrada = Serial.read(); // bitEntrada recebe a leitura .

if(bitEntrada = 1){ // Se o bit for igual a "1" ou seja, o usuário digitou a senha corretamente.

myStepper.step(passos); //O motor realizará o número de passos já definido, e então, abrirá a fechadura.

}

}

if(botao==HIGH && porta == false){ //Se o botão está pressionado (porta fechada) e a fechadura fechada.

myStepper.step(0); // O motor não rotacional.

}

else if(botao==LOW){ // Se o botão não está pressionado (porta aberta).

porta = true ;

}if(botao==HIGH && porta == true){ // Se o botão estiver pressionado (porta fechada) e a fechadura aberta.

myStepper.step(-passos); // Motor gira com o mesmo número de passos, mas em sentido contrário.

porta = false ;

}

else{ // Qualquer outra condição, motor parado.

myStepper.step(0);

}

}

A criação da interface que irá interagir com o usuário, foi programada usando a linguem Java. Para isso foi necessário a instalação do JDK, compilador Java e o NetBeans 8.1, IDE usada para descrição das linhas de código. A interface é composta por uma janela, que contém um campo de senha em branco, dígitos de 0 a 9, botão X (apagar) e botão OK. Além disso, também foi necessário fazer a conexão NetBeans Java com a IDE de desenvolvimento do arduíno. Abaixo está descrito os códigos de conexão e os códigos que aderiram uma determinada função para cada botão da interface.

package Interface;

import com.sun.javafx.collections.MappingChange;

import gnu.io.CommPortIdentifier; //Após a instalação do DLL RXTXcomm libera a importação.

import gnu.io.NoSuchPortException; //Após a instalação do DLL RXTXcomm libera a importação.

import gnu.io.SerialPort;

import java.io.IOException;

import java.io.OutputStream;

import java.io.InputStream;

import java.util.Map;

import javax.swing.JOptionPane;

public class Tela extends javax.swing.JFrame {

private OutputStream serialOut;

private int taxa;

private String portaCOM;

String senha; //Variável string pra armazenar a senha que o usuário digita. String teclado; //Variável string teclado para armazenar as a função de casa botão numérico de 0 a 9.

public Tela() {

this.portaCOM = "COM3"; //Conexão com o arduíno usando a porta COM3.

this.taxa = 9600;

this.initialize();

senha = "00000"; //Senha usada para abrir a porta.

teclado=""; //Teclado vazio.

initComponents();

}//Método que verifica se a comunicação com a porta serial está ok.

private void initialize() {

try { //Define uma variável portId do tipo CommPortIdentifier para realizar a comunicação serial.

CommPortIdentifier portId = null;

try { //Tenta verificar se a porta COM informada existe.

portId = CommPortIdentifier.getPortIdentifier(this.portaCOM);

}catch (NoSuchPortException npe) {

//Caso a porta COM não exista será exibido um erro.

JOptionPane.showMessageDialog(null, "Porta COM não encontrada.",

"Porta COM", JOptionPane.PLAIN_MESSAGE);

}

//Abre a porta COM.

SerialPort port = (SerialPort) portId.open("Comunicação serial", this.taxa);

serialOut = port.getOutputStream();

port.setSerialPortParams(this.taxa, //Taxa de transferência da porta serial.

SerialPort.DATABITS_8, //Taxa de 10 bits 8 (envio).

...

Baixar como  txt (22.2 Kb)   pdf (79.4 Kb)   docx (27.7 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no Essays.club