You are on page 1of 19

PRATICA 1 LED PISCANTE

Essa prtica tem como objetivo ligar um Led na sada da porta B7 do microcontrolador Pic 18F2550.
Posteriormente deve se fazer o mesmo led piscar com frequncias diferentes.

Componentes:
1 Placa SanUSB
1 Resistor de 390 R
1 Led
Fios
1 Cabo USB.


Cdigo fonte em Linguagem C Compilador Mplab X



PRATICA 2 PISCA PISCA

O circuito referente ao exemplo usa todas as sadas do port_b (de B0 at B7) totalizando 8 pinos (sadas),
o exemplo tem como finalidade reproduzir uma corrida de leds continua que sempre volta onde comeou o
ciclo.



Componentes:
1 Placa SanUSB
8 Resistores de 390 R
8 Leds
Fios
Cabo USB.


Para o circuito montado acima sero exibidos e programas diferentes, para a utilizao das
seguintes Funes:
nivel_alto(pin_bX) e nivel_baixo(pin_bX);
inverte_saida(pin_bX);
Output_b();

Programa pratica 2.1 Pisca pisca de leds com funes NVEL_ALTO E NVEL_BAIXO.

Cdigo fonte em Linguagem C Compilador Mplab X





Programa pratica 2.2 Pisca pisca de leds com funo inverte_saida(pin_b7);.

Cdigo fonte em Linguagem C Compilador Mplab X



Programa pratica 2.3 Pisca pisca de leds com funo inverte_saida(pin_bX);.

Cdigo fonte em Linguagem C Compilador Mplab X



PRATICA 3 ACIONANDO LED POR BOTO
Como o prprio titulo diz o exemplo a seguir tem como funo ligar e desligar um led a partir do toque em
um boto.
O que diferencia do exemplo anterior que agora alem da sada referente ao led tem tambm uma
entrada que acomoda um boto de liga e desliga.

Material
- 2 botes
- 2 resistores 2k2
- 8 Leds
- 8 Resistores de 399 r
- Protoboard
- Cabo USB
- Cabos
- Kit SanUSB

Pratica 3.1 O programa inicia sua rotina a partir do acionamento de um boto, ao se pressionar o boto
pela primeira vez o led ir ser ligado, pressionando novamente o led ser desligado. Como mostrado na
figura abaixo.


Cdigo fonte em Linguagem C Compilador Mplab X



Pratica 3.2 Este programa tem por finalidade inserir dois botes ( BT-01 ligar e BT-02 Desligar). No
momento que BT01 for pressionado o led dever ser ligado, e quando BT02 for pressionado o led dever
ser desligado.





Cdigo fonte em Linguagem C Compilador Mplab X



Pratica 3.3 Esta pratica ir iniciar sua rotina no momento que o boto for pressionado, fazendo com que
os leds comecem a serem ligados numa sequencia ( Ligando todos os Leds), no momento que o boto for
pressionado pela segunda vez todos os leds devero ser apagados e posteriormente sero ligados em
uma sequencia diferente a primeira.



Cdigo fonte em Linguagem C Compilador Mplab X

#include "SanUSB1.h"
#pragma interrupt interrupcao //Tem que estar aqui ou dentro do firmware.c
void interrupcao(){

}
void main(){

int chave = 0;

clock_int_4MHz();
while(1)
{
if(!entrada_pin_e3){Reset();}//pressionar o boto para gravao

if((!entrada_pin_a0)==1 && chave ==0){
while(chave==0){
if((!entrada_pin_a0)==0){
nivel_alto(pin_b7);
tempo_ms(250);
nivel_alto(pin_b6);
tempo_ms(250);
nivel_alto(pin_b5);
tempo_ms(250);
nivel_alto(pin_b4);
tempo_ms(250);
nivel_alto(pin_b3);
tempo_ms(250);
nivel_alto(pin_b2);
tempo_ms(250);
nivel_alto(pin_b1);
tempo_ms(250);
nivel_alto(pin_b0);
tempo_ms(250);

chave =1;
} }}

if((!entrada_pin_a0)==1 && chave ==1){
while(chave==1){
if((!entrada_pin_a0)==0){
nivel_baixo(pin_b7);
nivel_baixo(pin_b6);
nivel_baixo(pin_b5);
nivel_baixo(pin_b4);
nivel_baixo(pin_b3);
nivel_baixo(pin_b2);
nivel_baixo(pin_b1);
nivel_baixo(pin_b0);
tempo_ms(100);
nivel_alto(pin_b0);
tempo_ms(250);
nivel_alto(pin_b1);
tempo_ms(250);
nivel_alto(pin_b2);
tempo_ms(250);
nivel_alto(pin_b3);
tempo_ms(250);
nivel_alto(pin_b4);
tempo_ms(250);
nivel_alto(pin_b5);
tempo_ms(250);
nivel_alto(pin_b6);
tempo_ms(250);
nivel_alto(pin_b7);
tempo_ms(250);
chave =0;
} }}}}
Pratica 3.4 Utilizando o mesmo esquema de montagem da pratica 3.3, o programa dever alterar a
frequncia de oscilao dos leds. A rotina inicia automaticamente ao ser ligado a alimentao do sistema,
com todos os leds piscando em uma determinada frequncia. No momento que o boto for pressionado,
todos os leds devero piscar com uma frequncia diferente da inicial.
PRATICA 4 DISPLAY DE SETE SEGMENTOS

