Mudanças entre as edições de "AULA 21 - Programação 1 - Graduação"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 191: Linha 191:
 
  limpar_display();
 
  limpar_display();
  
=Exemplos=
+
==Exemplos==
  
 
Sempre lembrando do arquivo de cabeçalho "bibprg.h" que está dentro da pasta que foi baixada
 
Sempre lembrando do arquivo de cabeçalho "bibprg.h" que está dentro da pasta que foi baixada

Edição das 09h33min de 2 de junho de 2015

Equipes do Projeto Final

Equipe-1

Equipe-2

Equipe-3

Equipe-4

Equipe-5

Equipe-6

Equipe-7

Equipe-8


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.

Saida digital.jpg

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.

Entrada digital.jpg

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.

Saida analogica.jpg

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

Entrada analogica.jpg

Estas entradas suportam tensões de até 10V


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.

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 informações das entradas digitais;

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 informaçõ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

#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


<< Aula 21 >>