Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
carloos3d

Sensor ultrassonico hcsr-04 com microcontrolador

Recommended Posts

estou desenvolvendo um carrinho sensorizado que irá executar desvio caso tenha algum obstaculo, porém não consigo ativar a saida pra controlar o motor,

escrevi o código somente para um sensor, ultilizio microcontrolaodor 16F877A.

quem puder me ajudar agradeço.

#include <16F877A.h>
#fuses HS,NOWDT,NOPUT,NOBROWNOUT,NOLVP
#use delay(clock=16000000)



int16 time;
float distance;


void main() {
delay_ms(250);
SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_1);
while(TRUE)
{
output_high(PIN_A1);
delay_us(15);
output_low(PIN_A1);
while(!input(PIN_A0))
{}
set_timer1(0);

while(input(PIN_A0))
{}
time=get_timer1();
distance= (time*0,0017);
if(distance<10) {
OUTPUT_HIGH(PIN_B7);}
delay_ms(250);
}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui acionar os as saidas estava errando na formula, os motores trabalham com 9V vou usar a pont h pra controlar ele.

o código certo ficou assim

#include <16F877A.h>
#fuses HS,NOWDT,NOPUT,NOBROWNOUT,NOLVP
#use delay(clock=16000000)


float temp, dist;

void main()
{
enable_interrupts(global);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); // initiating timer

while(true)
{

output_low(pin_b0); //seta pino em nível baixo
delay_us(2);
output_high(pin_b0); //envia pulso de 10us para Trig
delay_us(10);
output_low(pin_b0);


while(!input(pin_b1)) // wait for high state of echo pin
{}

set_timer1(0); // setting timer zero

while(input(pin_b1)) // Wait for high state of echo pin
{}

temp=get_timer1(); // Getting the time

dist=temp*0.028 + 1.093 ; // Calculating the distance

if(dist<20)
{
output_high(pin_b7);
output_high(pin_b6);
} if(dist>20)
{
output_low(pin_b7);
output_low(pin_b6);
}}}

a questão agora é como fazer ele ler três sensores e armazenar o valor pra depois executar a logica do sentindo do carrinho.

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
Entre para seguir isso  





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

×