Ir ao conteúdo
  • Cadastre-se

Sensor ultrassonico hcsr-04 com microcontrolador


carloos3d

Posts recomendados

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);
}}

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...