Microcontroladores
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Sensor sonic com pic 16f628a

Ir para baixo

Sensor sonic com pic 16f628a Empty Sensor sonic com pic 16f628a

Mensagem por Luis fernando Qui 30 Jul - 21:09:26

boa noite,

Estou começando agora a trabalhar com microcontroladores estou tentando fazer um projeto utilizando o sensor sonico HC-SR04 com um pic 16f628a, eu comecei umas pesquisas pela internet encontrei um projeto próximo ao que eu preciso, fiz minhas alterações fui simular no Protheus nao deu certo, queria uma ajuda de vocês para saber onde esta o meu erro!

como peguei de uma pesquisa da internet e aprimorei para meu uso, esta indo com comunicação de display de lcd eu nao estou utilizando o display, oque eu quero somente que mude o status do led conforme a distancia.

o programa de compilação que estou utilizando e o CCS.

conto com a ajuda de vocês.


#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>

#define trig pin_B1    
#define echo pin_B0
float distance, time;  

void main()
{

 
  set_tris_b(0x00);
  lcd_init();
  printf(LCD_PUTC, "\fWelcome ");
  delay_ms(1000);

 
 setup_timer_1(T1_INTERNAL|T1_DIV_BY_Cool;
 
  while(1)
  {
   output_high(trig);                      
   delay_us(20);                            // sending 20us pulse
   output_low(trig);
 
   set_timer1(0);
   while(!input(ECHO))                       // wait for high state of echo pin
   {}
   set_timer1(0);                           // setting timer zero

   while(input(ECHO))                      
   {}

    time=get_timer1();                       // Getting the time

    distance=time*0.028 + 1.093 ;            // Calculating the distance
                           
                           
  printf(LCD_PUTC, "\fTime :%f \nDistance = %f",time,distance); // Putting the time and
                                    //distance to the LCD
  delay_ms(1000);

 {
 
 //Apagando todos os leds
 output_low (pin_b3);
 output_low (pin_b7);
 
 
 //Acendendo o led adequado para a distância lida no sensor
 if (distance > 1.00) {
 output_high (pin_b3);
   
 }
 
 }
 
 if (distance < 2.00) {
 output_high (pin_b7);

   }
   }
   }

Luis fernando
Convidado


Ir para o topo Ir para baixo

Sensor sonic com pic 16f628a Empty Re: Sensor sonic com pic 16f628a

Mensagem por luisfandrade8 Qui 30 Jul - 21:17:29

Luis fernando escreveu:boa noite,

Estou começando agora a trabalhar com microcontroladores estou tentando fazer um projeto utilizando o sensor sonico HC-SR04 com um pic 16f628a, eu comecei umas pesquisas pela internet encontrei um projeto próximo ao que eu preciso, fiz minhas alterações fui simular no Protheus nao deu certo, queria uma ajuda de vocês para saber onde esta o meu erro!

como peguei de uma pesquisa da internet e aprimorei para meu uso, esta indo com comunicação de display de lcd eu nao estou utilizando o display, oque eu quero somente que mude o status do led conforme a distancia.

o programa de compilação que estou utilizando e o CCS.

conto com a ajuda de vocês.


#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>

#define trig pin_B1    
#define echo pin_B0
float distance, time;  

void main()
{

 
  set_tris_b(0x00);
  lcd_init();
  printf(LCD_PUTC, "\fWelcome ");
  delay_ms(1000);

 
 setup_timer_1(T1_INTERNAL|T1_DIV_BY_Cool;
 
  while(1)
  {
   output_high(trig);                      
   delay_us(20);                            // sending 20us pulse
   output_low(trig);
 
   set_timer1(0);
   while(!input(ECHO))                       // wait for high state of echo pin
   {}
   set_timer1(0);                           // setting timer zero

   while(input(ECHO))                      
   {}

    time=get_timer1();                       // Getting the time

    distance=time*0.028 + 1.093 ;            // Calculating the distance
                           
                           
  printf(LCD_PUTC, "\fTime :%f \nDistance = %f",time,distance); // Putting the time and
                                    //distance to the LCD
  delay_ms(1000);

 {
 
 //Apagando todos os leds
 output_low (pin_b3);
 output_low (pin_b7);
 
 
 //Acendendo o led adequado para a distância lida no sensor
 if (distance > 1.00) {
 output_high (pin_b3);
   
 }
 
 }
 
 if (distance < 2.00) {
 output_high (pin_b7);

   }
   }
   }
Anexos
Sensor sonic com pic 16f628a Download?action=showthumb&id=9
circuito.PNG circuito do projeto(31 Kb) Baixado 195 vez(es)

luisfandrade8

Mensagens : 1
Data de inscrição : 30/07/2015

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos