Anda di halaman 1dari 29

Escola Secundria Emdio Navarro Curso Profissional de Electrnica, Automao e Computadores Disciplina de Automao e Computadores Mdulo 7 - Aquisio de Dados

Introduo ao uso do StampPlot Pro


StampPlot Pro um programa de gesto da interface srie do computador destinado aquisio de dados e controlo, compatvel com o microcontrolador PICAXE. StampPlot um programa verstil com inmeras potencialidades. Como possui uma grande panplia de opes pode parecer intimidatrio para um novo utilizador. Este guia ir discutir as mais importantes caractersticas do StampPlot, sendo apresentados apenas exemplos simples, para iniciao. Vejamos algumas das possibilidades do StampPlot, apresentadas neste documento: 1. Dispe de controlo bsico dos grficos atravs de uma barra de botes. 2. Realiza o traado simples de grficos de dados analgicos e digitais. 3. Controla praticamente todos os parmetros do StampPlot atravs de cdigo.

4. Recebe dados seja na forma de strings seja como valores binrios. 5. Guarda os dados e imagens dos grficos. 6. Usa imagens, desenhos e sons como efeitos. 7. Coloca controlos na interface para monitorizao e controlo. 8. Executa operaes matemticas. 9. Configura-se a partir de macros (scripts de texto). 10. Usa uma interface para controlo interactivo do PICAXE. 11. Realiza aquisio de dados e controlo atravs da Internet. Seco 1: Instalao e Controlo Bsico Instale o StampPlot, como habitual, executando o programa setup.exe. Uma vez instalado, o programa fica disponvel em:
Start menu Ou Iniciar Program Files StampPlot Pro Version 3.7 StampPlot Ver 3.7

Todos os Programas

StampPlot Pro Version 3.7

StampPlot Ver 3.7

Configurao e Testes Antes de avanar mais vamos assegurar-nos de que capaz de traar alguns dados simples no StampPlot. Abra o StampPlot. O ecr por omisso fornece uma variedade enorme de grficos prontos a usar e um programa de teste para o Picaxe.

Prima o boto Ver Exemplo Cdigo Picaxe e responda afirmativamente mensagem de segurana. o Abre-se uma janela de texto com o cdigo BASIC para Picaxe. o Copie e cole o cdigo no Picaxe Programming Editor. o Efectue o Download do programa para o PICAXE. o Visualize brevemente os dados na janela Terminal do Picaxe. Ver dados sendo enviados do Picaxe. Dever configurar a baudrate para 4800. o APENAS um programa pode aceder ao porto srie de comunicaes que recebe os dados em cada instante. NOTA: Para que o StampPlot possa receber os dados e utiliz-los deve fechar a janela Terminal do Picaxe. No StampPlot, prima no boto Grafico simples. Ser-lhe- apresentada uma configurao grfica simples. Prima o boto Connect na barra de botes. Se obtiver uma mensagem de erro indicando que existe um problema com a abertura do porto: o Confirme que a janela Terminal do Picaxe Programming Editor est fechada. o Abra a janela de Configurao. o Selecione o separador Port. o Escolha o porto COM desejado e prima Set as Default para fix-lo. o Tente as comunicaes de novo. Prima o boto Plot para activar o traado no StampPlot. Prima o boto Reset para reiniciar o traado ao instante 0. Se tudo tiver corrido bem dever visualizar o traado de 4 canais analgicos! Os dados so traados com o valor no eixo Y e o tempo decorrido no eixo dos X. Pontos de Dados Para permitir a repetio do traado e a salvaguarda de dados recebidos, estes so armazenados no que se designa por Data Points. Por omisso o nmero de pontos armazenados de 500. Este valor pode ser ajustado no separador Data, na janela Configuration. A alterao do nmero de pontos provoca a actualizao do grfico. O nmero de pontos usado mostrado graficamente no canto inferior esquerdo. Uma vez cheia a memria de pontos, o grfico reiniciado. NO se recomendam grandes quantidades de data points (acima de 5000), pois isso ir tornar lento o processo de refrescamento do grfico. Para obter o traado contnuo, deve activar-se a opo Flush Old Data premindo F11. Isso ir remover uma parte dos dados antigos cada vez que a memria encher.

Fila de espera de Dados Quando o dado chega, colocado numa fila de espera para ser processado. Se os dados chegarem muito depressa a fila comea a encher e vai existir um atraso entre o momento em que o dado enviado e o momento em que traado. A barra inferior indica a quantidade de dados que aguarda processamento. A velocidade a que o StampPlot pode processar os dados depende da velocidade do computador, do tipo de dados e de outros factores, embora um valor mdio seja de um dado cada 10 milisegundos (.01 segundos). Outros botes de controlo do grfico Stop e Shift: Uso do Stop: Quando o grfico atinge o tempo mximo o boto Plot vai desligar parando o traado de novos dados. Uso do Shift: Quando o traado atinge o tempo mximo, ir deslocar-se para a esquerda e mostrar os novos dados recebidos. Ajuste da Escala do Grfico: Este primeiro grupo de setas usado para ajustar a escala do eixo dos Y (valor analgico): o Escala dupla. o Meia escala. o Deslocar escala para cima. o Deslocar escala para baixo. o Premir CTRL-A faz o ajuste automtico das escalas para os valores mnimo e mximo traados. o Premir CTRL-L faz o deslocamento in/out- das escalas logartmicas Y. O Segundo grupo de setas usado para ajustar o eixo dos X (tempo) de igual modo. o Premir CTRL-R muda o eixo dos X para apresentar Real-Time hora e data actual. Testando as Configuraes Macro instaladas Quando se trata de enviar apenas 4 valores analgicos, o StampPlot pode realizar muitas funes sem alterao do cdigo existente no Picaxe. Escolha a opo do menu Macro Run Startup Macro para voltar ao ecr inicial. Escolha o primeiro tipo de grfico premindo na imagem respectiva. Pode ler informaes sobre este tipo de grfico na caixa de texto abaixo da imagem. Estabelea a comunicao com o Picaxe e observe o modo como os dados so utilizados. Algumas das opes de controlo podem ser inicialmente confusas, mas no deixe de as experimentar! Este documento ir ajudar a clarificar muito do que est a visualizar. 4

