Ir ao conteúdo
  • Cadastre-se
Visitante

Acender led com com PIC

Posts recomendados

Visitante

olá pessoal é uma pergunta bem mais simples agora!

eu montei meu programinha para ler dois sensores LM35 ,ta funcionando certinho, mais acontesce que eu queria fazer uma coisa, eu quero que quando a temperatura do peltier, no caso temp2, chegasse a ser =<20° ascendesse um led e quando ela fosse menor do que 20° o led apagasse, mais para isto eu acho que presciso habilitar mais um pino do controlador no caso o PIC16F877A,n tenho ctza e nem sei como faço isso entendeu?

quando a temperatura chegar ou passar de 20° um pino x do controlador manda tensão para um led para acende-lo, eu só n sei como escrevo isso no programa ;S

preciso da sua ajuda desde ja eu agradesço!!

olha ai o programa em C como esta

#include <16F877A.h>             //O PIC utilizado, obigatório!
#device adc=10 //Habilitar ADC de 10 bits, obrigatório. Pode
//ser utilizado de 8 bits também.
#FUSES NOWDT //Sem Watch dog, evitando reset
#FUSES XT //Crystal de oscilação igual a 4mhz
#FUSES PUT //Tempo de início do PIC
#FUSES NOPROTECT //Codigo sem proteção de leitura, software livre!
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection

#use delay(clock=4000000) //Meu clock
#include <LCD.C> //Rotina de LCD modo 4 vias. Obrigatório!

void lcd_scroll_right(void)
{
lcd_send_byte(0, 0x1E);
}

void main() {

int16 q,i; //Vaeriável inteira de 16 bits: 0 a 65535
float p, temp,temp2; //Variável com vírgula, para poder fazer cáclulos.


setup_adc_ports(AN0_AN1_VSS_VREF); //Configura canal 0 analógico
setup_adc(ADC_CLOCK_INTERNAL); //De acordo com relógio interno.

lcd_init(); //Inicia LCD, obrigatório!

for (; //Para sempre.
{
/*===========================================================================
A resolução do conversor AD segue a seguinte equação:
1LSB=(Vref-)+{[(Vref+)-(Vref-)]/1024}
E nesse caso (Vref+)=Vdd e (Vref-)=Vss então a resolução é:
1LSB=5/1024=4,8mV
Por exemplo, se a leitura no canal analógico for de 512, a tensão
analógica será:
Vin=512*(5/1024)=512*4,8mV=2,4576V
===========================================================================*/

set_adc_channel(0); //Habilita canal 0
delay_us(20); //Espera um pouco, obrigatório!
q = read_adc(); //Lê canal 0
p = 5.0 * q / 1024.0; //Conversão para tensão.
temp=(p*100)/3.413; //Temperatura convertida de acordo com o
//amplificador utilizado.
set_adc_channel(1);
delay_us(20);
q = read_adc(); //Lê canal 0
p = 5.0 * q / 1024.0; //Conversão para tensão.
temp2=(p*100)/3.413; //Temperatura convertida de acordo com o
//amplificador utilizado.


printf(lcd_putc, " \n TEMP AGUA=%01.1fC peltier=%1.1fC ", temp, temp2 );//Mostre a temperatura

delay_ms(500);

for(i = 0; i < 22 ; i++) //Faz o efeiro de scroll no LCD
{
lcd_scroll_right();
delay_ms(200); // scroll delay
}

delay_ms(500);

}
}

valeu Pessoal me ajudem por favor abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include<16f628a.h>
#use delay (clock=4000000)
#fuse INTRC_IO, NOWDT, PUT, BROWNOUT, NOMCRL, NOLVP

#define LED pin_a1

main()
{
int tempo=100;
while (TRUE)
{
output_high(LED);
delay_ms(tempo);
output_low(LED);
delay_ms(tempo);
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!