CURSO DE LICENCIATURA em
ENGENHARIA INFORMATICA e
SISTEMA E COMPUTACIONAIS
O sistema ira monitorizar quando o elevador era chegar em cada piso , ou seja, quando for
pressionado o botão um dos pisos o elevador era entrar em movimento ,ira gravar um registo desse
movimento no ficheiro utilizando um shield SD.
Para chamar o elevador em um piso vamos utilizar botão conectados na porta 8 ,9 e 10 . Cada
piso tem um lâmpada led branca que estão ligadas nas portas 5, 6 e 7 , cada lâmpada ficara ligado
representando em que piso encontra no momento . O motor CC conectado a porta 11,12 e 13 , a porta
11 controla a velocidade de rotação do motor , a porta 12 controla o movimento inverso do relógio e a
porta 13 controla o movimento do relógio. E o cartão SD ira gravar registo de cada piso que o elevador
esteve.
Equipamento necessário
Automação de um elevador
Primeiro Arduino :
Declaração e inicializações das variáveis.
Aqui importamos um biblioteca (Wire) para podermos ter comunicação entre os 2 arduinos;Em
seguida definimos as constantes as portas leds , botões e motor cc.
Void setup()
Começamos inicializando o monitor para veremos as saidas durante a utilizaçao do
elevador.Seguida inicializamos a coneçao entre os 2 arduinos em que este arduino sera o Master
.Depois é inicilizadas as portas com a função pinMode() que recebe um inteiro e o mode da porta.
Neste caso as portas das Leds e motor CC do como modo OUTPUT , os botoes como
INPUT_PULLUP e criado um default o elevador era começar no primeiro andar com o funçao
digitalWrite com HIGH(led ligada);
void primer_andar():
responsável para ligar a led do primeiro piso e desliga as outras leds.
Void segund_andar():
responsável para ligar a led do segundo piso e desliga as outras leds.
Void tercer_andar():
responsável para ligar a led do terceiro piso e desliga as outras leds .
Void paracima():
responsável pelo movimento inverso dos ponteiros do relógio no motor cc na velocidade
minima .
Void parabaixo():
responsável pelo movimento dos ponteiros do relógio no motor cc na velocidade mínima.
Void parar():
responsável para parar o movimento do motor cc .
Void loc_primer () :
responsável para quando e pressionado o primeiro botão vai ser verificado qual led esta ligado
caso se a led do primeiro piso estiver ligado o elevador mantém parado, caso estiver nos outros 2 pisos
o elevador era descer ate o primeiro piso chegando la a led do piso anterior e desligado e a led do
primeiro piso e ligado. Finalmente é enviada para serial motivor e para o outro arduino uma mensagem
“Primeiro andar”.
Void loc_segund():
Responsável para quando e pressionado o segundo botão vai verificar qual led esta ligado caso
a led do segundo piso estiver ligado o elevador mantém parado , caso a led do primeiro piso estiver
ligado o elevador ira subir para o segundo andar no espaço de 3segundos para e liga a led do segundo
piso. Caso a led do terceiro piso estiver ligado o elevador era descer para o segundo piso em 3
segundos, para e liga a led do terceiro piso .
Void loc_tercer():
Responsável para quando e pressionado o terceiro botão vai verificar qual led esta ligado caso a
led do terceiro piso estiver ligado o elevador mantém parado , caso a led do primeiro piso estiver
ligado o elevador ira subir para o terceiro piso no espaço de 6segundos para e liga a led do terceiro
piso. Caso a led do segundo piso estiver ligado o elevador era subir para o segundo piso em 3
segundos, para e liga a led do terceiro piso.
Void loop():
executa as funçoes loc_primer(), loc_segund() e log_tercer().
Segundo arduino :
Void setup()
Começamos inicilizando o monitor para veremos as saidas durante desenvolvimento,
inicilizamos o Wire() na porta logica 4 e que o arduino ira receber evento .Depoi e feito a verificaçao
se o SD esta ligado ou nao .
Void receiveEvent()
Abrimos o ficheiro declaramos para ficheiro de escrita vai ser monitorizado no monitor
quando esta disponível o arduino master vai mandar informaçao para o slave arduino para em que vai
ler o contido e transmitir esta informação para o ficheiro o vai guardar esta informação no SD.