Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed filesystem TextLCD
Fork of Projeto_Mecatronico by
main.cpp
- Committer:
- ricardoparanhos
- Date:
- 2022-06-19
- Revision:
- 36:6e46a3e4df6c
- Parent:
- 35:c91cd38f7197
File content as of revision 36:6e46a3e4df6c:
#include "JOG.h"
#include "home.h"
#include "LCD.h"
#include "tempo_de_ciclo.h"
#include <iostream>
#include "posicao.h"
#include "SD.h"
#include "perifericos.h"
bool emerg = 0;
char mensagem_emergencia[80];
bool flag=0;
bool flag_main=0;
bool flag_lcd=0;
bool flag_perifericos = 0;
int apitou = 0;
InterruptIn velocidade(PB_11);
DigitalIn vel_inicial(PB_11);
InterruptIn emergencia (PC_13);
void abaixar_velocidade()
{
tempo=0.0026;
tempo_z = 0.0026;
// printf("vel abaixar \n");
}
void aumentar_velocidade()
{
tempo=0.0021;
tempo_z = 0.0021;
// printf("vel aumentar \n");
}
void estado_emergencia_funcao () //O botão de emergência, ao ser apertado, reseta o programa.
{
NVIC_SystemReset();
}
int main()
{
velocidade.rise(&abaixar_velocidade);
velocidade.fall(&aumentar_velocidade);
emergencia.rise(&estado_emergencia_funcao);
if(vel_inicial==1) { //identifica em qual velocidade a chave seletora está
tempo=0.0026;
tempo_z = 0.0026;
// printf("vel inicial devagar \n");
} else {
tempo=0.0021;
tempo_z = 0.0021;
// printf("vel inicial rapido \n");
}
while(1) {
while (emergencia == 1) { //rotina de emergência
laser = 0;
if(flag_lcd==0) {
wait(1);
mostrar_no_lcd("ESTADO DE EMERGENCIA\nDestrave o botao para reiniciar");
flag_lcd=1;
}
if (apitou == 0) {
acionar_perifericos (2, 2);
apitou = 1;
}
acionar_perifericos(2, 3);
}
if(flag==0) {
mostrar_no_lcd("Bem-Vindo!\nAperte Sim para comecar");
acionar_perifericos (0, 0);
flag=1;
}
if(arrow_right_button==0) {
wait(0.5);
while(flag_main==0) {
if(flag==1) {
mostrar_no_lcd("Ir para home?");
acionar_perifericos (0, 0);
flag=0;
}
wait(0.5);
if(arrow_right_button==0) {
mostrar_no_lcd("Indo para home...");
home();
wait(0.5);
flag_main=1;
}
}
wait(0.5);
while(flag_main==1) {
if(flag==0) {
acionar_perifericos (0, 0);
mostrar_no_lcd("Utilizar posicoes salvas no SD?");
flag=1;
}
if(enter_button==0) {
setar_posicoes();
flag_main=0;
mostrar_no_lcd("Indo para home...");
} else if(arrow_right_button==0) {
acionar_perifericos (0, 0);
mostrar_no_lcd("Lendo SD...");
ler_SD();
flag_main=0;
}
}
wait(0.5);
while(flag_main==0) {
if(flag==1) {
acionar_perifericos (0, 0);
mostrar_tempo_jog_preview();
flag=0;
}
wait(1);
if(arrow_right_button==0) {
acionar_perifericos (1, 0);
mostrar_no_lcd("Executando JOG PREVIEW...");
jog_preview_completo ();
flag_main=1;
} else if(enter_button==0) {
flag_main=1;
}
}
wait(0.5);
while(flag_main==1) {
if(flag==0) {
acionar_perifericos (0, 0);
mostrar_tempo_jog();
flag=1;
}
if(arrow_right_button==0) {
acionar_perifericos (1, 0);
mostrar_no_lcd("Executando JOG...");
jog_completo();
mostrar_no_lcd("JOG finalizado. Para voltar ao inicio aperte sim.");
flag_main=0;
} else if(enter_button==0) {
flag_main=0;
mostrar_no_lcd("Processo finalizado!\nAperte Sim para recomecar.");
}
}
}
}
}
