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@36:6e46a3e4df6c, 2022-06-19 (annotated)
- Committer:
- ricardoparanhos
- Date:
- Sun Jun 19 20:51:53 2022 +0000
- Revision:
- 36:6e46a3e4df6c
- Parent:
- 35:c91cd38f7197
19/06/22 - 17h52m
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| ricardoparanhos | 18:6631cd661227 | 1 | #include "JOG.h" |
| ricardoparanhos | 19:370efb0ce814 | 2 | #include "home.h" |
| ricardoparanhos | 25:7c7567ae64ed | 3 | #include "LCD.h" |
| ricardoparanhos | 25:7c7567ae64ed | 4 | #include "tempo_de_ciclo.h" |
| ricardoparanhos | 26:6be302ad0278 | 5 | #include <iostream> |
| ricardoparanhos | 26:6be302ad0278 | 6 | #include "posicao.h" |
| ricardoparanhos | 26:6be302ad0278 | 7 | #include "SD.h" |
| ricardoparanhos | 28:84a60377564e | 8 | #include "perifericos.h" |
| ricardoparanhos | 30:9e9c06431b3b | 9 | bool emerg = 0; |
| ricardoparanhos | 28:84a60377564e | 10 | char mensagem_emergencia[80]; |
| ricardoparanhos | 28:84a60377564e | 11 | bool flag=0; |
| ricardoparanhos | 28:84a60377564e | 12 | bool flag_main=0; |
| ricardoparanhos | 30:9e9c06431b3b | 13 | bool flag_lcd=0; |
| ricardoparanhos | 30:9e9c06431b3b | 14 | bool flag_perifericos = 0; |
| ricardoparanhos | 30:9e9c06431b3b | 15 | int apitou = 0; |
| ricardoparanhos | 28:84a60377564e | 16 | InterruptIn velocidade(PB_11); |
| ricardoparanhos | 28:84a60377564e | 17 | DigitalIn vel_inicial(PB_11); |
| ricardoparanhos | 27:cb310c1d2353 | 18 | InterruptIn emergencia (PC_13); |
| ricardoparanhos | 28:84a60377564e | 19 | |
| ricardoparanhos | 28:84a60377564e | 20 | void abaixar_velocidade() |
| ricardoparanhos | 28:84a60377564e | 21 | { |
| ricardoparanhos | 36:6e46a3e4df6c | 22 | tempo=0.0026; |
| ricardoparanhos | 36:6e46a3e4df6c | 23 | tempo_z = 0.0026; |
| ricardoparanhos | 36:6e46a3e4df6c | 24 | // printf("vel abaixar \n"); |
| ricardoparanhos | 36:6e46a3e4df6c | 25 | |
| ricardoparanhos | 28:84a60377564e | 26 | } |
| ricardoparanhos | 28:84a60377564e | 27 | |
| ricardoparanhos | 28:84a60377564e | 28 | void aumentar_velocidade() |
| ricardoparanhos | 28:84a60377564e | 29 | { |
| ricardoparanhos | 36:6e46a3e4df6c | 30 | tempo=0.0021; |
| ricardoparanhos | 36:6e46a3e4df6c | 31 | tempo_z = 0.0021; |
| ricardoparanhos | 36:6e46a3e4df6c | 32 | // printf("vel aumentar \n"); |
| ricardoparanhos | 36:6e46a3e4df6c | 33 | |
| ricardoparanhos | 28:84a60377564e | 34 | } |
| ricardoparanhos | 28:84a60377564e | 35 | |
| ricardoparanhos | 36:6e46a3e4df6c | 36 | void estado_emergencia_funcao () //O botão de emergência, ao ser apertado, reseta o programa. |
| ricardoparanhos | 28:84a60377564e | 37 | { |
| ricardoparanhos | 36:6e46a3e4df6c | 38 | NVIC_SystemReset(); |
| ricardoparanhos | 28:84a60377564e | 39 | } |
| ricardoparanhos | 28:84a60377564e | 40 | |
| ricardoparanhos | 28:84a60377564e | 41 | |
| ricardoparanhos | 28:84a60377564e | 42 | |
| ricardoparanhos | 28:84a60377564e | 43 | int main() |
| ricardoparanhos | 36:6e46a3e4df6c | 44 | |
| ricardoparanhos | 26:6be302ad0278 | 45 | { |
| ricardoparanhos | 36:6e46a3e4df6c | 46 | velocidade.rise(&abaixar_velocidade); |
| ricardoparanhos | 36:6e46a3e4df6c | 47 | velocidade.fall(&aumentar_velocidade); |
| ricardoparanhos | 36:6e46a3e4df6c | 48 | emergencia.rise(&estado_emergencia_funcao); |
| ricardoparanhos | 36:6e46a3e4df6c | 49 | if(vel_inicial==1) { //identifica em qual velocidade a chave seletora está |
| ricardoparanhos | 36:6e46a3e4df6c | 50 | tempo=0.0026; |
| ricardoparanhos | 36:6e46a3e4df6c | 51 | tempo_z = 0.0026; |
| ricardoparanhos | 36:6e46a3e4df6c | 52 | // printf("vel inicial devagar \n"); |
| ricardoparanhos | 27:cb310c1d2353 | 53 | } else { |
| ricardoparanhos | 36:6e46a3e4df6c | 54 | tempo=0.0021; |
| ricardoparanhos | 36:6e46a3e4df6c | 55 | tempo_z = 0.0021; |
| ricardoparanhos | 36:6e46a3e4df6c | 56 | // printf("vel inicial rapido \n"); |
| ricardoparanhos | 28:84a60377564e | 57 | } |
| ricardoparanhos | 36:6e46a3e4df6c | 58 | |
| ricardoparanhos | 28:84a60377564e | 59 | while(1) { |
| ricardoparanhos | 36:6e46a3e4df6c | 60 | |
| ricardoparanhos | 36:6e46a3e4df6c | 61 | |
| ricardoparanhos | 36:6e46a3e4df6c | 62 | while (emergencia == 1) { //rotina de emergência |
| ricardoparanhos | 35:c91cd38f7197 | 63 | laser = 0; |
| ricardoparanhos | 30:9e9c06431b3b | 64 | if(flag_lcd==0) { |
| ricardoparanhos | 30:9e9c06431b3b | 65 | wait(1); |
| ricardoparanhos | 36:6e46a3e4df6c | 66 | mostrar_no_lcd("ESTADO DE EMERGENCIA\nDestrave o botao para reiniciar"); |
| ricardoparanhos | 30:9e9c06431b3b | 67 | flag_lcd=1; |
| ricardoparanhos | 30:9e9c06431b3b | 68 | } |
| ricardoparanhos | 30:9e9c06431b3b | 69 | if (apitou == 0) { |
| ricardoparanhos | 30:9e9c06431b3b | 70 | acionar_perifericos (2, 2); |
| ricardoparanhos | 30:9e9c06431b3b | 71 | apitou = 1; |
| ricardoparanhos | 30:9e9c06431b3b | 72 | } |
| ricardoparanhos | 30:9e9c06431b3b | 73 | acionar_perifericos(2, 3); |
| ricardoparanhos | 30:9e9c06431b3b | 74 | } |
| ricardoparanhos | 36:6e46a3e4df6c | 75 | |
| ricardoparanhos | 28:84a60377564e | 76 | if(flag==0) { |
| ricardoparanhos | 36:6e46a3e4df6c | 77 | mostrar_no_lcd("Bem-Vindo!\nAperte Sim para comecar"); |
| ricardoparanhos | 28:84a60377564e | 78 | acionar_perifericos (0, 0); |
| ricardoparanhos | 28:84a60377564e | 79 | flag=1; |
| ricardoparanhos | 28:84a60377564e | 80 | } |
| ricardoparanhos | 28:84a60377564e | 81 | if(arrow_right_button==0) { |
| ricardoparanhos | 28:84a60377564e | 82 | wait(0.5); |
| ricardoparanhos | 28:84a60377564e | 83 | while(flag_main==0) { |
| ricardoparanhos | 28:84a60377564e | 84 | if(flag==1) { |
| ricardoparanhos | 33:74bf0462ad96 | 85 | mostrar_no_lcd("Ir para home?"); |
| ricardoparanhos | 28:84a60377564e | 86 | acionar_perifericos (0, 0); |
| ricardoparanhos | 28:84a60377564e | 87 | flag=0; |
| ricardoparanhos | 28:84a60377564e | 88 | |
| ricardoparanhos | 28:84a60377564e | 89 | } |
| ricardoparanhos | 28:84a60377564e | 90 | wait(0.5); |
| ricardoparanhos | 28:84a60377564e | 91 | if(arrow_right_button==0) { |
| ricardoparanhos | 28:84a60377564e | 92 | mostrar_no_lcd("Indo para home..."); |
| ricardoparanhos | 30:9e9c06431b3b | 93 | home(); |
| ricardoparanhos | 28:84a60377564e | 94 | wait(0.5); |
| ricardoparanhos | 28:84a60377564e | 95 | flag_main=1; |
| ricardoparanhos | 28:84a60377564e | 96 | } |
| ricardoparanhos | 28:84a60377564e | 97 | } |
| ricardoparanhos | 28:84a60377564e | 98 | wait(0.5); |
| ricardoparanhos | 28:84a60377564e | 99 | while(flag_main==1) { |
| ricardoparanhos | 28:84a60377564e | 100 | if(flag==0) { |
| ricardoparanhos | 28:84a60377564e | 101 | acionar_perifericos (0, 0); |
| ricardoparanhos | 36:6e46a3e4df6c | 102 | mostrar_no_lcd("Utilizar posicoes salvas no SD?"); |
| ricardoparanhos | 28:84a60377564e | 103 | flag=1; |
| ricardoparanhos | 28:84a60377564e | 104 | } |
| ricardoparanhos | 33:74bf0462ad96 | 105 | if(enter_button==0) { |
| ricardoparanhos | 28:84a60377564e | 106 | setar_posicoes(); |
| ricardoparanhos | 28:84a60377564e | 107 | flag_main=0; |
| ricardoparanhos | 33:74bf0462ad96 | 108 | mostrar_no_lcd("Indo para home..."); |
| ricardoparanhos | 28:84a60377564e | 109 | |
| ricardoparanhos | 33:74bf0462ad96 | 110 | } else if(arrow_right_button==0) { |
| ricardoparanhos | 33:74bf0462ad96 | 111 | |
| ricardoparanhos | 33:74bf0462ad96 | 112 | acionar_perifericos (0, 0); |
| ricardoparanhos | 33:74bf0462ad96 | 113 | mostrar_no_lcd("Lendo SD..."); |
| ricardoparanhos | 33:74bf0462ad96 | 114 | |
| ricardoparanhos | 28:84a60377564e | 115 | |
| ricardoparanhos | 28:84a60377564e | 116 | ler_SD(); |
| ricardoparanhos | 28:84a60377564e | 117 | flag_main=0; |
| ricardoparanhos | 28:84a60377564e | 118 | } |
| ricardoparanhos | 28:84a60377564e | 119 | |
| ricardoparanhos | 28:84a60377564e | 120 | } |
| ricardoparanhos | 28:84a60377564e | 121 | wait(0.5); |
| ricardoparanhos | 28:84a60377564e | 122 | while(flag_main==0) { |
| ricardoparanhos | 28:84a60377564e | 123 | |
| ricardoparanhos | 28:84a60377564e | 124 | if(flag==1) { |
| ricardoparanhos | 28:84a60377564e | 125 | acionar_perifericos (0, 0); |
| ricardoparanhos | 28:84a60377564e | 126 | mostrar_tempo_jog_preview(); |
| ricardoparanhos | 28:84a60377564e | 127 | flag=0; |
| ricardoparanhos | 28:84a60377564e | 128 | } |
| ricardoparanhos | 28:84a60377564e | 129 | wait(1); |
| ricardoparanhos | 28:84a60377564e | 130 | if(arrow_right_button==0) { |
| ricardoparanhos | 28:84a60377564e | 131 | acionar_perifericos (1, 0); |
| ricardoparanhos | 36:6e46a3e4df6c | 132 | mostrar_no_lcd("Executando JOG PREVIEW..."); |
| ricardoparanhos | 28:84a60377564e | 133 | jog_preview_completo (); |
| ricardoparanhos | 28:84a60377564e | 134 | flag_main=1; |
| ricardoparanhos | 28:84a60377564e | 135 | } else if(enter_button==0) { |
| ricardoparanhos | 28:84a60377564e | 136 | flag_main=1; |
| ricardoparanhos | 28:84a60377564e | 137 | } |
| ricardoparanhos | 28:84a60377564e | 138 | } |
| ricardoparanhos | 28:84a60377564e | 139 | wait(0.5); |
| ricardoparanhos | 28:84a60377564e | 140 | while(flag_main==1) { |
| ricardoparanhos | 28:84a60377564e | 141 | if(flag==0) { |
| ricardoparanhos | 28:84a60377564e | 142 | acionar_perifericos (0, 0); |
| ricardoparanhos | 28:84a60377564e | 143 | mostrar_tempo_jog(); |
| ricardoparanhos | 28:84a60377564e | 144 | flag=1; |
| ricardoparanhos | 28:84a60377564e | 145 | } |
| ricardoparanhos | 28:84a60377564e | 146 | |
| ricardoparanhos | 28:84a60377564e | 147 | if(arrow_right_button==0) { |
| ricardoparanhos | 28:84a60377564e | 148 | acionar_perifericos (1, 0); |
| ricardoparanhos | 28:84a60377564e | 149 | mostrar_no_lcd("Executando JOG..."); |
| ricardoparanhos | 28:84a60377564e | 150 | |
| ricardoparanhos | 28:84a60377564e | 151 | jog_completo(); |
| ricardoparanhos | 36:6e46a3e4df6c | 152 | mostrar_no_lcd("JOG finalizado. Para voltar ao inicio aperte sim."); |
| ricardoparanhos | 28:84a60377564e | 153 | flag_main=0; |
| ricardoparanhos | 30:9e9c06431b3b | 154 | } else if(enter_button==0) { |
| ricardoparanhos | 30:9e9c06431b3b | 155 | flag_main=0; |
| ricardoparanhos | 36:6e46a3e4df6c | 156 | mostrar_no_lcd("Processo finalizado!\nAperte Sim para recomecar."); |
| ricardoparanhos | 28:84a60377564e | 157 | } |
| ricardoparanhos | 28:84a60377564e | 158 | } |
| ricardoparanhos | 28:84a60377564e | 159 | } |
| ricardoparanhos | 26:6be302ad0278 | 160 | } |
| ricardoparanhos | 26:6be302ad0278 | 161 | } |
| fernandosakabe | 0:ecc1b15ec2a9 | 162 |
