Sistemas Digitais Tutorial Koda Autoit

download Sistemas Digitais Tutorial Koda Autoit

of 12

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