Material
- 3 resistores de 2k2
- 1 display de sete segmentos
- 1 boto
- Protoboard
- Cabo USB
- Cabos
- Kit SanUSB












OBS: Para iniciar, faa jumps entre os pinos, realizando ligao entre os pinos comuns. Ex: inserir um
fio entre o pino A1 e A2


a1 e a2 --- b1 e b2 --- c1 e c2 --- d1 e d2 --- e1 e e2 --- f1 e f2 --- g1 e g2


Aps realizar a ligao entre todos os pinos comuns, forma-se o chamado segmento (unio entre dois
pontos comuns ex: ligao de A1 e A2), cada segmento deve ser ligado a um pino do microcontrolador. A
tabela abaixo mostra 8 segmentos, o display de sete segmentos, tem o oitavo segmento composto pelo
ponto.

B0 B1 B2 B3 B4 B5 B6 B7
Segmento
a
Segmento
b
Segmento
c
Segmento
d
Segmento
e
Segmento
f
Segmento
g
Segmento
ponto

Abaixo segue imagem da pinagem do display de sete segmentos. Mostrando todos os pinos e seus
respectivos segmentos.


Pratica 4.1 - Fazer um contador de 0 a 99 com um display de sete segmentos(Duplo).

O programa abaixo mostra um exemplo para contar de 0 a 99 multiplexando dois displays de sete
segmentos anodo comum.





Pratica 4.2


Pratica 5 - Acionar um rel para acionar uma carga CA

Esta pratica tem por finalidade a montagem de um circuito que possa acionar cargas de corrente
alternada, ou seja, realizar o acionamento de alguns atuadores que trabalham numa tenso diferente da
que os componentes eletrnicos. Neste caso iremos utilizar um componente eletromecnico conhecido por
Rel, um que receber sinais provenientes do microcontroladores, ter sua bonina energizada, e realizar
o chaveamento da carga CA interligada nos seus terminais. Esta carga pode ser uma lmpada, motores
entre outros atuadores.

Material
- 1 rel
- 1 uln 2803
- 1 resistor 390 r
- 1 boto
- 1 resistor 2k2
- Protoboard
- Cabo USB
- Cabos
- Kit SanUSB
- Buzzer



Pratica 5.1 Acionamento de Rel

Alternncia de sada B7 a casa segundo Rel tem sua bobina energizada, oscilando entre suas sadas o
leds. Os leds foram colocados s como sinalizao da sada do rels,







Cdigo fonte em Linguagem C Compilador Mplab X







Pratica 5.2 Acionamento de Carga CA

Acionamento de Carga CA atravs de Rel por Boto, ao se clicar em um boto o rel ser acionado.




Cdigo fonte em Linguagem C Compilador Mplab X




Pratica 6 acionamentos de motor CC

Esta pratica tem por finalidade o acionamento de um motor de corrente continua, um atuador bastante
utilizado em projetos de automao e robtica. Com auxilio de rels o motor poder ser acionado de
diferentes formas, umas delas ser revertendo o sentido de rotao do motor.

Lista de Material

-2 resistores de 2k2
- 2 rels
- 2 botes
- 1 uln 2803
- Protoboard
- Cabo USB
- Cabos
- Kit SanUSB



Cdigo fonte em Linguagem C Compilador Mplab X


Pratica 7 Servo motor

Servomotores so motores de posio frequentemente usados em aeromodelos, automodelos, e outros
veculos radio-controlados em escala reduzida e tambm so muito utilizados em automao e robtica.
Estes atuadores consistem de um motor CC com um circuito de controle acoplado em seu eixo. De um
servo motor saem trs fios: branco, vermelho e branco. Os cabos preto e vermelho so geralmente
utilizados para alimentao e o branco o fio de controle.
Para que o servomotor funcione, consiste de um circuito de controle que recebe um sinal de controle para
que o servomotor se posicione em um determinado ngulo.

Lista de Materiais

- Servo Motor
-Protoboard
- Cabo USB
- Cabos
- Kit SanUSB






Pratica 8 Display de LCD

um painel fino usado para exibir informaes por via eletrnica, como texto, imagens e vdeos. Ser
utilizado em nossas prticas com a finalidade de exibir informaes, pequenas mensagens, textos, dados
de sensores entre outras aplicaes.


Lista de Material
- 1 Display LCD 16 x2
-Protoboard
- Cabo USB
- Resistor 390 R
- Cabos
- Kit SanUSB






Pratica 9 Sensores

Sensor de Temperatura Lm 35


Esquema de Ligao e circuito montado com Sensor de Temperatura



Lista de Material
- 1 Display LCD 16 x2
- 1 Sensor de Temperatura
-Protoboard
- Cabo USB
- Resistor 390 R
- Cabos
- Kit SanUSB

Cdigo em C Compilador Mplab X