Seco 2: Traando dados Analgicos e Mensagens O StampPlot analisa o formato dos dados recebidos e utiliza-o. Vejamos algumas regras gerais para dados: Os dados analgicos comeam por um valor, e podem ser constitudos por at 10 valores, separados por vrgulas. Os dados digitais comeam pelo smbolo % e contm apenas 1s ou 0s. As Mensagens no cumprem nenhuma das regras anteriores (veremos as regras posteriormente) TODAS as linhas devem terminar com o carcter mudana de linha (CR). Traando dados Analgicos formato ASCII Os dados analgicos podem ser enviados do microcontrolador, para serem traados atravs do envio dos valores como texto ou strings ASCII. Por exemplo, as linhas de cdigo seguintes iro enviar dados como texto. A instruo SERTXD (envio de dados em srie pelo porto de programao do Picaxe pino serial out) utilizada para enviar dados de volta ao computador. Os dados so formatados como texto seguidos por um carriage-return (CR). Copie o programa para o Editor do Picaxe. Visualize a janela Terminal do Picaxe Programming Editor para observar o formato dos dados que so enviados. Use a opo Grfico simples do StampPlot para testes: ligar (Connect), traar (Plot), fazer deslocamentos e data flushing (F11).

stampplot01.bas
Tracando 1 valor analogico symbol x=b0 Start: FOR x = 0 to 255 SERTXD (# x, CR) PAUSE 100 NEXT GOTO Start Como pode ver na janela Terminal, os dados chegam como 0, 1, etc. Cada valor representado por 1, 2 ou 3 caracteres formando um nmero. Isso devese ao modificador # que formata os valores como texto.

Se no StampPlot se activarem os botes ligar (Connect) e traar (Plot), iremos ver os valores traados no grfico. A instruo PAUSE usada para evitar que a fila de dados encha. Podem traar-se mltiplos valores analgicos, separando cada valor por uma vrgula. Note que a expresso contem um valor decimal, uma vrgula, uma vrgula entre aspas, etc. O Picaxe impe a existncia de uma vrgula entre cada valor ou string enviada e o StampPlot exige vrgulas como parte do texto.

stampplot02.bas
Tracado de 3 valores analogicos symbol Val = b1 symbol Val2 = b2 symbol Val3 = b3 Start: FOR Val = 0 TO 255 VAL2 = VAL / 2 VAL3 = VAL * 2 SERTXD (#VAL, ",", #VAL2, ",", #VAL3, CR) PAUSE 100 NEXT GOTO Start

A melhor maneira de garantir a formatao adequada dos dados, consiste em visualiz-los na janela Terminal. Um exemplo dos dados visualizados na janela Terminal : 100, 50, 200 Pode traar-se at 10 valores simultneos, separando-os por virgulas. Traando dados Digitais Se iniciarmos uma linha pelo smbolo %, o StampPlot ir traar no grfico os dgitos binrios como sinais digitais.

Exemplo:

stampplot03.bas
'Tracado de 8 valores binarios SYMBOL val=b0 Start: FOR Val=0 TO 255 SERTXD ("%",#bit7, #bit6,#bit5,#bit4,#bit3,#bit2,#bit1,#bit0,CR) PAUSE 100 NEXT GOTO Start Envio de Mensagens Quando se envia uma string que no comea com um valor (veremos frente mais algumas restries), o StampPlot processa-a como uma mensagem e mostra-a na janela de mensagens. A linha deve terminar, como sempre, com carriage return (CR).

stampplot04.bas
Envio de Mensagens SYMBOL Val = b0 Start: FOR Val = 0 TO 255 SERTXD ("Valor = ", #Val, CR) PAUSE 100 NEXT GOTO Start bvio que podemos misturar dados nas formas analgica e mensagens no mesmo programa, embora cada uma exija uma terminao separada com CR. Seco 3: Janela Debug/Immediate e Instrues de Controlo A janela Debug/Immediate usada para monitorizar os dados medida que so processados ou para introduzir directamente dados e instrues. Execute o programa Tracado de 3 Valores Analogicos da pgina 6. Active os botes Connect e Plot no StampPlot. Abra a janela Debug/Immediate. Seleccione as caixas de verificao Anlg (analog) e PLot Mode para visualizar dados analgicos medida que so processados. Repare que os valores analgicos so apresentados Desligue o StampPlot, autorize o traado se no estiver activo e efectue o reset. Na caixa de texto inferior introduza trs valores e prima return (50,100,150). Use a seta para cima (UP arrow) do teclado, para mostrar a ltima entrada de dado, prima retorno de novo. Introduza 3 novos valores. Note na janela do traado estes valores a serem definidos. Experimente escrever a mensagem Hello World! A caixa de texto de Interface de Linha de Comando (Command Line Interface CLI) usada para introduzir valores de teste ou instrues. Instrues de Controlo Qualquer uma das potencialidades do StampPlot pode ser controlada utilizando instrues de controlo. Estas instrues podem ser transmitidas: Pelo utilizador, pela introduo manual na caixa de texto Debug/Immediate CLI. Pelo porto srie a partir do Picaxe como strings. Por um ficheiro de texto a partir do PC (macro). Pela Internet usando o programa TCP-Serial Gateway.

Todas as instrues de controlo so mnemnicas de 4-letras, iniciadas pelo ponto de exclamao (!) e, certamente, devem ser terminadas por CR carriage return. Experimente as seguintes instrues usando o CLI (Debug/Immediate) e veja o seu efeito. As explicaes direita de cada uma no devem ser introduzidas as instrues esto em itlico.

!POBJ !NEWP !SPAN 100,100 !TMAX 600 !RTIM ON !SHFT ON !FLSH ON !TITL Praticas !PLOT ON !RSET !STAT Minha mensagem !DBUG Hello! !CONN 1

Limpa todos os controlos do ecr Inicia um novo traado configurado por omisso Define a escala de dados analogicos (eixo Y) Define o tempo mximo em 600 minutos Activa o traado em Tempo Real no eixo dos X. Activa o deslocamento do grfico no mximo Activa o data flushing (limpa buffer de dados) Define o Ttulo da janela de grfico Activa traado Reinicia o traado Coloca uma mensagem na caixa de texto User Status do grfico. Mostra os dados na janela Debug. As instrues que usam ON/OFF podem tambm usar 1/0: Liga-se ao porto COM 1

Estas instrues de controlo podem tambm fazer parte do cdigo do Picaxe atravs da instruo SERTXD.

stampplot05.bas
Tracando 1 valor analogico e usando instrucoes de controlo PAUSE 5000 SERTXD(CR,"!POBJ Clear", CR) SERTXD("!NEWP", CR) SERTXD("!PLOT ON", CR) SERTXD("!SHFT ON", CR) SERTXD("!RSET", CR) Symbol Val = b0 Start: FOR Val = 0 TO 255 Traca o valor SERTXD( #VAL, CR) Mostra o valor na janela Messages SERTXD ("Valor = ",#Val,CR) PAUSE 100 NEXT GOTO Start

Como sempre, verifique na janela Terminal do Picaxe Programming Editor se as strings esto bem formatadas. NOTA: Quando o StampPlot se liga no efectua um reset ao Picaxe, pelo que no ir carregar as configuraes estabelecidas no incio do cdigo. Para garantir isso dever colocar a instruo PAUSE 5000 no incio do cdigo, garantindo assim que h tempo suficiente para ligar o StampPlot. Para garantir que no existe parte de uma linha na fila de espera (caso de um reset ao Picaxe), comece sempre a primeira instruo SERTXD com CR para terminar a string. Os ficheiros StampPlot Help, Summaries, disponibilizam a lista geral de instrues de controlo e o seu significado. NOTA IMPORTANTE: O software StampPlot foi criado para o controlo dos microcontroladores BASIC Stamp da Parallax. Assim, todos os exemplos de Help esto em cdigo PBASIC, pelo que devem ser adaptados para o Picaxe. As alteraes mais frequentes so: BASIC Stamp x VAR Byte DEBUG "!RSET",CR DEBUG DEC x,CR Picaxe SYMBOL x=b0 SERTXD (!RSET,CR) SERTXD (# x, CR)

Seco 4: Aquisio e Gravao de Dados e Mensagens O programa StampPlot pode guardar os dados e mensagens em ficheiros de texto. Os dados so armazenados como valores separados por vrgulas e opcionalmente com o tempo associado. As opes esto no menu Logging. As opes incluem a salvaguarda de dados e mensagens em ficheiros e a abertura de ficheiros de dados e mensagens. Os ficheiros so guardados no directrio Data do StampPlot. As instrues de controlo do StampPlot para esses efeitos so:

!SAVD ON !SAVM ON !NAMD filename.txt !NAMM filename.txt

Autoriza a salvaguarda em ficheiro de dados. Autoriza a salvaguarda em ficheiro de mensagens. Nome do ficheiro de dados a usar. Nome do ficheiro de mensagens a usar.

Lembre-se que estas instrues podem ser enviadas pelo Picaxe.

Salvaguarda de Grficos e Fotos Salvar um grfico salvar a configurao do grfico e os dados e mensagens actuais. Um grfico pode assim ser reaberto e analisado. Se a opo data flushing estiver activada apenas os dados actuais sero salvos para o grfico.

10

Premindo no cone SavePlot abre-se uma janela de dilogo para escolha do directrio onde guardar o ficheiro. Por omisso, os ficheiros so salvos no directrio Data.

!SAVP filename
O StampPlot pode ainda salvar uma imagem jpg do grfico, um snapshot, se for premido o cone cmara (Take Snapshot). A imagem salva para o directrio Data e ao nome do ficheiro anexada a data e hora.

!SNAP filename
As gravaes de Grficos e Fotos podem ser configuradas para serem automticas.

!ASAV ON !ASNP ON
Existem opes para que isso se realize quando o nmero de pontos adquiridos atinge o mximo (!MAXP) ou quando o grfico atinge o tempo mximo antes de se deslocar ( !MAXT). A data e a hora so automaticamente acrescentadas aos nomes dos ficheiros, salvo quando estiver desactiva esta opo

!APDT OFF
Por omisso, apenas as informaes na rea do grfico so guardadas como ficheiro ou foto. A salvaguarda de todo o ecr, incluindo os controlos, pode ser efectuada activando a opo respectiva no menu File ou usando a instruo

!FORM ON
Seco 5: Uso de ficheiros de desenho, imagem ou som para efeitos O StampPlot permite a colocao de desenhos de figuras e de texto no grfico. Em geral, a estrutura : tipo de figura + instruo, coordenadas, parmetros. Por exemplo: @TEXT 35a, 102a, 2, (BLUE) Instrucoes do StampPlot! NOTA: No utilize os caracteres portugueses (,,,,,,,etc) Tipos de Figuras O StampPlot dispe de 4 tipos diferentes de desenho dependendo do que se pretende produzir.

11

Iniciado por @: O desenho permanente e sobrevive a um reset. Adequado se pretendemos algo permanente no grfico, mesmo aps um reset. Iniciado por ~: O desenho temporrio e ir ser apagado nos resets, ou sempre que o grfico deslocado ou refrescado. Iniciado por ^: O desenho tratado como os pontos de dados e ser desenhado como os pontos quando h deslocamento do grfico. Como os dados, apagado quando o desenho reiniciado. A opo de traado (plotting) tem que estar activa. Iniciado por !: O desenho igual ao anterior (^) mas o desenho restringido rea de traado de pontos. A opo de traado (plotting) tem que estar activa. Experimente as instrues seguintes na caixa de texto CLI da janela Debug/Immediate:

stampplot06.bas !POBJ Clear !NEWP !PLOT ON @TEXT 35a, 102a, 2, (BLUE), Instrucoes StampPlot! ~FREC 10,25,30,150,(RED) ^FCIR 96,125,5,(GREEN) !RECT 48,50,72,175,(BLACK)
Faa agora deslocamento do grfico (use os icones Shift plot left e Shift plot right) e verifique o que acontece medida que o grfico se desloca. Porque razo o texto fica estvel? Os objectos mudam de posio porque as suas coordenadas so referidas s coordenadas da janela do grfico. Se utilizar coordenadas absolutas, pode traar pontos independentes das escalas, sendo o canto inferior esquerdo 0a, 0a, e o canto superior direito 100a, 100a. Claro que estas instrues podem ser provenientes do Picaxe, usando a instruo SERTXD. Ficheiros de Som O StampPlot pode executar ficheiros de som .WAV para juntar efeitos sonoros ao seu programa. Existe uma razovel quantidade de sons disponveis no directrio StampPlot/Media. Os ficheiros de som so processados de modo idntico s instrues de desenho. Por omisso o StampPlot procura no directrio pelo ficheiro de som, salvo se o caminho for especificado de outro modo.

~PWAV clap

12

A instruo IWAV pode tambm ser utilizada. Esta instruo vai interromper imediatamente a execuo do ficheiro anterior. Compare as duas sequncias seguintes, usando o CLI:

~PWAV clap(CR)~PWAV boing ~PWAV clap(CR)~IWAV boing


capaz de modificar o ultimo programa para executar o som boing cada vez que um ponto traado?

Ficheiros de imagens O StampPlot possui uma coleco de imagens em formato jpeg (.jpg) que podem ser usadas para juntar ao seu grfico. Tambm estas so processadas como instrues de desenho, usando coordenadas. O directrio media , por omisso, o directrio de imagens:

!POBJ Clear !NEWP !PLOT ON ^IMGP 80a,100a,90a,110a,comp\led_red_1.jpg ^IMGP 90a,100a,100a,110a,comp\led_grn_0.jpg


As instrues, como j sabe, podem ser provenientes do Picaxe:

stampplot07.bas
'Traca valores digitais e coloca 2 imagens PAUSE 1000l SERTXD (CR,"!POBJ Clear",CR) SERTXD ( "!NEWP",CR) SERTXD ("!PLOT ON",CR) SERTXD ("@TEXT 35a, 102a, 2, (BLUE), StampPlot Images!", CR) SYMBOL x = b0 DO RANDOM x ' Traa valores digitais SERTXD ("%",#bit1,#bit0,CR) ' Mostra LEDs no grafico SERTXD ("^IMGP 80a,100a,90a,110a,comp",92,"led_red_(BIT0).jpg", CR) SERTXD ( "^IMGP 90a,100a,100a,110a,comp",92,"led_grn_(BIT1).jpg", CR) PAUSE 500 Loop (BIT0) e (BIT1) so substitudos pelo StampPlot por 1 ou 0 em funo do estado desses bits e desenhados no grfico.

13

Seco 6 : Colocao de controlos na interface para monitorizao e controlo. Criao de um Controlo de Objecto Grfico Os controlos, como por exemplo as caixas de texto, os botes, os grficos de barras e outros, podem ser colocados como fundo no ecr do StampPlot, desde que se redimensionem as dimenses do grfico.

!POBJ Clear Dimensoes da janela do grafico 70% por 80%. !PPER 70,80 !NEWP
A criao de um novo controlo de objecto grfico faz-se definindo o tipo, o nome, as coordenadas (o fundo 0,0 a 100,100) e os parmetros. Para criar um aparelho de medida novo, o formato : !POBJ oMeter.objName=L,T [,W,H,escala min, escala max,alarme min, alarme max] Onde oMeter significa usar um controlo de objecto grfico medidor. ObjName o nome que se quer atribuir. L = Coordenada esquerda do medidor. T = Coordenada superior do medidor. [ ] indica que os parmetros so opcionais. W = Largura do medidor. H = Altura do medidor. Scale min = Valor mnimo da escala do medidor. Scale Max = Valor mximo da escala do medidor. Alarm Min = Valor mnimo definido para alarme. Alarm Max = Valor mximo definido para alarme.

14

Assim, para criar um medidor de nome meter1 na posio 75 esquerda e 50 no topo, usando a largura e altura pr-definidas, e uma gama 0 a 255 com definio de alarme entre 25 e 200 (certifique-se de que corre o cdigo antes):

!POBJ oMeter.Meter1=75,50,,,0,255,25,200
Meter1 pode ser actualizado atribuindo-lhe um novo valor (repare como o nome usado):

!POBJ Meter1= 100


O cdigo a executar no Picaxe pode ser o seguinte:

stampplot08.bas
'Traca e usa um medidor PAUSE 1000 SERTXD (CR,"!POBJ Clear", CR) SERTXD ("!NEWP",CR) SERTXD ("!PLOT ON",CR) SERTXD ("@TEXT 35a, 102a, 2, (BLUE), StampPlot Meters!", CR) ' Redimensionar o grafico SERTXD ("!PPER 70,80",CR) ' Criar o medidor SERTXD ("!POBJ oMeter.Meter1=75,50,,,0,255,25,200",CR) SYMBOL x = w0 SYMBOL y = w1 x = 100 DO RANDOM y X = y / 255 ' Tracar valor SERTXD (# x, CR) ' Actualizar medidor SERTXD ("!O Meter1=", # x, CR) PAUSE 500 LOOP

15

Repare no uso de !O. Trata-se de uma abreviatura de !POBJ para reduzir o espao do cdigo. Repare tambm que a string de actualizao deve ser enviada sempre que o valor muda. Podemos automatizar o processo atravs de um Update Value para o controlo de objecto. Valores de Actualizao (Update Values) O StampPlot segue todos os diferentes tipos de valores quando (PTIME) for usado em tempo real, e (BIT0) for usado para ultimo bit digital 0 recebido. Estes valores chamam-se Macro Math Values. Outras macros so (AINVAL0) a (AINVAL99) para um grupo de valores analgicos recebidos. Podemos definir o medidor para usar o valor automaticamente sempre que for actualizado atravs de um valor Update:

!O Meter1.U=(AINVAL0)
Agora, quando for enviada uma instruo de actualizao, o medidor vai ser actualizado com esse valor.

!O Update

16

stampplot09.bas
'Tracar com medidor e valor de actualizacao PAUSE 1000 SERTXD (CR,"!POBJ Clear",CR) SERTXD ("!NEWP",CR) SERTXD ("!PLOT ON",CR) SERTXD ("@TEXT 35a, 102a, 2, (BLUE), StampPlot Meters!", CR) ' Redimensionar o grafico SERTXD ("!PPER 70,80",CR) ' Criar objecto SERTXD ("!POBJ oMeter.meter1=75,50,,,0,255,25,200",CR) ' Definir um objecto de actualizacao SERTXD ("!O Meter1.U=(AINVAL0)",CR) SYMBOL x = w0 SYMBOL y = w1 x = 100 DO RANDOM y X = y / 255 ' Tracar valor SERTXD (# x, CR) ' Actualizar todos os controlos de objectos SERTXD ("!O Update",CR) PAUSE 500 LOOP Embora isso no parea um grande ganho, se tivermos 3 medidores, caixas de texto, e outros controlos variados, devemos ser capazes de os actualizar imediatamente, usando !O Update. ALARMES Adicionar um cdigo de evento Um cdigo de evento um cdigo do StampPlot que executado quando ocorre um evento. Um evento um acontecimento no medidor que activa um nvel de alarme, um boto pressionado, uma caixa de texto que altera o seu contedo, ou qualquer outra aco que possa ter lugar nos controlos de objectos do grfico. Um cdigo de evento (event code) criado especificando o cdigo que deve ser executado para o objecto, como no caso do nosso medidor:

!O Meter1.C=~PWAV boing
Podem enviar-se instrues mltiplas, separadas por (CR). Se estiver a usar linhas mltiplas, deve usar um separador (;) (vai ver este sinal nos ficheiros macro de texto).

17

!O Meter1.C=~PWAV boing(CR)!STAT ALARM AT (RTIME) ver stampplot10.bas


Onde (RTIME) o tempo real do traado (a hora do computador: minutos :segundos). Quer acrescentar um cdigo de evento ao programa anterior? (ajuda: Pode faze-lo depois do medidor ser criado). Procure nos ficheiros de ajuda outros controlos de objectos grficos e sobre o seu modo de utilizao e, claro, experimente-os! Seco 7: Realizando Operaes Matemticas. O StampPlot pode realizar operaes matemticas superiores ou iguais ao que o Picaxe pode realizar (note que o Picaxe 28X1 possui muitas funes matemticas inexistentes no 28X), inclusive clculo em vrgula flutuante. Vejamos algumas regras de utilizao: As operaes matemticas so colocadas entre parntesis rectos [ ]. Apenas uma operao por parntesis. As operaes so realizadas dos parntesis interiores para os exteriores. Os valores e operadores so separados por vrgulas. Tomemos por exemplo:

!STAT [100,/,5]
Esta operao calcula o valor e mostra o resultado na caixa de texto de satus 100 / 5. Ou, algo um pouco mais complexo:

!STAT [[100,/,5],-,20]
Ir calcular 100/5 20. Seco 8: Configurao de macros (scripts textuais). Claro que, toda esta quantidade de desenhos, sons, controlos e clculo matemtico ocupa espao na memria do Picaxe e, nalguns casos, no ser possvel escrever cdigo que realize as operaes pretendidas. As Macros so ficheiros de texto simples que contm informao de configurao para o processamento de dados. Vejamos uma macro simples. Use o Macro Menu Edit Macro with NotePad Atribua um nome, como macroTest Responda sim para criar o ficheiro (duas vezes).

18

Coloque texto no ficheiro. Guarde o ficheiro. Use o Macro menu Run Macro, seleccione a macro e abra-a.

stampplot11.spm
'Macro para tracar e mostrar valores num medidor INIT: ' Define a macro como macro por omisso para dados !DEFS (ME) ' Limpa todos os objectos graficos !POBJ Clear 'Inicia um novo grafico !NEWP ' Gama de valores do eixo-Y !SPAN 0,360 ' Activa o tracado !PLOT ON ' Coloca texto grafico @TEXT 35a, 102a, 2, (BLUE), StampPlot Meters! ' Dimensiona o grafico !PPER 70,80 ' Cria um medidor !O oMeter.Meter1=75,50,,,-0,360 ' define actualizacao de valores, formato com 2 casas decimais !O Meter1.U=[(AINVAL0),FORMAT,0.00] ' Usa rotina por omissao quando os dados chegam !USED ON ENDMAC 'Rotina que e executada quando os dados chegam DEFAULT: Actualiza controlos de objectos graficos !O UPDATE ENDMAC Esta macro contm duas rotinas. INIT e DEFAULT e cada uma terminada com ENDMAC. INIT executada quando a macro aberta. Ao especificar !USED ON, a rotina DEFAULT executada quando os dados analgicos chegam. TODOS os comentrios numa macro devem estar em linhas separadas do cdigo. Vejamos um programa simples para teste no Picaxe.

stampplot11.bas
SYMBOL x =W0 DO FOR x = 0 TO 360 SERTXD (# x, CR) PAUSE 100 NEXT

19

LOOP Neste caso, a combinao da Macro e do cdigo do Picaxe, traam os valores e mostra-os no medidor de 0 to 360. Mas e se quisermos, em vez disso, traar no grfico os valores do seno (SIN)? Ver stampplot12.bas Seco 10: Uso de uma interface para controlo interactivo do Picaxe. Vamos agora utilizar as potencialidades da criao de macros interactivamente, usando a interface grfica do StamplPlot. Como circuitos base de trabalho iremos usar a nossa placa, com a LDR ligada entrada analgica AN1, o bezouro na sada digital OUT4, o LED na sada digital OUT6 e o interruptor na entrada digital IN7. Carregue no Picaxe o cdigo seguinte:

stampplot13.bas
'Picaxe 28x1 ' 'declarao de pinos symbol symbol symbol symbol LDR=1 LED=6 Buzzer=4 Sw=pin7 'entrada analgica 'sada digital 'sada digital 'entrada digital porta pino 1 portb pino 6 portb pino 4 portc pino 7

'declarao de variveis symbol symbol symbol symbol symbol symbol Led_state=bit0 SW_state=bit1 Silence=bit2 PhotoVal=w2 Tom=w3 Dur=w4

'Programa pause 5000 high LED Dur=10 pause 1000 sertxd (cr) do

20

readadc LDR,PhotoVal sound Buzzer,(PhotoVal,Dur) SW_state=Sw Led_state=Sw if Led_state=1 then high LED else low LED end if sertxd (#PhotoVal,cr) sertxd ("%",#Led_state,CR) loop Corra o StampPlot e use o menu File para iniciar um novo grfico (New Plot). Apague a configurao e os objectos se for preciso. Ligue os botes Connect e Plot. Varie a luz incidente na LDR e prima o boto a seu gosto. Verifique os resultados no grfico. Ajuste as escalas para poder visualizar todo o sinal da LDR.

Adicionando e actualizando um objecto Vamos agora construir uma interface bsica para mostrar os dados. Iremos comear por acrescentar um medidor virtual nossa interface.

21

Desligue a aquisio de dados no StampPlot (desligue Connect e Plot). Abra o Object Editor (prima o cone Plot Object Editor) . Seleccione o separador Config. Defina as dimenses do grfico em Plot Percent para 70 (X) e 100 (Y) e prima no boto Set. Repare que a rea do grfico se reduz para 70% na horizontal. Seleccione o separador Objects. Arraste um Meter Object para a rea livre. Designe-o (Name) por metPhoto. comum em programao que as primeiras trs letras do nome de um objecto representem o tipo de objecto, neste caso um meter (medidor ou aparelho indicador). Utilize a tecla de tabulao para activar a caixa de texto Left. Prima as teclas cursor (esquerda/direita/cima/baixo). Repare que o medidor se desloca na interface. Prima a tecla Shift e use as teclas cursor novamente. Note que o medidor se move mais lentamente. Use a tecla de tabulao para activar a caixa Width. Teste o efeito das teclas de cursor nas dimenses do medidor. Use a tecla de tabulao para activar a caixa Scale Max e defina-a para 300. Defina o Alarm Max para 150. V agora para o Picaxe Programming Editor e altere o cdigo, inserindo antes da instruo LOOP, o seguinte cdigo SERTXD (!O metPhoto=, #PhotoVal, CR) A expresso !O a abreviatura de !POBJ ou seja plot object (desenhe o objecto). Carregue o cdigo no Picaxe e active os cones Connect e Plot no StampPlot. Note que o medidor actualizado e que os dados so traados. Ver stampplot14.bas

22

Controlo interactivo Controlar o Bezouro O StampPlot pode ser usado para o controlo interactivo do microcontrolador. Para isso o procedimento consiste em o microcontrolador solicitar um valor atravs da instruo !READ e aceitar o valor de volta. O cdigo geral o seguinte: SERTXD (!READ (objName), CR) SERRXD variavel PAUSE 50 Vamos ento introduzir na nossa interface uma Checkbox que possibilite calar o bezouro. Arraste e largue um objecto Checkbox Object na interface. Configure-o do seguinte modo: Name: chkSilence Text: Silenciar Bezouro Font: Arial, 10, Bold Ajuste a largura e posio se necessrio. V agora para o Picaxe Programming Editor e insira no incio da instruo DO-LOOP o seguinte cdigo: SERTXD (!READ (chkSilence), CR) SERRXD Silence PAUSE 50 Substitua a linha de cdigo SOUND para if Silence=0 then sound Buzzer,(PhotoVal,Dur) end if Carregue o cdigo no Picaxe, ligue o StampPlot e teste. Cdigo a usar: 'Picaxe 28x1 ' 'declarao de pinos symbol symbol symbol symbol LDR=1 LED=6 Buzzer=4 Sw=pin7 'entrada analgica 'sada digital 'sada digital 'entrada digital porta pino 1 portb pino 6 portb pino 4 portc pino 7

'declarao de variveis symbol Led_state=bit0 symbol SW_state=bit1 symbol Silence=bit2 23

symbol PhotoVal=w2 symbol Tom=w3 symbol Dur=w4 'Programa pause 5000 high LED Dur=10 pause 1000 sertxd (cr) do sertxd ("!READ(chkSilence)",cr) serrxd Silence pause 50 readadc LDR,PhotoVal if Silence=0 then sound Buzzer,(PhotoVal,Dur) end if SW_state=Sw Led_state=Sw if Led_state=1 then high LED else low LED end if sertxd (#PhotoVal,cr) sertxd ("!O metPhoto=",#Photoval,cr) loop Controlo da durao do Som com boto deslizante Vamos agora acrescentar nossa interface um boto deslizante (slider) que possibilite controlar a varivel Dur tempo de durao do som do bezouro. Acrescente um Horiz. Slider Object interface grfica. Configure-o do seguinte modo: Name: sldDur Text: Ajuste de som Min: 20 Max: 255

24

Ajuste a largura e posio se necessrio. Acrescente uma etiqueta (Label Object) por baixo do boto. Configure-o do seguinte modo: Name: lblDur Text: Durao do Som Font: Arial, 10, Bold Ajuste a largura e posio se necessrio. V agora para o Picaxe Programming Editor e insira a seguir ao cdigo relativo Checkbox Silence: SERTXD (!READ (sldDur), CR) SERRXD Dur PAUSE 50 Carregue o cdigo no Picaxe, ligue o StampPlot e teste. Podemos inicializar estes objectos, colocando no cdigo a seguir a pause 5000, SERTXD (!O chkSilence=0, CR) SERTXD (!O sldDur=, #Dur, CR) Define que a caixa Silence est off Define o boto deslizante para o valor actual.

Controlo para Silenciar o Bezouro com um Interruptor Virtual O StampPlot tem a habilidade de usar controlos grficos seja para indicao seja para interaco. As imagens a utilizar podem ser as contidas no conjunto fornecido no directrio Media ou mesmo criadas pelo utilizador.

25

Vamos substituir a caixa de verificao (checkbox) para silenciar o bezouro por um comutador virtual. Prima a tecla Shift e o boto direito do rato na Silence Buzzer checkbox da interface. Verifique que o chkSilence est na lista e prima em Delete no Object Editor. Seleccione o separador Object, arraste e coloque um Image Button Object (parecido com um interruptor vertical). Designe o objecto por swSilence e coloque a imagem vazia num local apropriado da interface. Seleccione o separador Media, abra o directrio comp (componentes) no directrio Media. Localize o ficheiro switch_h_0.jpg e arraste-o para a localizao Image0. Localize o ficheiro switch_h_1.jpg e arraste-o para a localizao Image1. V agora para o Picaxe Programming Editor e modifique o cdigo do seguinte modo: altere SERTXD (!READ (chkSilence), CR) para SERTXD (!READ (swSilence), CR) Corra o programa e teste-o. Repare que a imagem seleccionada (0 ou 1) lida pelo Picaxe. stampplot17.bas

26

Vamos agora associar som ao interruptor, codificando um som WAV para ser tocado sempre que o interruptor accionado. Na caixa Event Code do interruptor, escreva ~IWAV stapler. Corra o programa e teste-o. Seco 9: Definir uma interface com o cdigo do Picaxe A maneira mais fcil de criar uma interface consiste em cri-la no StampPlot, atravs de uma macro, copiar e colar o cdigo no Picaxe Programming Editor e acrescentar-lhe as instrues SERTXD. So necessrias apenas a seco Objects da macro e as seces mais importantes do cdigo de Initialization. Vamos criara uma interface simples com um medidor (meter), e o boto silence. O cdigo constante da macro : !POBJ Clear !PPER 70,100 ' Set Back Color ******** !POBJ oBack=7 ' Analog Arrival Code ******* !POBJ oAnalog.C=!POBJ Update(;) !ACHN 0,(AINVAL0),(Black)(;) !STAT Maximum is (AINMAX0)(;) !ACHN 1,(AINMAX0),(GREEN) ' metPhoto -- OMETER ***** !POBJ oMeter.metPhoto=73.,91.,24.,25.,0,4000,0,3000 !POBJ metPhoto.U=(AINVAL0) ' swSilence -- OIMGBUT ***** !POBJ oImgBut.swSilence=82.,65.,7.,12.,comp\switch_h_0.jpg,1,comp\switch_h_1.jpg,1 '-- Event Code !POBJ swSilence.C=~IWAV stapler Vamos agora converter este cdigo para cdigo do Picaxe. Vir ento

stampplot18.bas
'declaracao de variaveis symbol symbol symbol symbol symbol symbol Led_state=bit0 SW_state=bit1 Silence=bit2 PhotoVal=w2 Tom=w3 Dur=w4 27

pause 5000 SERTXD (CR,"!POBJ Clear",CR) SERTXD ("!PPER 70,100",CR) ' Set Back Color ******** SERTXD ("!POBJ oBack=7",CR) ' Analog Arrival Code ******* SERTXD ("!POBJ oAnalog.C=!POBJ Update(;)",CR) SERTXD ("!ACHN 0,(AINVAL0),(Black)(;)",CR) SERTXD ("!STAT Maximum is (AINMAX0)(;)",CR) SERTXD ("!ACHN 1,(AINMAX0),(GREEN)",CR) ' metPhoto -- OMETER ***** SERTXD ("!POBJ oMeter.metPhoto=73.,91.,24.,25.,0,4000,0,3000",CR) SERTXD ("!POBJ metPhoto.U=(AINVAL0)",CR) ' swSilence -- OIMGBUT ***** SERTXD ("!POBJ oImgBut.swSilence=82.,65.,7.,12.,comp",92,"switch_h_0.jpg,1,comp",92,"switc h_h_1.jpg,1",CR) '-- Event Code SERTXD ("!POBJ swSilence.C=~IWAV stapler",CR) Algumas notas fundamentais:

O Picaxe no aceita o carcter \ numa expresso, pelo que, para definir o caminho dos ficheiros, devemos substituir esse smbolo pelo seu cdigo ASCII (92). Assim, a expresso comp\switch_h_0.jpg d origem ao cdigo comp",92,"switch_h_0.jpg Inicie sempre com um carcter CR, para garantir a leitura correcta da primeira linha. Termine cada linha com CR. Termine com uma PAUSA para dar tempo interface de processar os objectos.

Seco 10: Aquisio de dados e controlo pela Internet O StampPlot tambm instala um programa chamado TCP-Serial Gateway. Este programa permite a monitorizao e o controlo pela Internet pela criao de uma ligao (gateway) entre o seu porto srie e a ligao Internet. A configurao tpica :

28

Local - Stamp/Gateway Configurao Local: 1. 2. 3. 4. 5.

Remoto StampPlot

O computador local ligado e programado para usar o StampPlot. Abra o programa TCP-IP Gateway. Ligue ao porto srie. Active Listen no lado Internet. Registe o endereo IP local apresentado.

Configurao Remota: 1. 2. 3. 4. 5. 6. 7. Abra o StampPlot Abra a janela de configurao (Configuration Window). No separador Port, seleccione TCP. Introduza o endereo IP acima encontrado. Prima os botes Connect e Plot. Veja o grfico a funcionar. Os controlos interactivos tambm funcionam!

Se tiver problemas com a ligao, verifique com o administrador do sistema, pois pode existir uma firewall. A gateway StampPlot TCP no suporta ainda proxy-servers.

29

Anda mungkin juga menyukai