Parler à Distance par ultrasons capteur HC-SR04, à l’aide d’un ATtiny84

Cette instructable est sur un ATtiny84 d’interface avec le capteur de distance ultrason HC-SR04 à l’aide de code C juste – aucun matériel Arduino ou les bibliothèques.

Le HC-SR04 fonctionne comme suit :

-Envoyer une impulsion haute 10us sur l’ergot.
-Le capteur envoie une rafale « sonique » de 8 cycles.
-Écouter la goupille d’Echo, et la durée du signal haute suivant vous donnera le temps pris par le son pour aller et revenir du capteur à la cible.

Ici, la broche PB0 est utilisée pour envoyer le 10 nous impulsions. Pour mesurer la largeur de l’impulsion de l’écho, nous pouvons utiliser un NIP-changement d’interruption et d’une minuterie. Voici l’idée :

-Changement de NIP setup interrompre PCINT0 sorte que n’importe quel changement logique sur la broche entraîne une interruption.
-Envoyer un US 10 impulsion à l’ergot.
-Une boucle jusqu'à ce que l’interruption de PCINT0 définit un indicateur pour indiquer que la mesure est effectuée.
-Dans l’interruption de la PCINT0, démarrer un minuteur 8 bits lorsque vous voyez un front montant – c’est à dire., le pouls de l’écho est passé de faible à élevé. La minuterie de 8 bits est configuré pour utiliser l’interruption de dépassement de capacité.
-Le compteur 8 bits déborde chaque fois qu’il atteint 255, et donc lorsque qu’interrompre les feux, nous ajouter 255 à une valeur de compteur 32 bits en cours d’exécution.
-Dans l’interruption de la PCINT0, arrêt 8-bit timer lorsque vous voyez un front descendant – c’est à dire., le pouls de l’écho est passée d’élevé à faible. Mise à jour nombre de 32 bits et la valeur de drapeau pour indiquer que la mesure est effectuée.
-La largeur d’impulsion mesurée est en fonction d’une valeur de compteur, et nous pouvons le convertir en secondes, puisque nous savons que la vitesse d’horloge. Cette valeur de temps est ensuite utilisée pour calculer la distance.

La distance est ensuite envoyée à l’aide de communication série sur broche PB1-j’ai couvert cette partie dans un article séparé. C’est aussi la raison pour laquelle nous ne pouvons pas utiliser la minuterie de 16 bits pour mesurer la largeur d’impulsion – il est déjà utilisé pour les communications séries. De plus, c’est amusant d’apprendre à utiliser la minuterie de 8 bits pour compter les grandes valeurs, droite ? ;-)

Les images des schéma et le schéma de montage d’essai sont attachés.

Il s’agit de la Makefile qui va de pair avec le code ci-dessus :

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

Et voici le code Python utilisé pour tracer les données :

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

Le code Python est une modification mineure à ce que j’ai posté avant sur le sujet.

Articles Liés

NRF905 de mesure de Distance par ultrasons système de Transmission sans fil basée sur Arduino

NRF905 de mesure de Distance par ultrasons système de Transmission sans fil basée sur Arduino

ICStation Équipe de vous présenter cette mesure de distance à ultrasons NRF905 système de transmission sans fil avec ICStation UNO et Mega 2560 compatible avec Arduino. La tension de fonctionnement est DC5V. Il utilise les ultrason pour mesurer la di
Capteur de Distance par ultrasons simple Module démo

Capteur de Distance par ultrasons simple Module démo

Comme avec certains de mes autres Instructables, mon but ici est de vous donner, ce que j'ai trouvé pour être, la façon la plus simple d'obtenir ce capteur vers le haut et en cours d'exécution avant de vous découragez pas et jetez-le. PS: Si vous tom
Arduino commandée à distance par Bluetooth ou LE Bluetooth à l’aide de téléphone

Arduino commandée à distance par Bluetooth ou LE Bluetooth à l’aide de téléphone

Vous avez toujours voulu contrôler à distance votre Arduino ? Soit pour lire les valeurs de capteur, ou faire faire quelque chose ? Peut-être même faire un robot télécommandé ?Eh bien maintenant vous pouvez. Cette instructable couvrira l'exemple le p
Arduino Nano : Mesurer la distance avec Ranger par ultrasons et de l’enregistrer pour carte MicroSD avec Visuino

Arduino Nano : Mesurer la distance avec Ranger par ultrasons et de l’enregistrer pour carte MicroSD avec Visuino