#include "SanUSB1.h"
//Emulao de uma softserial (porta serial) nos pinos B4 e B5 via software
#include "lcd_16x2.h"// RB0-RS, RB1-EN, RB2-D4, RB3-D5, RB4-D6, RB5-D7

#pragma interrupt interrupcao //Tem que estar aqui ou dentro do firmware.c
void interrupcao(){ }

char x;

unsigned long int temperatura, resultado;//16 bits

void
main() {

clock_int_4MHz();
lcd_ini(); // Configurao inicial do LCD
habilita_canal_AD(AN0);
tempo_ms(100);
lcd_escreve("*FERRAMENTA SanUSB*");

while (1) {
resultado = le_AD10bits(0);
tempo_ms(10);
temperatura=500*resultado/1023;

lcd_pos_yx(2,1); // Posiciona segunda linha

//lcd_escreve("TEMPERATURA ATUAL=%lu C");//temperaturaCom LM35

for (x = 0; x < 15; x ++) // repete o bloco abaixo por 15 vezes
{

lcd_envia_controle (0,0,0x18,40); // rola display um caractere para esquerda

lcd_envia_controle (0,0,0x0C,40); //Apaga o cursor
}
if (temperatura<=35){ // se temperatura abaixo de 32C
nivel_baixo(pin_b5);//desliga b5
}

if (temperatura>=40){ // se temperatura abaixo de 32C
nivel_alto(pin_b5);//liga b5
}
inverte_saida(pin_b7);

tempo_ms(500);
}}






Sensor de Luminosidade LDR

Esquema de ligao e circuito montado do Sensor de Luminosidade

Lista de Material
- 1 LDR
-Protoboard
- Cabo USB
- Resistor 2,2 K
- Cabos
- Kit SanUSB



CDIGO EM C COMPILADOR MPLAB X

#include "SanUSB1.h"
#pragma interrupt interrupcao //Tem que estar aqui ou dentro do firmware.c
void interrupcao(){ }
float tens,lux, resultado;
void main(){
clock_int_4MHz();
habilita_canal_AD(AN0);//ATENO PARA CONEXO DO SENSOR NO PINO ESPECIFICADO - A0
while(1)
{
tempo_ms(20);
resultado = le_AD10bits(0);//L canal 0 da entrada analgica com resoluo de 10 bits (ADRES)
tens= (resultado * 5000)/1023;//calcula valor de tenso do AD0
if (tens>2 && tens<2.8) { lux=(3936.4-(1249*tens))/0.8; }
if (tens>=2.8 && tens<=3.8) { lux=2057.2-494*tens; }
if (tens>3.8) { lux=(900-180*tens)/1.2; }
if (tens>2) { //Leitura vlida
}
if (tens<=2) //Leitura no vlida
{ // EXIBE MENSAGEM}
lux=(3936.4-(1249*tens))/0.8;
}
if (lux<=100){//SE LUMINOSIDADE FOR BAIXA, MEDIR COM MULTMETRO VALOR DE TENSO NO AD
//ESTE NUMERO PODE VARIAR DE ACORDO COM O AMBIENTE, TESTAR OUTROS VALORES...200... 500...
nivel_alto(pin_b5); //ACIONA SADA B5
tempo_ms(500);}
if (lux>100){//SE LUMINOSIDADE FOR ALTA, MEDIR COM MULTMETRO VALOR DE TENSO NO AD
//ESTE NUMERO PODE VARIAR DE ACORDO COM O AMBIENTE, TESTAR OUTROS VALORES...200... 500...
nivel_baixo(pin_b5); //DESLIGA B5
tempo_ms(500);//
}
nivel_alto(pin_b7);
tempo_ms(500);//pisca LED no pino b7
nivel_baixo(pin_b7);
tempo_ms(200);
}}
Receptor Infravermelho De Tv

Esquema de montagem do Receptor infravermelho de Tv, ligado ao pino B0 do microcontrolador e tem
como sada no pino B7 um rel. Toda vida que o sensor for ativado atravs da emisso de um sinal
infravermelho do controle remoto a lmpada ligada nos terminais do rel ire ligar.

Lista de Material

- 1 Rel
- CI ULN 2803
- 1 Receptor Infravermelho
- -Protoboard
- Cabo USB
- - Cabos
- Kit SanUSB




Cdigo em C para microcontrolador Compilador Mplab X



SENSOR INFRAVERMELHO


Esquemtico Sensor Infravermelho.

Se o receptor no for escuro, preto ou azul, mas sim transparente, deve-se diferenciar como mostra a Figura a seguir.
O Emissor visto frontalmente apresenta contato circular, enquanto o receptor, quadrado.




Em alguns momentos faz necessrio testar o emissor, para essa verificao pode-se utilizar uma cmera
do celular, j que o sinal luminoso infravermelho e imperceptvel ao olho humano

Sensor Infravermelho com SanUSB em protoboard.


Cdigo em C Compilador Mplab X

Lista de Material

- Par de Infra RED (Emissor e Receptor)
-Protoboard
- Cabo USB
- Resistor 390 R
- Receptor de 2,2 K
- Cabos
- Kit SanUSB

You might also like