E:\Rob\stepmotor\ Última gravação: 20/10/ :18:18
|
|
- Gilberto Candal Arantes
- 8 Há anos
- Visualizações:
Transcrição
1 Página:1/9 1: 'Stepmotor.bas 2: 'Programa para controle de motor de passo unipolar 3: 'através do UCN5804B - Translator/Driver da Allegro. 4: 'Utilizaremos o modo Half-Step, portanto o pino 9 do 5: 'UCN5804B deverá ser mantido baixo e o pino 10 alto. 6: 'No BX01 usaremos 4 pinos: um para alinhamento, um para 7: 'habilitar as saídas, um para a entrada dos pulsos de 8: 'meio-passo e um para a direção. 9: 'Para a comunicação com o sevidor utilizamos a porta 10: 'Com1 do BX01 a 19200bps com buffer de entrada e saída. 11: 'O microcontrolador recebe um comando na forma: 12: ' 13: ' <Par1;Par2;Par3;Par4;Par5> onde 14: ' Par1 = Ali (alinhamento automático) - 1 sim; 0 não 15: ' Par2 = Vel (velocidade) - 10 a 90 graus/segundo (de 10 em 10) 16: ' Par3 = Sen (Sentido) - 1 horário; 0 anti-horário 17: ' Par4 = Gir (Giros completos) - 0 a 5 (de 1 em 1) 18: ' Par5 = Gra (Posição final em graus) - 0 a 350 (de 10 em 10) 19: ' 20: 'executa esse comando e devolve K (ASCII) se OK. Se Houver erro, 21: 'devolve I (ASCII) e se reinicia. 22: ' 23: ' 24: 'Comandos: 25: ' 26: ' Align Alinha o eixo do motor com a referência, girando 27: ' no sentido horário. 28: ' TurnStep Gira o motor um determinado número de half-steps a 29: ' uma certa velocidade, num determinado sentido, 30: ' com time-out. 31: ' 32: 33: Const Vmax As Single = 15.0 'Velocidade máxima em rpm. 15rpm = 90g/s 34: Const PinR As Byte = 3 'Pino para referência (1=não referência, 0=referência) 35: Const PinS As Byte = 16 'Pino para a entrada dos pulsos de passo 36: Const PinD As Byte = 17 'Pino para a Direção (1 = Horário, 0 = Anti-Horário 37: Const PinE As Byte = 15 'Pino enable (0)/disable (1) 38: Const HspR As Single = 'Número de Meio-passos por rotação. Dep do motor 39: '
2 Página:2/9 40: Const InputBufferSize As Integer = 29 ' 20-byte buffer. 41: Const OutputBufferSize As Integer = 10 ' 1-byte buffer. 42: Dim InputBuffer(1 To InputBufferSize) As Byte 'Buffer de entrada 43: Dim OutputBuffer(1 To OutputBufferSize) As Byte 'Buffer de saída 44: Dim Param(1 To 5) As Integer 'Parâmetros do comando 45: Dim Patual As Integer 'Posição após execução de um comando 46: ' 47: 48: Sub Main() 49: 'Este programa principal é um loop infinito. 50: 'Ouve continuamente a porta serial para receber os comandos e executá-los. 51: 'Se não consegue ler os parâmetros, devolve I (ASCII) e reinicia o processador. 52: 'Se não consegue executar o comando, idem. 53: 'Se tudo OK, devolve K (ASCII) e volta a ouvir a porta serial. 54: 55: PutPin 14,bxOutputHigh 'Desativa rede : OpenQueue InputBuffer,InputBufferSize 'Abre buffer de entrada 57: OpenQueue OutputBuffer,OutputBufferSize 'Abre buffer de saída 58: OpenCom 1,19200,InputBuffer,OutputBuffer 'Abre a Com1 59: Disable 'Desabilita saidas motor 60: 61: Do 62: If Not GetPar Then 'Pega os 5 parâmetros do comando 63: Devolve 73,True 64: End If 65: If Not ExecCmd Then 'OK, Executa o comando. 66: Devolve 73,True 67: Else 68: Devolve 75,False 69: End If 70: Loop 'cicla sempre 71: End Sub 72: ' 73: 74: Function GetPar() As Boolean 75: 'Rotina para pegar os 5 parâmetros do comando que está no buffer de entrada 76: 77: Dim Cod As Byte 'Byte lido 78: Dim n As Byte 'Número de digitos
3 Página:3/9 79: Dim k As Integer 'Multiplicador 80: Dim Prm As Integer 'Parâmetro 81: Dim P(1 To 3) As Integer 'Cada digito 82: Dim Npar As Byte 'Número do parâmetro 83: 84: If Not ReadByte(Cod,0) Then 'Pega < 85: GetPar = False 'Não conseguiu 86: Exit Function 87: End If 88: Npar = 1 'Primeiro parâmetro 89: Do While(Npar <= 5) 'Ciclo para pegar os cinco parâmetros do comando 90: Prm = 0 'Zera parâmetro 91: Select Case Npar 92: Case 1,2,3,4 'Primeiros quatro parâmetros 93: n = 0 'Inicializa número de digitos 94: If Not ReadByte(Cod,5) Then 'Pega próximo caractere 95: GetPar = False 'Não conseguiu 96: Exit Function 97: End If 98: Do While(Cod <> 59) 'Cicla enquanto diferente de ; 99: n = n + 1 'Próximo digito 100: P(n) = CInt(Cod - 48) 'Pega cada digito 101: If Not ReadByte(Cod,5) Then 'Pega próximo caractere 102: GetPar = False 'Não conseguiu 103: Exit Function 104: End If 105: Loop 106: k = 1 'Inicializa multiplicador 107: Do While(n >= 1) 'Calcula o valor do parâmetro 108: Prm = Prm + (K * P(n)) 'Acumula cada digito 109: n = n - 1 'Próximo digito 110: k = k * 10 'Acerta multiplicador 111: Loop 112: Param(Npar) = Prm 'Armazena parâmetro 113: Case 5 'Quinto parâmetro 114: n = 0 'Inicializa número de digitos 115: If Not ReadByte(Cod,5) Then 'Pega próximo caractere 116: GetPar = False 'Não conseguiu 117: Exit Function
4 Página:4/9 118: End If 119: Do While(Cod <> 62) 'Cicla enquanto diferente de > 120: n = n + 1 'Próximo digito 121: P(n) = CInt(Cod - 48) 'Pega cada digito 122: If Not ReadByte(Cod,5) Then 'Pega próximo caractere 123: GetPar = False 'Não conseguiu 124: Exit Function 125: End If 126: Loop 127: k = 1 'Inicializa multiplicador 128: Do While(n >= 1) 'Calcula o valor do parâmetro 129: Prm = Prm + (K * P(n)) 'Acumula cada digito 130: n = n - 1 'Próximo digito 131: k = k * 10 'Acerta multiplicador 132: Loop 133: Param(Npar) = Prm 'Armazena parâmetro 134: End Select 135: Npar = Npar + 1 'Próximo parâmetro 136: Loop 137: GetPar = True 'OK, retorna True 138: ClearQueue InputBuffer 'Terminou, limpa buffer de entrada 139: End Function 140: ' 141: 142: Function ExecCmd() As Boolean 143: 'Param(1) => Ali (alinhamento automático) - 1 sim; 0 não 144: 'Param(2) => Vel (velocidade) - 10 a 90 graus/segundo (de 10 em 10) 145: 'Param(3) => Sen (Sentido) - 1 horário; 0 anti-horário 146: 'Param(4) => Gir (Giros completos) - 0 a 5 (de 1 em 1) 147: 'Param(5) => Gra (Posição final em graus) - 0 a 350 (de 10 em 10) 148: 149: Dim Tout As Single 'Time Out 150: Dim Rpm As Single 'Velocidade em rpm 151: Dim Rot As Single 'Número de rotações (decimal) a executar 152: Dim Value As Byte 'Byte 153: ' 154: If (Param(1) = 1) Then 'Execução com alinhamento automático, a partir de zero 155: Align 'Alinha eixo com a referência 156: Delay 0.5 'Dá um tempo
5 Página:5/9 157: If (Param(3) = 0) Then 'Sentido anti-horário 158: If (Param(5) = 0) Then 'Posição final igual a zero 159: Rot = 0.0 'Então rotação correspondente igual a zero 160: Else 'Posição final diferente de zero 161: Rot = CSng(360 - Param(5))/360.0 'Calcula fração de rotação 162: End If 163: Else 'Sentido horário 164: Rot = CSng(Param(5))/360.0 'Calcula fração de rotação 165: End If 166: If ((Rot = 0.0) And (CSng(Param(4)) = 0.0)) Then 'Bug do Basic Express 167: Patual = 0 168: ExecCmd = True 169: Exit Function 'Já está na posição, sai da rotina 170: End If 171: Rot = Rot + CSng(Param(4)) 'Acrescenta as rotações inteiras 172: Rpm = CSng(Param(2))/6.0 'Velocidade em rpm 173: Tout = 'Time-out máximo de 240 segundos 174: 'Executa comando e se não OK devolve falso 175: If Not TurnStep(CByte(Param(3)),Rpm,Rot,Tout) Then 'Executa comando 176: 'Não conseguiu 177: Patual = 0 178: ExecCmd = False 179: Exit Function 180: Else 181: 'Conseguiu 182: Patual = Param(5) 183: ExecCmd = True 184: Exit Function 185: End If 186: ' 187: Else 'Execução sem alinhamento, a partir da posição atual 188: If ((Param(5) > Patual) And (Param (3) = 1)) Then 189: 'Posição final maior que a atual no sentido horário 190: Rot = CSng(Param(4)) + (CSng(Param(5) - Patual)/360.0) 191: ElseIf ((Param(5) > Patual) And (Param(3) = 0)) Then 192: 'Posição final maior que a atual no sentido anti-horário 193: Rot = CSng(Param(4)) + ( CSng(Param(5)) + CSng(Patual))/ : ElseIf ((Param(5) < Patual) And (Param (3) = 1)) Then 195: 'Posição final menor que a atual no sentido horário
6 Página:6/9 196: If (Param(5) = 0) Then 197: 'Posição final = 0 198: Rot = CSng(Param(4)) + ( CSng(Patual))/ : Else 200: 'Posição final <> de 0 201: Rot = CSng(Param(4)) + ( CSng(Param(5)) - CSng(Patual))/ : End If 203: ElseIf ((Param(5) < Patual) And (Param(3) = 0)) Then 204: 'Posição final menor que a atual no sentido anti-horário 205: Rot = CSng(Param(4)) + (CSng(Patual) - CSng(Param(5)))/ : Else 207: 'Posição final igual à atual em qualquer sentido 208: Rot = CSng(Param(4)) 209: End If 210: Rpm = CSng(Param(2))/6.0 'Velocidade em rpm 211: Tout = 'Time-out máximo de 240 segundos 212: If Not TurnStep(CByte(Param(3)),Rpm,Rot,Tout) Then 'Executa comando 213: 'Não conseguiu 214: Patual = 0 215: ExecCmd = False 216: Exit Function 217: Else 218: 'Conseguiu 219: Patual = Param(5) 220: ExecCmd = True 221: Exit Function 222: End If 223: End If 224: End Function 225: ' 226: 227: Function ReadByte(ByRef Value As Byte, ByVal Tio As Byte) As Boolean 228: 'Esta função tenta ler um byte durante um tempo Tio. Se ela consegue ler o 229: 'byte num tempo < que Tio, ela devolve esse byte em Value e a função retorna 230: 'True. Caso contrario ela retorna False. 231: 232: Dim T1 As Single 'Instante inicial 233: Dim T2 As Single 'Instante presente 234:
7 Página:7/9 235: T1 = Timer 'Inicializa contagem de tempo 236: Do 237: T2 = Timer 'Pega este instante 238: If (Tio > 0) Then 'Verifica se é para verificar time-out 239: If ((T2 - T1) >= CSng(Tio)) Then 'Deu time-out sem conseguir ler nada 240: ReadByte = False 241: Exit Do 242: End If 243: End If 244: If (StatusQueue(InputBuffer)) Then 'Verifica se tem algo no buffer 245: GetQueue InputBuffer,Value,1 'Sim, então pega o caractere 246: ReadByte = True 247: Exit Do 'E sai 248: End If 249: Loop 'Cicla enquanto não chega algum caractere 250: End Function 251: ' 252: 253: Sub Align() 254: 'Rotina para alinhar o eixo do motor com a referência. Primeiro verifica se o 255: 'motor está em ponto cego. Se sim, gira 90g no sentido anti-horário a 10rpm. 256: 'Em seguida o motor começa a girar no sentido horário a uma velocidade 10rpm, 257: 'até que PinR se torne baixo. 258: 259: Dim Value As Byte 'Byte 260: 261: If (GetPin(PinR) = 0) Then 'Está em ponto cego 262: If Not TurnStep(0, 10.0, 0.25, 5.0) Then 'Gira 90g anti-horário 263: Devolve 73,True 264: Exit Sub 265: End If 266: End If 267: Delay 0.5 'Dá um tempo 268: PutPin PinD, 1 'Sentido horário 269: Enable 'Habilita saidas motor 270: Do 'Executa 271: PutPin PinS, 1 'Pulsa 272: PutPin PinS, 0 'PinS 273: Delay 'Aguarda DT => 10rpm = 60g/s
8 Página:8/9 274: Loop While GetPin(PinR) = 1 'Enquanto PinR = 1 275: Disable 'Desabilita saidas motor 276: End Sub 277: ' 278: 279: Function TurnStep(ByVal Sen As Byte, ByVal Vel As Single, _ 280: ByVal Nrot As Single, ByVal Tof As Single) As Boolean 281: 'Rotina para girar o motor um certo número de meio-passos a uma 282: 'determinada velocidade num determinado sentido, com time-out. 283: 'Sen: Sentido de giro / 1 - Horário, 0 - Anti-horário 284: 'Vel: Velocidade em rpm 285: 'Nrot: Número de rotações 286: 'Tof: Time-out em segundos 287: 288: Dim I As Integer 'Contador de meio-passos 289: Dim T1 As Single 'Instante inicial 290: Dim T2 As Single 'Instante presente 291: Dim DT As Single 'Tempo entre meio-passos 292: Dim Nstep As Integer 'Número de meio-passos a percorrer 293: 294: PutPin PinD, Sen 'Seta sentido 295: If Vel > Vmax Then 'Se velocidade pedida > Vmax 296: Vel = Vmax 'Então Velocidade = Vmax 297: End If 298: DT = 60.0 / (Vel * HspR) 'Calcula tempo entre meio-passos 299: Nstep = CInt(Nrot * HspR) 'Número de meio-passos a percorrer 300: T1 = Timer 'Instante inicial 301: Enable 'Habilita saidas motor 302: For I=1 To Nstep 'Conta o número de meio-passos 303: PutPin PinS, 1 'Pulsa 304: PutPin PinS, 0 'PinS 305: Delay DT 'Aguarda DT 306: T2 = Timer 'Pega este instante 307: if (T2 - T1) >= Tof Then 'Deu time-out 308: TurnStep = False 'Devolve falso 309: Disable 'Desabilita saidas motor 310: Exit Function 'Encerra 311: End If 312: Next
9 Página:9/9 313: TurnStep = True 'Devolve verdadeiro 314: Disable 'Desabilita saidas motor 315: End Function 316: ' 317: 318: Sub PutByte(ByVal Value As Byte) 319: 'Manda 1 byte para a serial 320: PutQueue OutputBuffer,Value,1 321: End Sub 322: ' 323: 324: Sub Enable() 325: PutPin PinE, 0 326: End Sub 327: ' 328: 329: Sub Disable() 330: PutPin PinE, 1 331: End Sub 332: ' 333: 334: Sub Devolve(ByVal Cod As Byte,ByVal Rst As Boolean) 335: 'Devolve Cod (em ASCII) e se reinicia se Rst = True 336: PutByte Cod 337: If Rst Then 338: ResetProcessor 'Reinicia BX01 339: end If 340: End Sub 341: ' 342: 343:
PutPin PinD, Horario 'Sentido horário DT = 'Intervalo entre passos. Do 'Executa PutPin PinS, 1 'Pulsa PutPin PinS, 0 'PinS
Module1-1 'Programa para controle de motor de passo unipolar 'através do UCN5804B - Translator/Driver da Allegro. 'Utilizaremos o modo Half-Step, portanto o pino 9 do 'UCN5804B deverá ser mantido baixo
Leia maisNesta aula serão apresentados alguns comandos de condição, repetição e gráficos.
3 COMANDOS CONDICIONAIS E DE LAÇO Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3.1 COMANDOS CONDICIONAIS 3.1.1 Comando IF Como o próprio nome já indica, estes comandos
Leia mais4 Criação de macros e introdução à linguagem VBA
4 Criação de macros e introdução à linguagem VBA Vinicius A. de Souza va.vinicius@gmail.com São José dos Campos, 2011. 1 Sumário Tópicos em Microsoft Excel 2007 Introdução à criação de macros...3 Gravação
Leia maisWDM_1256.SYS DRIVER DA CAD12/56 PARA WINDOWS 98
Código do Documento: S142U01 Revisão: 0 WDM_1256.SYS DRIVER DA CAD12/56 PARA WINDOWS 98 1. INTRODUÇÃO WDM_1256.SYS é um kernel mode driver que gerencia o acesso à placa A/D CAD12/56 no sistema operacional
Leia maisExpressões Lógicas Comandos de Seleção
Expressões Lógicas e Comandos de Seleção Prof. de Algoritmos IA Expressões Lógicas São expressões que resultam em valores lógicos : verdadeiro ou falso. Em VB: a constante True representa verdadeiro a
Leia maisInformática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA
Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015 Visual Basic VBA Macros Funções Conjunto de instruções que são executadas sempre que se desejar e pela ordem apresentada As funções são
Leia maisDisplay de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisAluísio Eustáquio da Silva
1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que
Leia maisLaboratório de Programação I
Laboratório de Programação I Estruturas de Controle: Parte I Fabricio Breve Objetivos Entender as técnicas básicas de solução de problemas Desenvolver algoritmos por meio do processo de refinamento top-down
Leia maisObjectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)
Objectivos Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Vantagens da programação Eficiência em operações repetitivas Melhor clarividência na decomposição
Leia maisSub AcessaWeb(url, x) ' recebe uma url para pesquisar e devolve uma planilha ' Solicita a criação da planilha x
Aula 1 Planilha para Incluir / Excluir / Consultar dados em uma agenda telefônica (Nome, Endereço, Telefone) residindo em Banco de dados Access ou na WEB (usando um banco espelho no meu site, e uma página
Leia maisBase RF para Terminais Shellby 915
Base RF para Terminais Shellby 915 Gradual Tecnologia Ltda. Manual Base RF Agosto/2008 1 Índice Apresentação...3 Características Elétricas...3 Características Mecânicas...3 Configuração da Base RF...4
Leia maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisRobótica com Arduino
Robótica com Arduino Nesta apresentação veremos conceitos sobre contadores, estrutura de condição if, e trabalharemos com a comunicação Serial entre o Arduino e o Computador. Professor: Paulo Marcos Trentin
Leia maisManual do Desenvolvedor Linha VP Tanca
Manual do Desenvolvedor Linha VP Tanca Descrição das funções implementadas na DLL versão 1.0 GetTabConectados function GetTabConectados(nada: Integer): TTABSOCK; stdcall; function GetTabConectados(nada:
Leia maisInicializando e Finalizando Aplicativos de Forma Rápida e Sem Problemas
Inicializando e Finalizando Aplicativos de Forma Rápida e Sem Problemas Escrito por: William Costa Rodrigues i wcostarodrigues@yahoo.com.br Junho 2005 Página 1 de 7 1 Introdução Neste artigo abordarei
Leia maisDocumentação SC501GER.DLL V2.2
Documentação SC501GER.DLL V2.2 1. INICIALIZAÇÕES DA DLL. 3 VINITIALIZE 3 TC_STARTSERVER 3 _TERMGERTECSERVER 3 2. CONVERSÃO DE TIPOS 3 TCINET_NTOA 3 TCINET_ADDR 3 3. ROTINAS DE CONTROLE DOS TERMINAIS CONECTADOS
Leia maisControlo de servomotores com o microcontrolador BX-24
Controlo de servomotores com o microcontrolador BX-24 Introdução Este documento descreve como se podem controlar servomotores através do BX- 24. É exemplificado o controlo de servomotores normais, assim
Leia maisFICHA DE ESPECIFICAÇÃO TÉCNICA. x PRODUTO PROCESSO DATA: 04/02/2013. PRODUTO: IcBox SUB-PRODUTO: DESCRIÇÃO: API DLL c++ (C++ builder e Delphi)
x PRODUTO PROCESSO DATA: 04/02/2013 PRODUTO: IcBox SUB-PRODUTO: DESCRIÇÃO: API DLL c++ (C++ builder e Delphi) ELABORAÇÃO: Wagner ÁREA: PDI API DLL ICBOX Recomendado para uso com C++ Builder e Delphi ///////////////////////////////////////////////////////
Leia maisAutor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Barra de LEDs Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisMemória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisTutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10
Tutorial de Computação Robô Bípede Programa de Controle em Delphi v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina PR Brasil
Leia maisComandos de repetição while
Programação de Computadores I UFOP DECOM 2014 2 Aula prática 6 Comandos de repetição while Resumo Nesta aula vamos trabalhar com problemas cuja solução envolve realizar um cálculo ou tarefa repetidas vezes,
Leia maisCapítulo 12. Projeto 5 Controle de Motores de Passo. 12.1 Circuito e Funcionamento
Capítulo 12 Projeto 5 Controle de Motores de Passo A crescente popularidade dos motores de passo deve-se a sua adaptação à lógica digital. Estes dispositivos são usados em inúmeras aplicações, tais como:
Leia maisFUNCTION ) RETURNS INTEGER AS $$ DECLARE
PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos
Leia maisComm5 Tecnologia Protocolo MI. Protocolo. Família MI
Comm5 Tecnologia Protocolo Família MI ÍNDICE PROTOCOLO... pág 03 PERMISSÃO... pág 03 AUTENTICAÇÃO... pág 03 IDENTIFICAÇÃO DAS PORTAS... pág 04 COMANDOS... pág 05 VERIFICAR AS ENTRADAS DO MÓDULO... pág
Leia maisResumo da Matéria de Linguagem de Programação. Linguagem C
Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis
Leia maisPdP. Autor: Luís Fernando Patsko Nível: Intermediário Criação: 22/02/2006 Última versão: 18/12/2006
TUTORIAL Controle de Motor de Passo Autor: Luís Fernando Patsko Nível: Intermediário Criação: 22/02/2006 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br
Leia maisSoftwise Consultoria e Informática Desenvolvendo soluções
Criando um Project Console 1 New/Project/Console Application Código Fonte Imports System.Net.Sockets Imports System.Text Imports System.Net Public Module FtpExemplo Public Sub Main() ' Conecta a um servidor
Leia maisConfiguração Lexium32 - Movimento absoluto e movimento relativo utilizando a função Motion Sequence.
Configuração Lexium32 - Movimento absoluto e movimento relativo utilizando a função Motion Sequence. Equipamentos utilizados: Servo drive LXM32MD12N4 Servo motor BMH0701P01A2A Software SoMove Lite 1.5.1.0
Leia maisPROGRAMAÇÃO II 3. PILHA DINÂMICA
3. PILHA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma pilha é um tipo especial de Pilha na quais todas as inserções e remoções são feitas na primeira posição, que é chamada de topo. Outro nome
Leia maisDESENVOLVIMENTO DE SOFTWARE AULA 06 TEORIA. Prof. Celso Candido ADS / REDES / ENGENHARIA
TEORIA 1 CONTROLE CheckBox 2 Ao se executar o programa adquirimos alguma experiência prática com os objetos de entrada e mais adiante discutiremos como esses objetos podem ser utilizados com menus em um
Leia maisLaboratório de Microprocessadores e Microcontroladores
Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Temporizadores e Motor de Passo Alunos: Matrícula:
Leia maisABB Automação. 13.82kV 119.4kA. 13.81kV 121.3kA. 13.85kV 120.2kA IDR 144 INDICADOR DIGITAL REMOTO MODO DE USO
IDR 144 INDICADOR DIGITAL REMOTO MODO DE USO 13.82kV 119.4kA 13.81kV 121.3kA 13.85kV 120.2kA Dados Técnicos Conexões elétricas Utilização do teclado Protocolo de comunicação Modbus RTU Dimensional ABB
Leia maisDESENVOLVIMENTO DE SOFTWARE
VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.
Leia maisCurso de Iniciação ao Access Basic (I) CONTEÚDOS
Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar
Leia maisArq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario. X = Seek(arq) Mostra a posição que está sendo lida no arquivo
6.3 Arquivos Binários Para ler arquivos binários é utilizado o seguinte comando. Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario Get #arq, 1, CabArquivo Lê o arquivo
Leia mais2.) Listagem Página a Página
Exemplos para construção de páginas em ASP 1.) Abertura de uma Base de Dados O código necessário para fazer a abertura de uma Base de Dados Access e execução de uma string SQL é muito simples. No exemplo
Leia maisLogado no OracleXE vamos acessar a opção:
Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos
Leia maisINTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB
TURMA 1 AULA 5 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB MINICURSO PET-POTÊNCIA 2016.1 RÔMULLO RANDELL MINICURSO PET-POTÊNCIA 2016.1 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB RÔMULLO RANDELL Turma
Leia maisManipulando Strings no VBA (Replace, Mid e InStr)
Manipulando Strings no VBA (Replace, Mid e InStr) por Eduardo Vieira Machado (Good Guy) Hoje gostaria de tratar de um assunto bastante atraente no Access e que é muito trabalhado nas empresas - a manipulação
Leia maisISCAP. Algoritmia. Pág. 1. Ana Paula Teixeira
Algoritmia Pág. 1 Os Computadores e a resolução de Problemas PROBLEMA Fase de Resolução do Problema Pág. 2 Passo difícil Solução como um PROGRAMA de Computador Solução em forma de Algoritmo Fase de Implementação
Leia maisPROGRAMAÇÃO II 3. FILA DINÂMICA
3. FILA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma fila é um tipo especial de lista na qual todas as inserções são feitas sempre depois do fim e as deleções no início. Por isso também recebe
Leia maisEXCEL e VBA. Visual Basic for Applications. Tutoriais de VBA
EXCEL e VBA Visual Basic for Applications Escopo da Apresentação Integração do VBA com Excel Descrição do ambiente de programação do VBA Conceitos básicos de programação Exemplos usando VBA Background
Leia maisProcalc v1.0. Versão Programador
Procalc v1.0 Versão Programador Conteúdo Procalc... 4 Primeiros botões... 5 Funções Básicas... 6 Como funciona... 7 Funções avançadas... 8 Logaritmo... 8 Logaritmo Natural... 9 Expoente... 10 Factorial...
Leia maisEntradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006
TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br
Leia maisPROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014
PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014 Introdução: Este programa permite o gerenciamento dos amplificadores MR 4.50D-XT MR 6.50D-XT MR 6.80-XT
Leia maisCERTIFICADO DIGITAL CONECTIVIDADE DIGITAL ICP GUIA PLANCON DE INSTRUÇÕES PARA INSTALAR SEU TOKEN, PENDRIVE OU LEITOR DE CARTÕES
CERTIFICADO DIGITAL CONECTIVIDADE DIGITAL ICP GUIA PLANCON DE INSTRUÇÕES PARA INSTALAR SEU TOKEN, PENDRIVE OU LEITOR DE CARTÕES Se você já adquiriu seu Certificado Digital e ainda não o instalou, este
Leia maisPL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL
PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,
Leia maisFUNDAÇÃO ESCOLA TÉCNICA LIBERATO SALZANO VIEIRA DA CUNHA CURSO TÉCNICO EM ELETRÔNICA 3ª SÉRIE DO ENSINO MÉDIO Turma 4323 Trabalho Trimestral de Física
FUNDAÇÃO ESCOLA TÉCNICA LIBERATO SALZANO VIEIRA DA CUNHA CURSO TÉCNICO EM ELETRÔNICA 3ª SÉRIE DO ENSINO MÉDIO Turma 4323 Trabalho Trimestral de Física OBTENÇÃO DE DADOS VIA EXCEL APLICADA AO ENSINO DA
Leia maisLINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE : 6823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250
1 LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE : 6823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250 O Sistema HCS 2000 é composto por: PROTOCOLO DE COMUNICAÇÃO SISTEMA HCS 2000 v6.x Receptores: dispositivos
Leia maisMÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC. Manual de Instruções
MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC Manual de Instruções Leia com Atenção Cód. Menno: 833020001 Rev.: 7 1. Apresentação A linha tradicional de módulos gaveteiros da MENNO sempre foi direcionada
Leia maisC.N.C. Programação Torno
CNC Programação Torno Módulo III Aula 02 Funções auxiliares As funções auxiliares formam um grupo de funções que servem para complementar as informações transmitidas ao comando através das funções preparatórias
Leia maisAlgoritmos em Javascript
Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays
Leia maisProgramação em MATLAB
Programação em MATLAB UNIVERSIDADE DA BEIRA INTERIOR Departamento de Matemática Conteúdo 1 Introdução 2 2 Scripts 3 3 Funções 5 4 Programação 7 5 Escrita e leitura de arquivos 11 6 Gráficos especiais 13
Leia maisProjecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA
Sistemas Digitais Reconfiguráveis Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Liliana Rocha Nicolau Lopes da Costa 27611 Ano Lectivo de 2006/2007 Universidade de Aveiro 1. Objectivos
Leia maisManipulando Strings no VBA (Replace, Mid e InStr)
Manipulando Strings no VBA (Replace, Mid e InStr) por Eduardo Vieira Machado (Good Guy) Hoje gostaria de tratar de um assunto bastante atraente no Access e que é muito trabalhado nas empresas - a manipulação
Leia maisWWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br
1 Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br Continuando com o artigo apresentado na edição passada de comunicação USB com o PIC, continuaremos nesta edição o estudo do
Leia maisProgramação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas
Leia maisVariáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea
Variáveis Compostas Heterogêneas Variável Composta Heterogênea Conjunto de dados logicamente relacionados, mas de tipos diferentes. Também chamada de registro. Variável Composta Heterogênea 1 Declaração
Leia maisOracle 10g: SQL e PL/SQL
Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação
Leia maisConjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo;
Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; O tipo de dados tem por base um tipo simples (enumerável); Na verdade, um set representa o conjunto
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Fila / Alocação Estática Pag.: 1 - UNIVERSIAE O VALE O RIO OS SINOS IÊNIAS EXATAS E TENOLÓGIAS urso: Informática / iência da omputação Programação II isciplina: Linguagem de
Leia maisEste tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.
Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands. Antes de começamos certifique-se de estarem com o programa instalado, com sua conta e licenças ativas. Neste tutorial não irei
Leia maisEncoder de Quadratura
R O B Ó T I C A Sensor Smart de Quadratura Versão Hardware:. Versão Firmware: 2. REVISÃO 2.9 Sensor Smart de Quadratura. Introdução Os encoders são equipamentos utilizados para converter movimentos rotativos
Leia maisSuporte ao Desenvolvedor: 0800 770 332 0 www.desenvolvedoresdaruma.com.br. STK (Start Kit DARUMA)
STK (Start Kit DARUMA) Fazendo a primeira comunicação com o Modem através do HyperTerminal Configurando o modem para envio de SMS. Vamos dividir este STK em 4 partes: 1 Verificar Sincronização. 2 Equalizar
Leia maisWinCom - Utilitário de teste de Receptores PROGRAMA WINCOM
PROGRAMA WINCOM A MCDI Coloca à disposição dos usuários o programa WinCom.exe, que é um utilitário para ambiente Windows 9x, Xp e 2000, que serve para verificar-se a comunicação de um receptor de códigos
Leia maisA4 Projeto Integrador e Lista de Jogos
A4 Projeto Integrador e Lista de Jogos 1ª ETAPA PROJETO INTEGRADOR (2 pontos na A4) Como discutido em sala de aula, a disciplina de algoritmos I também fará parte do projeto integrador, para cada grupo
Leia maisAPOSTILA DE VBA PARA EXCEL MARCOS DE BARROS OUTUBRO DE 2002 1 - RISK MANAGEMENT
APOSTILA DE VBA PARA EXCEL MARCOS DE BARROS OUTUBRO DE 2002 1 - RISK MANAGEMENT ÍNDICE INTRODUÇÃO AO VBA 5 Constantes 5 Variáveis 5 Tipos de variáveis e constantes 6 O Comando Option Explicit 7 Comentários
Leia maisPdP. Autor: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 26/12/2005 Última versão: 18/12/2006
TUTORIAL Servo-motor Autor: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 26/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br
Leia maisAnsiLowerCase Converte todos os caracteres de uma string para minúsculo; Sintaxe: AnsiLowerCase(const S: string): string;
AnsiLowerCase Converte todos os caracteres de uma string para minúsculo; AnsiLowerCase(const S: string): string; Var X:String; Begin X:=Label1.caption; Label1.caption:=AnsiLowerCase(X); { Label1 ficará
Leia maisTrabalhando com Arquivos de Texto no VBA
OpenStax-CNX module: m47737 1 Trabalhando com Arquivos de Texto no VBA Joao Carlos Ferreira dos Santos This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License
Leia maisINTRODUÇÃO OBJECT PASCAL/DELPHI
Introdução Object Pascal/Delphi 1 INTRODUÇÃO OBJECT PASCAL/DELPHI Objetivo Demonstrar a sintaxe e a semântica do Object Pascal e a forma como esse linguagem de programação será aplicada na disciplina de
Leia maisGerenciador USB do Monitor de Rede Elétrica Som Maior Pro. Versão 3.6
Gerenciador USB do Monitor de Rede Elétrica Som Maior Pro Versão 3.6 O Gerenciador é um Software para ambiente Windows que trabalha em conjunto com o Monitor de Rede Elétrica Som Maior Pro, através de
Leia mais1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.
Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa
Leia maisGuia rápido de uso do FULL TEMP
Guia rápido de uso do FULL TEMP Descrição Destinado a medir a temperatura dos gases de escapamento de veículos originais e preparados este aparelho conta com 4 canais possibilitando a leitura de até 4
Leia maisExercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento
1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário
Leia maisNeste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos.
Capítulo 11 Transmissão do arquivo de pedidos por FTP Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos. FTP File
Leia maisO cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.
Editor de Ladder para VS7 Versão Teste O editor de ladder é um software de programação que permite que o VS7 e o µsmart sejam programados em linguagem de contatos. Esse editor está contido na pasta Público
Leia maisArmazenamento de Dados. Prof. Antonio Almeida de Barros Junior
Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,
Leia maisInformática II Cap. 4-2
Cap. 4-2 1 Estruturas de Controlo O VBA tem diversas estruturas de controlo que podemos utilizar para controlar o fluxo de execução dos programas (procedimento ou conjunto de procedimentos que participam
Leia maisMicrosoft Excel Macro V. Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49
Microsoft Excel Macro V Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49 16-) Formulários A forma mais comum de comunicação de um sistema com o usuário é por meio de caixas de
Leia maisProgramação de Robótica: Modo Circuitos Programados - Avançado -
Programação de Robótica: Modo Circuitos Programados - Avançado - 1 Programação de Robótica: Modo Circuitos Programados - Avançado ATENÇÃO Lembramos que você poderá consultar o Manual de Referência do Software
Leia maisManual Técnico Arduino Supervisório MODBUS & Conversor RS485
Manual Técnico Arduino Supervisório MODBUS & Conversor RS485 2015 Todos os direitos reservados Página 1 de 27 Sumário Manual Técnico...1 Introdução...3 Arduino Supervisório MODBUS...3 Conversor RS485...3
Leia mais9.1.2 Laços Controlados por Entrada: Contador
9.1.2 Laços Controlados por Entrada: Contador Exemplo 2- Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis:
Leia mais1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir:
Introdução à Informática 1 de 6 Data: 29/05/04 1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir: program eq2grau; uses WinCrt, Strings;
Leia maisLÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br
LÓGICA DE PROGRAMAÇÃO Professor Celso Masotti http://ead.celsomasotti.com.br Ano: 2015 1 HTML & PHP em Ambiente Web PARTE II Sumário I Decisão... 4 Operadores de Comparação... 6 II IF ELSEIF ELSE... 7
Leia maisMódulo 1a: Introdução ao Visual Basic for Applications (VBA)
Módulo 1a: Introdução ao Visual Basic for Applications (VBA) - Elementos básicos - O Excel (revisões ou não?) Folha de cálculo baseada em células Usa um sistema de coordenadas (letra, número) Recalcula
Leia maisTecnologia em encadernações. www.lassane.com.br
Tecnologia em encadernações www.lassane.com.br Encadernação com Wire-o Anel INÍCIO DA OPERAÇÃO A encadernação com Wire-o - ou duplo anel - proporciona um acabamento superior, além de facilitar o manuseio
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisCE N T R AI S TELEFÔNICAS HDL
Assistência Técnica HDL CE N T R AI S TELEFÔNICAS HDL Diagr ama de Sinais HDL Processamento e Controle Microcontrolador 80C251: Placa CPU HDL 80P / HDL 368P / HDL 4-12 Microcontrolador 80C32: Placa de
Leia maisDESENVOLVIMENTO DE SOFTWARE
DESENVOLVIMENTO DE SOFTWARE CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014 1 OBJETIVOS DA AULA Estrutura de Controle de Decisão Simples Estrutura de Controle de Decisão Estendida Estrutura de Controle
Leia maisManual HDBS Revisão 1.1
Manual HDBS Revisão 1.1 1 1 - Introdução 1.1 Sistemas de arquivos FAT Os cartões de memória MMC e SD muito populares hoje em dia. O seu pequeno tamanho e grande capacidade o tornam ideal para câmeras digitais
Leia maisÍndice: Nitgen do Brasil www.nitgen.com.br
Índice: CAPÍTULO 3. PROGRAMAÇÃO EM DELPHI...2 3.1 INICIALIZANDO E FECHANDO O MÓDULO...2 3.1.1 Inicializando o módulo...2 3.1.2 Fechar o módulo após o uso...2 3.2 RELACIONANDO OS SENSORES NA PROGRAMAÇÃO...2
Leia maisECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Leia maisComandos de Pesagem para Protocolo ALFA Instrumentos
Comandos de Pesagem para Protocolo ALFA Instrumentos 1. Introdução Este documento descreve o Protocolo de Comunicação Serial Assíncrona de Dados e deve ser utilizado para propiciar a comunicação de dados
Leia mais/* * p_feelinks_teia * Para o Processing * Comunicação NET SERVER * Grupo dos Cotas */
/* * p_feelinks_teia * Para o Processing * Comunicação NET SERVER * Grupo dos Cotas */ // To enter/leave fullscreen mode: Alt+Enter, Ctrl+F // ESC: leave fullscreen / exit application // importa a class
Leia mais