Les cartes MicroSD sont support de stockage bon marché et facile, et ils sont très pratiques pour stocker les données des capteurs Arduino . Il y a également un certain nombre de bon marché disponibles Modules carte MicroSD pour Arduino.Dans ce Instr
ESP8266 et Visuino : Servo de contrôle à distance par Wi-Fi avec molette

ESP8266 et Visuino : Servo de contrôle à distance par Wi-Fi avec molette

ESP8266 modules sont des contrôleurs de très faible coût stand-alone avec Wi-Fi intégrée. Dans ce Instructable je vais vous montrer comment vous pouvez contrôler un Servo à distance par Wi-Fi avec un encodeur rotatif. L'Instructable est une version s
Préparer certains capteurs PIR excédentaires pour la robotique

Préparer certains capteurs PIR excédentaires pour la robotique

j'ai trouvé un tas de capteurs PIR sur eBay. Ils sont montés sur un circuit imprimé qui a été produite pour un mains libres pour téléphones mobiles. Je voudrais décrire ici comment préparer le capteur pour l'utilisation dans les projets de robotique.
Capteur de pression à l’aide des machines disponibles à Softlab

Capteur de pression à l’aide des machines disponibles à Softlab

J'ai publié un autre tutoriel sur comment les gens de Softlab ici à Umea adapté une machine à coudre pour utiliser le fil conducteur. Ce tutoriel va montrer comment créer un capteur de pression à l'aide de cette machine. J'ai aussi utilisé d'autres m
Votre propre capteur de couleur à l’aide de LEDs

Votre propre capteur de couleur à l’aide de LEDs

Saviez-vous que vous pouvez faire un « bon marché » mais capteur couleur efficace à l'aide de certains composants de base ?Cette volonté instructable super-facile guide vous faire votre propre couleur à l'aide de la sonde un tas de LEDs et un LDR.J'a
Comment fixer définitivement un cordon ; en outre, comment réparer un cordon de serrage à l’aide d’une armature de mauvais.

Comment fixer définitivement un cordon ; en outre, comment réparer un cordon de serrage à l’aide d’une armature de mauvais.

Bon, en toute justice, ceci probablement devrait être intitulé « Comment réparer un cordon de serrage à l'aide d'un mauvais d'armatures/also, comment fixer définitivement un cordon, "mais, je suis allé avec ce que je pensais donnerait les meilleurs r
Mesure de la distance au fil du temps avec capteur à ultrasons Arduino HC-SR04

Mesure de la distance au fil du temps avec capteur à ultrasons Arduino HC-SR04

L'objectif de ce projet est de créer un ensemble expérimental jusqu'à basé sur microcontrôleur arduino et un capteur à ultrasons qui nous permettra de prendre des mesures de distance dans le temps. Cette configuration pourrait servir dans un laborato
Mesure de Distance pour le capteur à ultrasons LCD Arduino

Mesure de Distance pour le capteur à ultrasons LCD Arduino

Matériel de projet1 - Arduino UNO2 - HC-SR04 Ultrasonik capteur3-afficheur LCD4 - maquetteCode#includeInnovente LCD(10, 9, 5, 4, 3, 2) ; int trigPin = 13 ; Capteur voyage broche reliée à Arduino pin 13 int echoPin = 11 ; Capteur Echo broche reliée à
Par ultrasons #define trigpin 6 #define echopin 5 #define R 7#define G 8#define B 9 Distance void setup() { //serial monitor and pin setup. 

Par ultrasons #define trigpin 6 #define echopin 5 #define R 7#define G 8#define B 9 Distance void setup() { //serial monitor and pin setup. 

src = « »/>SalutMesdamesetMessieurs:),J'aiontundébutantTutorialArduinoprojetsurleHC-SR04,Cecipeuten faitêtreutilisécommeunsécuritémesure.CommelisteCommentfermerquelqu'unouquelque choseestdeboutfermerÀvotreDoor.iflepersonneestdeboutunjustedistancesuit
Arduino Bluetooth et ultrason capteur tutoriel

Arduino Bluetooth et ultrason capteur tutoriel

Bonjour à nouveau,Comme promis, j'ai téléchargé mon prochain instructable. Celui-ci va couvrir sensor(HC-SR04) Bluetooth et ultrasons.Pourquoi ces deux. J'ai fait une voiture de roue RC 2 pour mon projet scolaire. Il ' contrôlée avec une application
Contrôle par ultrasons de MIDI.

Contrôle par ultrasons de MIDI.

J'ai fait un outil de musique qui peut être utilisé en tandem avec un ordinateur ou accroché vers le haut directement à un système de lecture MIDI. Dans ce cas, l'ordinateur fait seulement la traduction des notes envoyées par l'Arduino via un MIDI à