quinta-feira, 15 de novembro de 2012

Sensor de ultrassom

08/12/2012
Artigo que será a base do projeto:
http://www.nitt.edu/portal/rmi/home/projects/ultrasonic_sensors/

Fizemos o primeiro teste de sensor de ultrassom. Usamos um buzzer comum e um microfone retirado do Arduino, usando o comando tone - tone (6, 30000); - e, no microfone um resistor de 1k e de 10k ohm e o resultado foi negativo, não funcionou.

5/12/2012 - Planejamento do trabalho
Fase 1- Usando o Arduino para gerar 40kHz de frequência, buzzer e um microfone ligado a porta analógica
Fase 2- Adicionando a fase 1 um amplificador ou filtro de frequências (microfone)
Fase 3 - Adicionando a fase 2, no amplificador ou filtro, um RS232 para converter o sinal
Fase 4 - Substituindo o Arduino por um 555 gerando pulsos de 40kHz.
Fase 5 Montagem em placa e teste final

Perguntas para a introdução
O que é um sensor?
O que é frequência? O que é som? Quais são as frequências do ultrassom?
Quais são as aplicações de sensores de ultrassom?
Resumo do projeto (o que vamos fazer)

15/11/2012
Estamos planejando fabricar nosso próprio sensor de ultrassom e como referência básica usamos este link:
http://www.micro-examples.com/public/microex-navig/doc/090-ultrasonic-ranger.html

Para tanto, vamos usar este esquema:



Os primeiros testes foram feitos no Simulino, usando este sketch mas, ainda não obtivemos resultado, até porque nós não sabemos como criar uma simulação de reflexão.


/* Código adaptado do sensor PING */

// configura os pinos de sáida
const int emissor = 7;
const int receptor = 8;


void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  pinMode(emissor, OUTPUT);
  pinMode(receptor, INPUT);

}

void loop()
{
  // establish variables for duration of the ping,
  // and the distance result in inches and centimeters:
  long duration, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

  digitalWrite(emissor, LOW);
  delayMicroseconds(2);
  digitalWrite(emissor, HIGH);
  delayMicroseconds(5);
  digitalWrite(emissor, LOW);
  //o receptor faz a leitura do estado do pino e se retorna HIGH ele informa
  duration = pulseIn(receptor, HIGH);
  cm = duration/58;//converte o valor do sensor1 em cm


  Serial.print(cm);
  Serial.println("cm");
  delay(100);


}

Nenhum comentário:

Postar um comentário