Biblioteca de programação: mudanças entre as edições
Criou página com '=Placa de aquisição de dados= *Saídas digitais Existem 3 saídas digitais na placa, e essas são chamadas de OUT1, OUT2 e OUT3. 600px Essas s...' |
Sem resumo de edição |
||
Linha 38: | Linha 38: | ||
Estas entradas suportam tensões de até 10V | Estas entradas suportam tensões de até 10V | ||
=Instalação= | |||
Fazer o dowload do arquivo bibprg neste link: [http://db.tt/17JRNYpK Download] | |||
Intruções para instalação: | |||
Na pasta make: | |||
-Dentro do arquivo shell.sh, no campo "SENHA". Botar senha de root do PC em uso; | |||
-Dentro do arquivo Perm-Cerne.rules, na segunda linha, no campo OWNER="Aluno". Mudar "Aluno" para o nome do usuário do computador. | |||
feito isso, basta que, a partir do terminal, seja feito o comando make dentro da pasta make. | |||
=Criando programas em C utilizando a biblioteca prg= | |||
As seguintes funções estão disponíveis nesta biblioteca: | |||
*função conectar: | |||
esta função conecta a plaquinha ao host PC | |||
Parâmetros: não possui | |||
como utilizar: | |||
conectar (); | |||
*Função "info" | |||
esta função retorna informações da placa. Pode retornar o nome do fabricante e o string do produto. | |||
Parâmetros: não possui | |||
como utilizar: | |||
info (); | |||
*Função "enviar_digital" | |||
Envia um sinal para uma das 3 saídas digitais da placa de aquisição | |||
como utilizar: | |||
Parâmetros: 2 parâmetros do tipo char, onde o primeiro representa uma saída digital (1, 2 ou 3) e o segundo representa o estado da saída, podendo ser 1(nível alto) ou 0(nível baixo). | |||
enviar_digital (saída, estado); | |||
/*IMPORTANTE: as varíaveis saída e estado, sao do tipo CHAR*/ | |||
ou | |||
enviar_digital (‘1’, ‘1’) | |||
/*saída 1 é colocada em nivel alto(5V)*/ | |||
*Função "enviar_analogica" | |||
função utilizada para enviar um sinal para uma das 2 saídas analógicas da placa de aquisição | |||
como utilizar: | |||
Parâmetros: 2 parâmetros do tipo char, onde o primeiro representa uma saída analógica (1 ou 2) e o segundo é uma string que representa o estado da saída, podendo esta variar de “000” a “255”. Onde “000” é 0V e 255 é 5V. | |||
Outras tensões podem ser encontradas através de calculos simples, como 2,5V “127” | |||
enviar_analogica (saida, estado); | |||
/*Onde a variavel saida e estado sao do tipo CHAR*/ | |||
ou | |||
enviar_analogica (‘1’, “127”); | |||
/*onde a saída analógica 1 está sendo energizada com aproximadamente 2.5V*/ | |||
*Função "receber_digital" | |||
Função utilizada para receber infotrmações das entradas analógicas; | |||
A entrada digital desta placa é do tipo seco. Ela retornará 0 caso a entrada NÃO estiver aterrada, e 1 se estiver. | |||
como utilizar: | |||
Parâmetros: receber(nº da saída); | |||
Retorno: o retorno desta função é um inteiro (int) | |||
receber_digital (char saida) ; | |||
ou | |||
receber_digital (‘1’) ; | |||
/*onde a função retornará 0 ou 1 da entrada 1 */ | |||
/*Existem 3 entradas digitais, portanto a variavel saída pode ser 1, 2 ou 3*/ | |||
*Função "receber_analogica" | |||
Função utilizada para receber infotrmações das entradas analógicas; | |||
As entradas analógicas retornam valores de 0,00V a 9,99V; | |||
como utilizar: | |||
Parâmetros: receber(nº da saída); | |||
Retorno: o retorno desta função é um número real (float) | |||
receber_analogica (char saida) ; | |||
ou | |||
receber_analogica (‘1’) ; | |||
/*onde a função retornará retornará um valor entre 0,00 e 9,99 */ | |||
/*Existem 8 entradas analogicas, portanto a variavel saída pode ser 1, 2, 3, 4, 5, 6, 7 ou 8*/ | |||
*Função "print_display" | |||
/*Função utilizada para imprimir um mensagem no display lcd*/ | |||
como utilizar: | |||
//Parâmetros: print_display(linha,"mensagem"); | |||
print_display (int linha, char mensagem[]); | |||
*Função "limpar_display" limpa o display | |||
/*Função utilizada para limpar o display*/ | |||
como utilizar: | |||
//Parâmetros: não possui | |||
limpar_display(); | |||
=Exemplos= | |||
Sempre lembrando do arquivo de cabeçalho "bibprg.h" que está dentro da pasta que foi baixada | |||
Saída digital | |||
<syntaxhighlight lang=c> | |||
#include <stdio.h> | |||
#include "bibprg.h" | |||
main (){ | |||
char saida='1', estado='0'; | |||
conectar (); | |||
enviar_digital ('1','1'); | |||
sleep (1); | |||
enviar_digital (saida,estado); | |||
} | |||
</syntaxhighlight> | |||
Lembrando que o dois parâmetros são do tipo CHAR | |||
Saída analógica | |||
<syntaxhighlight lang=c> | |||
#include <stdio.h> | |||
#include "bibprg.h" | |||
main (){ | |||
char saida='1', estado[3]="000"; | |||
conectar (); | |||
enviar_analogica('1', "130"); | |||
sleep(2); | |||
enviar_analogica(saida, estado); | |||
} | |||
</syntaxhighlight> | |||
Os dois parâmetros são do tipo CHAR, sendo o segundo uma cadeia de caracteres que varia de 000 á 255 | |||
Entrada digital | |||
<syntaxhighlight lang=c> | |||
#include <stdio.h> | |||
#include "bibprg.h" | |||
main (){ | |||
char saida='1'; | |||
conectar (); | |||
printf ("%d\n", receber_digital ('1')); | |||
sleep (3); | |||
printf ("%d\n", receber_digital (saida)); | |||
} | |||
</syntaxhighlight> | |||
Parâmetro do tipo CHAR | |||
Entrada analógica | |||
<syntaxhighlight lang=c> | |||
#include <stdio.h> | |||
#include "bibprg.h" | |||
main (){ | |||
conectar (); | |||
printf("%f\n",receber_analogica('1')); | |||
sleep (2); | |||
printf("%f\n",receber_analogica('1')); | |||
} | |||
</syntaxhighlight> | |||
Parâmetro do tipo CHAR | |||
Display | |||
<syntaxhighlight lang=c> | |||
#include <stdio.h> | |||
#include "bibprg.h" | |||
main(){ | |||
int i=12; | |||
char mensagem[50]="Fim"; | |||
conectar(); | |||
for(;;){ | |||
print_display (1,"Linha 1 display LCD"); | |||
sleep(1); | |||
print_display (2,"Linha 2 display LCD"); | |||
sleep(1); | |||
print_display (12,"Linhas 1 e 2 display LCD"); | |||
sleep(1); | |||
print_display (i, mensagem); | |||
sleep(1); | |||
} | |||
} | |||
</syntaxhighlight> | |||
Onde a variável "i" é do tipo inteiro e a "mensagem" é uma cadeia de caracteres | |||
Ao fim, basta compilar da seguinte forma: | |||
gcc arquivo.c -lprg -lusb-1.0 -o arquivo | |||
{{collapse bottom}} |
Edição das 09h59min de 28 de agosto de 2013
1 Placa de aquisição de dados
- Saídas digitais
Existem 3 saídas digitais na placa, e essas são chamadas de OUT1, OUT2 e OUT3.
Essas saídas são energizadas, e quando estão ligadas enviam 5V a saída escolhida.
- Entradas digitais
Existem, também, 3 entradas digitais, que são nomeadas INP1, INP2 e INP3.
Essas entradas são do tipo seco, o que significa que elas ficam ativas quando aterradas(GND).
- Saídas analógicas
Existem 2 saídas analógicas, e essas nomeadas DA1 e DA2.
Essas saídas podem ser ajustadas para mandar tensões entre 0V e 5V.
- Entradas analógicas
As 8 entradas analógicas existentes na placa são nomeadas como AD1, AD2, AD3...AD8
Estas entradas suportam tensões de até 10V
2 Instalação
Fazer o dowload do arquivo bibprg neste link: Download
Intruções para instalação:
Na pasta make:
-Dentro do arquivo shell.sh, no campo "SENHA". Botar senha de root do PC em uso;
-Dentro do arquivo Perm-Cerne.rules, na segunda linha, no campo OWNER="Aluno". Mudar "Aluno" para o nome do usuário do computador.
feito isso, basta que, a partir do terminal, seja feito o comando make dentro da pasta make.
3 Criando programas em C utilizando a biblioteca prg
As seguintes funções estão disponíveis nesta biblioteca:
- função conectar:
esta função conecta a plaquinha ao host PC
Parâmetros: não possui
como utilizar:
conectar ();
- Função "info"
esta função retorna informações da placa. Pode retornar o nome do fabricante e o string do produto. Parâmetros: não possui
como utilizar:
info ();
- Função "enviar_digital"
Envia um sinal para uma das 3 saídas digitais da placa de aquisição
como utilizar:
Parâmetros: 2 parâmetros do tipo char, onde o primeiro representa uma saída digital (1, 2 ou 3) e o segundo representa o estado da saída, podendo ser 1(nível alto) ou 0(nível baixo).
enviar_digital (saída, estado);
/*IMPORTANTE: as varíaveis saída e estado, sao do tipo CHAR*/ ou
enviar_digital (‘1’, ‘1’)
/*saída 1 é colocada em nivel alto(5V)*/
- Função "enviar_analogica"
função utilizada para enviar um sinal para uma das 2 saídas analógicas da placa de aquisição
como utilizar: Parâmetros: 2 parâmetros do tipo char, onde o primeiro representa uma saída analógica (1 ou 2) e o segundo é uma string que representa o estado da saída, podendo esta variar de “000” a “255”. Onde “000” é 0V e 255 é 5V. Outras tensões podem ser encontradas através de calculos simples, como 2,5V “127”
enviar_analogica (saida, estado);
/*Onde a variavel saida e estado sao do tipo CHAR*/
ou
enviar_analogica (‘1’, “127”);
/*onde a saída analógica 1 está sendo energizada com aproximadamente 2.5V*/
- Função "receber_digital"
Função utilizada para receber infotrmações das entradas analógicas; A entrada digital desta placa é do tipo seco. Ela retornará 0 caso a entrada NÃO estiver aterrada, e 1 se estiver.
como utilizar:
Parâmetros: receber(nº da saída); Retorno: o retorno desta função é um inteiro (int)
receber_digital (char saida) ;
ou
receber_digital (‘1’) ;
/*onde a função retornará 0 ou 1 da entrada 1 */ /*Existem 3 entradas digitais, portanto a variavel saída pode ser 1, 2 ou 3*/
- Função "receber_analogica"
Função utilizada para receber infotrmações das entradas analógicas; As entradas analógicas retornam valores de 0,00V a 9,99V;
como utilizar:
Parâmetros: receber(nº da saída); Retorno: o retorno desta função é um número real (float)
receber_analogica (char saida) ;
ou
receber_analogica (‘1’) ;
/*onde a função retornará retornará um valor entre 0,00 e 9,99 */ /*Existem 8 entradas analogicas, portanto a variavel saída pode ser 1, 2, 3, 4, 5, 6, 7 ou 8*/
- Função "print_display"
/*Função utilizada para imprimir um mensagem no display lcd*/
como utilizar:
//Parâmetros: print_display(linha,"mensagem");
print_display (int linha, char mensagem[]);
- Função "limpar_display" limpa o display
/*Função utilizada para limpar o display*/
como utilizar:
//Parâmetros: não possui
limpar_display();
4 Exemplos
Sempre lembrando do arquivo de cabeçalho "bibprg.h" que está dentro da pasta que foi baixada
Saída digital
#include <stdio.h>
#include "bibprg.h"
main (){
char saida='1', estado='0';
conectar ();
enviar_digital ('1','1');
sleep (1);
enviar_digital (saida,estado);
}
Lembrando que o dois parâmetros são do tipo CHAR
Saída analógica
#include <stdio.h>
#include "bibprg.h"
main (){
char saida='1', estado[3]="000";
conectar ();
enviar_analogica('1', "130");
sleep(2);
enviar_analogica(saida, estado);
}
Os dois parâmetros são do tipo CHAR, sendo o segundo uma cadeia de caracteres que varia de 000 á 255
Entrada digital
#include <stdio.h>
#include "bibprg.h"
main (){
char saida='1';
conectar ();
printf ("%d\n", receber_digital ('1'));
sleep (3);
printf ("%d\n", receber_digital (saida));
}
Parâmetro do tipo CHAR
Entrada analógica
#include <stdio.h>
#include "bibprg.h"
main (){
conectar ();
printf("%f\n",receber_analogica('1'));
sleep (2);
printf("%f\n",receber_analogica('1'));
}
Parâmetro do tipo CHAR
Display
#include <stdio.h>
#include "bibprg.h"
main(){
int i=12;
char mensagem[50]="Fim";
conectar();
for(;;){
print_display (1,"Linha 1 display LCD");
sleep(1);
print_display (2,"Linha 2 display LCD");
sleep(1);
print_display (12,"Linhas 1 e 2 display LCD");
sleep(1);
print_display (i, mensagem);
sleep(1);
}
}
Onde a variável "i" é do tipo inteiro e a "mensagem" é uma cadeia de caracteres
Ao fim, basta compilar da seguinte forma:
gcc arquivo.c -lprg -lusb-1.0 -o arquivo
|}