Hablando a ultrasonidos distancia Sensor HC-SR04 usando un ATtiny84

Este instructable es interfaz un ATtiny84 con el sensor de distancia ultrasonido HC-SR04 usando sólo código C – hardware de Arduino ni bibliotecas.

La HC-SR04 funciona como sigue:

-Enviar un pulso de 10us alta en el pasador del gatillo.
-El sensor envía una "ráfaga sonic" de 8 ciclos.
-Escuchar el pin eco, y la duración de la próxima señal alta le dará el tiempo necesario por el sonido para ir y venir del sensor al objetivo.

Aquí, el pin PB0 se utiliza para enviar el 10 nos pulso. Para medir la anchura del pulso de eco, podemos utilizar una interrupción de cambio de pin y un temporizador. Esta es la idea:

-Configuración interrupción de cambio de pin PCINT0 para que cualquier cambio lógico en el pin causará una interrupción.
-Envíe a los e.e.u.u. 10 pulso al pin de disparo.
-Lazo hasta la interrupción de la PCINT0 establece una marca para indicar que se realiza la medición.
-En la interrupción de la PCINT0, iniciar un temporizador de 8 bits cuando veas un flanco ascendente, es decir., el pulso de echo ha pasado de baja a alto. El temporizador de 8 bits está configurado para utilizar la interrupción de desbordamiento.
-El contador de 8 bits se desborda cada vez que llega a 255, así que cuando que interrumpir el fuego, añadimos 255 a un valor de 32 bits contador corriente.
-En la interrupción de la PCINT0, parar el temporizador de 8 bits cuando vea un borde descendente, es decir., el pulso de echo ha pasado de alta a baja. Actualizar cuenta de 32 bits y establecido para indicar que se realiza la medición.
-El ancho de pulso medido es un valor de contador, y podemos convertir en segundos, ya que sabemos la velocidad de reloj. Este valor de tiempo entonces se utiliza para calcular la distancia.

La distancia entonces se envía mediante comunicación serial en el pin PB1 – he cubierto esta parte en un artículo separado. También por esta razón no podemos usar el temporizador de 16 bits para medir la anchura de pulso – ya está siendo utilizado para comunicaciones en serie. ¿Además de diversión para aprender a utilizar el temporizador de 8 bits para contar valores grandes, derecho? ;-)

Se unen las imágenes del esquema y el diseño de la placa.

Este es el Makefile que va junto con el código anterior:

https://GIST.github.com/electronut/5763929

Y aquí está el código de Python utilizado para trazar los datos:

https://GIST.github.com/electronut/5730160

El código de Python es una modificación menor a lo que publiqué antes sobre el tema.

Artículos Relacionados

Distancia de medición por Sensor ultrasónico usando Arduino

Distancia de medición por Sensor ultrasónico usando Arduino

Es un proyecto muy simple y útil que puede ser utilizado en nuestra vida diaria.A continuación se enumera las cosas que necesita para proyectar...Arduino Uno.Sensor de ultrasonidos.4 macho a hembra cable de conexión.cable de conexión usb.Paso 1: Cone
Edison de Intel: Distancia error - HC-SR04

Edison de Intel: Distancia error - HC-SR04

Saludar al error de distancia!La idea básica de este proyecto es que mide distancia con ultrasonido y lo muestra en centímetros de la pantalla LCD. Bono es que si se pulsa el botón la pantalla LCD se vuelve verde y guardará la distancia actual a la t
Medir distancias en una foto usando Google Sketchup

Medir distancias en una foto usando Google Sketchup

hace algún tiempo un amigo me envió algunas fotos de una tarjeta de expansión de impresora para un brasileño ZX Spectrum. Para producir un diseño de PCB para un clon de tal junta que necesitaba alguna herramienta para realizar mediciones basadas en u
Pi de frambuesa entrada sensor análogo usando un MCP3008: programa de cableado/instalación/basic

Pi de frambuesa entrada sensor análogo usando un MCP3008: programa de cableado/instalación/basic

