Sistemas Digitais Tutorial Koda Autoit
-
Upload
andre-ribeiro -
Category
Documents
-
view
253 -
download
0
Transcript of Sistemas Digitais Tutorial Koda Autoit
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
1/12
CENTRO FEDERAL DE EDUCAO TECNOLGICA CELSO SUCKOW DA FONSECADEPARTAMENTO DE ENGENHARIA ELTRICA
GELE 7173 - SISTEMAS DIGITAIS
TUTORIAL
Projeto de interfaces grficas utilizando os softwares KODA e AutoIt
Este roteiro de aulas prticas tem por objetivo iniciar o estudo de sntese de interfaces
grficas utilizando os softwares livres KODA e AutoIt. Os exerccios a seguir foram elaborados
para apresentar os principais comandos do compilador e suas funes.
1. INTRODUO
Ao executar o KODA na rea de trabalho, o usurio ter a sua disposio vrias ferramentas para a
construo de janelas, menus, caixas de mensagens etc. Na tela principal, verifica-se um conjunto de
objetos, distribudos nas abas STANDARD, ADDITIONAL, WIN32 e CUSTOM, que podem ser
adicionados ao projeto da interface (Figura 1).
Figura 1.Tela inicial do KODA.
CEFET-RJ 1 Prof. Alessandro R. L. Zachi
Objetos
Abas
Propriedades
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
2/12
Para construir a janela desejada no projeto da interface grfica basta clicar e arrastar os
objetos do menu at a rea de trabalho. Cada objeto possui individualmente uma lista de
propriedades que aparece ressaltada toda vez que o mesmo selecionado (vide Figura 1). As
propriedades variam de acordo com o tipo de objeto. Abaixo so apresentadas algumas
propriedades mais comuns e suas definies:
Caption : o texto que ser exibido no objeto. Por exemplo, se o objeto for do tipo Form, ento o
texto do Captionaparecer na barra da janela; se for do tipoButton, o texto aparecer noBoto. Veja
os exemplos nas Figuras 2 e 3 .
Figura 2. Exemplo de Captionno objeto tipo Form.
Color :define a cor de fundo do objeto. Clicando nesta propriedade, o usurio ter acesso a uma lista
de cores.
Font : define o tipo, tamanho, cor e o estilo das fontes no objeto. Clicando nesta propriedade, o
usurio ter acesso caixa de edio de fontes.
Heighte Width : definem, respectivamente, a altura e a largura do objeto na tela.
Tope Left : definem as distncias de afastamento do objeto a partir das bordas superior e lateral
esquerda da tela, respectivamente. Servem para posicionar os objetos no interior da janela Form e/ou
a prpria janela Formdentro da tela do Windows.
CEFET-RJ 2 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
3/12
Figura 3. Exemplo de Captionno objeto tipo Button.
Name: define o nome do objeto. Na programao AutoItcada objeto referenciado por uma
varivel que possui o mesmo nome da propriedadeName. Esta varivel criada automaticamente
pelo KODA mas seu nome pode ser alterado pelo usurio.
2. PRIMEIRO EXERCCIO
(1) Crie uma nova janela (Form1). Configure as propriedades WidtheHeight colocando
o valor 300 em ambas. Insira o texto EXERCCIO1 na propriedade Caption da
janela principal (Form1). Modifique a propriedadeNamepara JANELA1.
(2) Insira um objeto do tipo Button. Insira o texto PISCAR na propriedade CaptiondoBoto. Modifique o texto da propriedadeNamepara TECLA1.
(3) Insira um objeto do tipo Label. Modifique o texto da propriedade Name para
PLACA1. Modifique a propriedade Caption deixando o campo em branco (sem
caracteres). Configure as propriedades Width e Height colocando o valor 100 em
ambas. Configure a propriedade Color para o valor clRed (ou simplesmente
selecione a cor vermelha na lista).
CEFET-RJ 3 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
4/12
Terminada a construo da janela, vamos iniciar o processo de transferncia do cdigo para
o editor SciTe do AutoIt. Convm lembra que o KODAgera automaticamente o cdigo AutoIt
correspondente janela projetada. No meu Toolsdo KODA, selecione a opo Generate Form
Code(F9). Aps esta etapa, o KODA exibir um arquivo texto com o cdigo AutoIt da janela
construda. Basta copiar o cdigo e colar na rea de trabalho do editor SciTe. Veja abaixo como fica
o primeiro exemplo aps inserido no editor SciTe:
#include
#include
#include
#include
#Region ### START Koda GUI section ### Form=
$JANELA1=GUICreate("EXERCCIO1", 285, 265, 192, 124) ;janela princ.
$TECLA1=GUICtrlCreateButton("TECLA1", 80, 176, 137, 41, 0);boto
$PLACA1 = GUICtrlCreateLabel("", 104, 40, 80, 80) ; label
GUICtrlSetBkColor(-1, 0xFF0000) ; cdigo da cor vermelha
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1 ; incio do lao de execuo do programa
$nMsg =GUIGetMsg()
Switch$nMsg
Case$GUI_EVENT_CLOSE ; verifica se houve comando para fechar
Exit ; interrompe a execuo e fecha a janela princ.
EndSwitch
Wend ; fim do lao de execuo do programa
No trecho de cdigo anterior, as instrues que aparecem grafadas em azul escuro so
funes especficas do compilador AutoIt que seguem definidas nas bibliotecas de instrues
inseridas no cabealho do arquivo. Em resumo, estas funes podem ser responsveis por vrias
aes como, por exemplo, criar e definir os objetos, detectar eventos de clique de mouse, eventos de
fechar janela, maximizar, minimiza, fazer interface do cdigo com os perifricos do computador,
utilizar e executar rotinas do sistema operacional etc. As instrues em azul claro so comandos de
programao quem tm sintaxes bem definidas. Em vermelho e com o prefixo $, so destacadas
CEFET-RJ 4 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
5/12
as variveis do programa, elementos aos quais podem ser atribudos um valor (numrico, string,
vetor stringetc). Em cinza claro, so destacadas as bibliotecas de definio de funes que sempre
devem aparecer no cabealho do arquivo de cdigo. Para saber em que bibliotecas as funes so
definidas basta consultar a ajuda (help) do editor SciTe. Para cada funo ou comando consultados
sero exibidos a sintaxe, os parmetros e suas definies, a biblioteca que o define e, em geral, um
cdigo exemplo.
2.1. Adicionando funcionalidades
Para adicionar funcionalidades a janela recm projetada, o usurio dever inserir novos
instrues e comandos no interior do lao While Wend. A varivel $nMsg, criada
automaticamente pelo KODA, armazena informaes de sistema relacionadas eventos ocorridos
na janelas (isto , fechamento de janela, minimizao, maximizao, evento de boto, clique de
mouseetc). A primeira instruo Caseverifica se ocorreu um evento de fechamento de janela. Em
caso positivo, tem-se a execuo do comando Exit.
(1) Aps o comando Exit, insira uma outra instruo Case e o conjunto de comandos
listados abaixo:
Case$TECLA1
GUICtrlSetBkColor($PLACA1, 0x00ff00)
Sleep(1000)
GUICtrlSetBkColor($PLACA1, 0xFF0000)
Sleep(1000)
GUICtrlSetBkColor($PLACA1, 0x00ff00)
Sleep(1000)
GUICtrlSetBkColor($PLACA1, 0xFF0000)
Sleep(1000)
A funo GUICtrlSetBKColor (Nome,valor) modifica a cor de fundo (valor) do objeto
definido porNome. No exemplo acima, os valores 0x00ff00 e 0xFF0000 representam as cores
bsicas vermelho e verde, respectivamente. O comando Sleep(valor) introduz uma pausa na
execuo do programa. O parmetro valor dado em milissegundos (ms).
CEFET-RJ 5 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
6/12
(2) No editor SciTe, no menu Tools, selecione a opo Compile (CTRL+F7);
(3) Ainda no menu Tools, selecione a opoBuild(F7);
(4) Se tudo estiver OK, ento no menu Tools, selecione a opoRun (F5);
Ao clicar na tecla PISCAR devero ocorrer 5 mudanas de cores, com intermitncia de 1 segundo,
no objeto PLACA: vermelho-verde-vermelho-verde-vermelho.
(5) Modifique o cdigo recm compilado para exibir outras cores de sua preferncia alm do
vermelho e verde. Salve as alteraes e repita os itens (2), (3) e (4) para verificar o seu
funcionamento.
(6) Modifique o intervalo de tempo entre as mudanas de cores alterando o valor do parmetrodo comando Sleep;
(7) Introduza o comando Beep(500, 500) aps cada funo GUICtrlSetBKColor. Salve as
alteraes e repita os itens (2), (3) e (4) para verificar o seu funcionamento.
3. SEGUNDO EXERCCIO
(1) Crie uma nova janela (Form1). Configure as propriedades WidtheHeight colocandoo valor
300 em ambas. Insira o texto EXERCCIO2 na propriedade Caption da janela principal
(Form1). Modifique a propriedadeNamepara JANELA2.
(2) Insira um objeto do tipoButton. Insira o texto INICIAR na propriedade Captiondo Boto.
Modifique o texto da propriedadeNamepara TECLA2.
(3) Insira um objeto do tipo Input. Modifique o texto da propriedadeName para DISPLAY.
Modifique os parmetros da propriedade Font para Verdana, normal, 72, amarelo.Modifique a propriedade Text deixando o campo em branco (sem caracteres). Configure as
propriedades Width e Height colocando o valor 120 em ambas. Configure a propriedade
Color para o valor clBlue (ou simplesmente selecione a cor azul na lista).
(4) Gere o cdigo AutoIt a partir do KODA e transfira o mesmo para o editor SciTE, conforme
foi feito no exerccio anterior.
CEFET-RJ 6 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
7/12
(5) Aps o comando Exit, insira uma outra instruo Case e o conjunto de comandos listados
abaixo:
Case$TECLA2 ; executa o cd. abaixo no clique TECLA2
If$contador
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
8/12
crescente e adicione uma TECLA3 para disparar a contagem decrescente. Utilize o
comando Sleep para coordenar a contagem a cada 1 segundo;
4. TERCEIRO EXERCCIO
(1) Crie uma nova janela (Form1). Configure as propriedades WidtheHeight colocandoos
valores 600 e 300, respectivamente. Insira o texto EXERCCIO3 na propriedade Caption
da janela principal (Form1). Modifique a propriedadeNamepara JANELA3.
(2) Insira um objeto do tipoButton. Modifique o texto ENVIAR na propriedade Captiondo
Boto. Modifique o texto da propriedadeNamepara TECLA4.
(3) Insira um objeto do tipoLabel. Modifique o texto da propriedadeNamepara TEXTO1.
Modifique a propriedade Caption inserindo o texto Enviando Dados Porta Paralela do
PC. Configure a propriedade Font para Verdana, negrito, 16, preto.
(4) Gere o cdigo AutoIt a partir do KODA e transfira o mesmo para o editor SciTE,
conforme foi feito nos exerccios anteriores.
Aps o comando Exit, insira uma outra instruo Case e o conjunto de comandos listados
abaixo:
Case$TECLA4 ; executa o cd. abaixo no clique TECLA4
$decide = $decide* (-1)
; $decide = 1 nos cliques mpares
; $decide = -1 nos cliques pares
;
enviar($decide,2)
;chama a funo, criada pelo usurio, para enviar
; um dado para a porta paralela
Ao clicar a TECLA4, o programa chama a funo enviar( ) que ser responsvel por
escrever um dado na porta paralela do PC , isto , no endereo 0x378.
CEFET-RJ 8 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
9/12
(5) Aps o lao While Wend , isto , fora dele,acrescente o trecho abaixo:
Funcenviar($opt,$valor) ; criando uma funo no AutoIt
$LPT1 = "0x378" ; endereo da porta paralela
If$opt =1Then ; nos cliques mpares
DllCall("inpout32.dll","none","Out32","short",$LPT1,"short",$valor)
;chama e executa a funo Out32 dentro da dll inpout32,
;passa os parmetros $LPT1 e $valor e seus respectivos tipos
else ; nos cliques pares
DllCall("inpout32.dll","none","Out32","short",$LPT1,"short",1)
;chama e executa a funo Out32 dentro da dll inpout32,
;envia 0 para todos os bits da porta
EndIf
EndFunc
(6) Antes do lao While Wend , declare a varivel $decidecomo global. Atribua a $decideo
valor inicial -1 :
Global$decide =-1
OBSERVAO 1: Para que o arquivo executvel do programa recm elaborado possa
acessar as funes internas da dll, necessrio que o arquivo inpout32.dll esteja no
diretrio de trabalho. Se o usurio desejar executar o programa anterior em outro
computador, dever transportar 2 arquivos: o inpout32.dll eo arquivo .exedo programa.
OBSERVAO 2:A porta paralela do PC deve estar configurada no modo ECP.
CEFET-RJ 9 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
10/12
4.1. Construo do hardwarede teste
Para testar o programa anterior ser necessrio a construo de um hardwaresimples que
possibilitar a comunicao entre o programa e a porta paralela do PC. Recomenda-se fortemente a
leitura do artigo sobre porta paralela disponvel no link abaixo, antes de seguir com as tarefas deste
roteiro de exerccios:
www.rogercom.com /pparalela /introducao.htm
LISTA DE COMPONENTES
L1 LED vermelho
L2 LED amarelo
R1 Resistor 470 - 1/8 W ou 1/4 W (amarelo, violeta, marrom)
R2 Resistor 470 - 1/8 W ou 1/4 W (amarelo, violeta, marrom)
1 conector DB25 macho
Flat cable 3 fios (~ 50 cm)
1 placa de circuito universal pequena
CIRCUITO
Verso modificada do projeto original emwww.rogercom.com /pparalela /introducao.htm.
CEFET-RJ 10 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
11/12
CDIGO PARA ACIONAMENTO DOS LEDs VIA PORTA PARALELA
POSIO DOS BITsNA PORTA VALOR DA VARIVEL$valor
$valor = 00 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
$valor = 10 0 0 0 0 0 0 1
D7 D6 D5 D4 D3 D2 D1 D0
$valor = 20 0 0 0 0 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
$valor = 30 0 0 0 0 0 1 1
D7 D6 D5 D4 D3 D2 D1 D0
5. QUARTO EXERCCIO
Modifique o cdigo AutoIt do TERCEIRO EXERCCIO para fazer com que o LED
vermelho pisque com frequncia de 2 Hz e o LED amarelo com frequncia de 4 Hz,
simultaneamente, durante 20 segundos.
6. QUINTO EXERCCIO
Modifique o cdigo do exerccio anterior para gerar nos LEDs as formas de onda ilustradas
abaixo:
CEFET-RJ 11 Prof. Alessandro R. L. Zachi
-
7/21/2019 Sistemas Digitais Tutorial Koda Autoit
12/12
Referncias :
[1] www.rogercom.com/pparalela/introducao.htm. Acesso em 29/10/2009.
[2] www.autoitscript.com/autoit3/ . Acesso em 15/10/2009.
[3] http://koda.darkhost.ru/ . Acesso em 15/10/2009.
CEFET-RJ 12 Prof. Alessandro R. L. Zachi