Así que ahora que compramos el ADC de MCP3008 vamos a conseguirlo ya está en marcha!Nota: Este es mi primer entregar instructables para que si algo está mal sólo me lo dicen y si te gusta deja tu comentario mi estilo, yo tambien soy de los países baj
SENSOR de movimiento usando ARDUINO

SENSOR de movimiento usando ARDUINO

¿Cómo alambre y programar su nuevo sensor de movimiento con tu arduino? Bueno no busques más. Este tutorial le dará un ejemplo simple de cómo fijar un sensor de movimiento a tu arduino y encender un led o apagar si se detecta movimiento. Este princip
La caja de automatización dormitorio

La caja de automatización dormitorio

Automatizar cualquier aparato de tu dormitorio con este arduino elegante dormitorio automatización caja. De fans para cargadores de móviles, de refrigeradores sala lámparas de noche, esta caja versátil puede controlar casi todo automáticamente! La ca
JAAR DIY - un Robot autónomo

JAAR DIY - un Robot autónomo

Concepto de JAAR no está haciendo casi un Rover.. .blindly como le digo y engañar... su más que haciendo un Robot... he incorporado la mayor parte de mi aprendizaje de los últimos 6 meses para este proyecto... hablando en serio yo soy apenas un princ
Multi-Functional Star Wars Astromech Droid

Multi-Functional Star Wars Astromech Droid

E4-B4Droide astromecánico para el hogar.Enlaces de vídeo para dispositivos móviles que no juegan las miniaturas de vídeo anteriores:La realización de Video de droide astromecánico E4-B4E4-B4: Mostrar Video, parte 1E4-B4: Rocket Man VideoE4-B4: ¿Te ap
Distanciómetro ultrasónico con Arduino

Distanciómetro ultrasónico con Arduino

Telémetro ultrasónico es un método sencillo de calcular distancia de un obstáculo a la distancia sin contacto físico. Emplea un sensor de distancia por ultrasonidos que utiliza pulsos de sonido para medir la distancia. Emiten un pulso ultrasónico y t
Distancia medición y obstáculo detección usando 89v51rd2fn NXP y sensor ultrasonido HC-SR04.

Distancia medición y obstáculo detección usando 89v51rd2fn NXP y sensor ultrasonido HC-SR04.

Todo el mundo utiliza arduino uno o mega hacer proyectos ya que son fáciles de usar y el código de arduino está fácilmente disponible en el foro de arduino y nadie utiliza atmel, philips u otro microcontrolador para proyectos tales como la codificaci
Sensor ultrasonido HC-SR04 del movimiento de GoPro controlado por arduino

Sensor ultrasonido HC-SR04 del movimiento de GoPro controlado por arduino

Gopro activado por movimiento, el sensor de ultrasonidos mover el servo cuando algo aparece cerca del sensor, puede ser programado para tomar fotografías o video, y también puede programarse que deje de tomar fotos cuando no hay ningún movimiento en
Sensor de distancia por ultrasonidos de largo alcance

Sensor de distancia por ultrasonidos de largo alcance

Este Instructable muestra un método de aumentar el rango de medición del sensor de distancia ultrasonido HC-SR04 popular.La mejora en la gama se basa en reducir el 'campo visual' (FOV) del sensor básico utilizando como elemento de alimentación para u
Sensor de ultrasonidos HC-SR04 con Arduino

Sensor de ultrasonidos HC-SR04 con Arduino

Ver más en:http://www.theorycircuit.com/interface-Ultrasonic-sensor-HC-Sr-04-with-Arduino/Enlace Facebook: https://www.facebook.com/pages/Theorycircuit/82511...El SR HC 04 es sensor de la gama ultrasónica famoso y su muy fácil de usar con muchos micr
Intel Edison distancia Simple Sensor con indicador de Grove barra del LED y zumbador

Intel Edison distancia Simple Sensor con indicador de Grove barra del LED y zumbador

Este es mi primer y "realmente" simple proyecto que hice usando Intel Edison. Este "sencillo" proyecto medirá mediante sensor ultrasónico de distancia y la barra LED mostrará hasta qué punto la distancia y el zumbador emitirá un zumbid