Reden zum Ultraschall Abstand Sensor HC-SR04 mit einem ATtiny84


Diese instructable geht es um Schnittstellen einen ATtiny84 mit der HC-SR04 Ultraschall Distanzsensor mit nur C-Code – keine Hardware Arduino oder Bibliotheken.

Die HC-SR04 funktioniert wie folgt:

-Senden Sie eine 10us HIGH Pulse auf den Trigger-Pins.
-Der Sensor sendet ein "sonic platzen" der 8 Zyklen.
-Hören Sie das Echo-Pin und die Dauer der nächsten HIGH-Signal wird Ihnen die Zeit durch den Klang, hin und her vom Sensor zum Ziel zu gehen.

Hier wird die Pin PB0 verwendet, um die 10 uns Puls aussenden. Um die Breite des Echo-Puls zu messen, können wir einen Pin-Change Interrupt und einen Timer. Hier geht es darum:

-Setup-Pin-Änderung unterbrechen PCINT0, so dass jede logische Änderung auf Pin einen Interrupt auslösen wird.
-Senden Sie 10 US Puls an der Trigger-Pins.
-Schleife bis der PCINT0 Interrupt eine Markierung setzt, die angibt, dass die Messung erfolgt.
-In den PCINT0 Interrupt, einen 8-Bit Timer starten, wenn Sie eine steigende Flanke – dh sehen., der Echo-Puls ist von niedrig zu hoch gegangen. Der 8-Bit Timer ist Setup, um den Überlauf Interrupt verwenden.
-Die 8-Bit-Zähler läuft jedes Mal, wenn sie 255 erreicht, und wenn das Feuer unterbrechen, 255 auf einen laufenden 32-Bit-Zähler-Wert hinzufügen.
-In den PCINT0 Interrupt 8-Bit Timer stoppen, wenn Sie eine fallende Flanke – dh sehen., der Echo-Puls gegangen von hoch zu niedrig. Aktualisieren Sie 32-Bit-Zahl und festlegen Sie Kennzeichen, um anzugeben, dass die Messung beendet ist.
-Die gemessene Pulsbreite ist in Bezug auf einen Zählerwert, und wir können konvertieren, die in Sekunden, da wir wissen, dass die Taktrate. Dieser Zeitwert ist dann verwendet, um die Entfernung zu berechnen.

Der Abstand ist dann über serielle Kommunikation am Pin PB1 gesendet – ich habe diesen Teil in einem gesonderten Artikelbehandelt. Dies ist auch der Grund, wir können die 16-Bit Timer verwenden, um die Impulsbreite – messen es ist bereits für die serielle Kommunikation verwendet wird. Und es macht Spaß zu lernen, wie man den 8-Bit Timer verwenden, um große Werte, richtige zählen? ;-)

Die Bilder für Schaltplan und Layout Steckbrett sind beigefügt.

Dies ist das Makefile, die einhergeht mit dem obigen Code:

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

Und hier ist der Python-Code verwendet, um die Daten zu zeichnen:

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

Der Python-Code ist eine geringfügige Änderung, was ich zuvor zu diesem Thema geschrieben.

In Verbindung stehende Artikel

Einfache AndHC Arduino-Ultraschall Abstand Sensor Beispiel SR04

Einfache AndHC Arduino-Ultraschall Abstand Sensor Beispiel SR04

Schritt 0: TeilelisteFreeduino UNOEin 1 LEDSteckbrettStecker/Stecker-Anschluß KabelEine 1 Ultraschallsensor HC-SR04Schritt 1: Verbinden Sie die KomponentenVerbinden der Bauteile und Leitungen, wie in den beiden Bildern gezeigt.
GoPro Ultraschall Motion Sensor HC-SR04 von Arduino kontrolliert

GoPro Ultraschall Motion Sensor HC-SR04 von Arduino kontrolliert

Gopro durch Bewegung aktiviert, der Ultraschallsensor bewegen das Servo, wenn etwas erscheint in der Nähe des Sensors, es kann programmiert werden, um Bilder oder Videos aufnehmen und es kann auch zum aufhören zu fotografieren, wenn es keine Bewegung
Einfache Ultraschall Abstand Sensor Modul Demo

Einfache Ultraschall Abstand Sensor Modul Demo

Wie mit einigen meiner anderen Instructables hier mein Ziel ist es, Ihnen zu geben, fand, was ich zu sein, der einfachste Weg um diesen Sensor oben laufen bevor Sie entmutigen und werfen Sie es aus. PS: Wenn Sie bis dahin bekomme, ist meine Postansch
Piezo, PIR motion Sensor alle verbunden mit einem Arduino

Piezo, PIR motion Sensor alle verbunden mit einem Arduino

haben Sie Menschen, die ständig nervt Sie? Wenn ja versuchen Sie mit diesem, so dass Sie wissen, wann sie kommen.Schritt 1: Holen Sie sich Ihre Teile(1) Arduino uno2. einige Anschlussdrähte(3) Steckbrett(4) Piezo-Summer5. LED6. Code (für Arduino, geh
Arduino HC-SR04 (mit LCD)

Arduino HC-SR04 (mit LCD)

HalloIn diesem Tutorial werde ich Ihnen zeigen, wie man 1. Verbinden Sie die HC-SR04 mit einem Arduino und drucken Sie den Abstand zu den seriellen Monitor, 2. Anschließen Sie eine LCD und drucken Sie der Ergebnisse gibt es stattdessen. Der Sensor ar
Schnell improvisiert Face tracking-Kamera mit einem Intel Edison

Schnell improvisiert Face tracking-Kamera mit einem Intel Edison

Dies ist ein Tutorial zum Erstellen einer einfachen Gesichtsverfolgung Kamera mit einem Edison mit Arduino-Breakout-Board, jedem android Smartphone, ein Servo-Motor und ein paar andere Dinge, die Sie finden in Ihrem Schreibtisch herumliegen. Der Code
Senden von Sensordaten (DHT11 & BMP180), ThingSpeak mit einem Arduino ENC28J60 Ethercard mit

Senden von Sensordaten (DHT11 & BMP180), ThingSpeak mit einem Arduino ENC28J60 Ethercard mit

Hinweis: Diese instructable ist für die alten ENC26J60 Ethershield und Ethercard. Wenn Sie die moderne WIZ5100 Basis Ethernetshield oder eine ESP8266 besuchen Sie meine anderen instructable, die ich weiter unten erwähntÜber ein Jahr und einen halben
Wie man sich selbst mit einem Buttermesser geschnitten

Wie man sich selbst mit einem Buttermesser geschnitten

Ich nur gepostet, weil ich hörte Leute reden wie "Es unmöglich ist, sich mit einem Buttermesser schneiden" Ich hatte bereits getan diesem erfolgreich, jetzt ich das Wissen teilen bin, so können Sie, auch eine Wunde blutende Hand haben! Los geht'
Wie erstelle ich ein Arduino-Instrument (mit einem Ultraschall-Sensor)

Wie erstelle ich ein Arduino-Instrument (mit einem Ultraschall-Sensor)

Dieses Instrument erfolgt über ein HC-SR04 Ultraschall-Sensor, einem Kraft empfindliche Widerstand und einen Piezo-Summer. Sie die Taste des Kraftsensor beginnen Musizieren und Welle der Hand vor der Ultraschallsensor in verschiedenen Abständen versc
Ermöglichen Niveauregulierung für Ihren 3D Drucker mit einem induktiven Sensor (Marlin Firmware)

Ermöglichen Niveauregulierung für Ihren 3D Drucker mit einem induktiven Sensor (Marlin Firmware)

Diese Instructable erläutert, wie Sie setup Niveauregulierung für 3D Druckers mit Marlin Firmware typisch für viele 3D-Drucker wie Makerfarm-Kits und andere, mit denen Rampen 1,4 + Arduino Controller mit einem induktiven Sensor Sitz.* Schauen Sie sic
Ultraschall Abstand Messung NRF905 Funkübertragung System auf Arduino basierend

Ultraschall Abstand Messung NRF905 Funkübertragung System auf Arduino basierend

ICStation Team stellen Ihnen diese Ultraschall Abstandsmessung NRF905 drahtlosen Übertragungssystem mit ICStation UNO und Mega 2560 mit Arduino kompatibel. Die Betriebsspannung ist DC5V. Es nutzt Ultraschall um Abstand zu messen und Funkübertragung m
Ultraschall-Entfernungsmesser mit einem ATtiny85 (mit Schild)

Ultraschall-Entfernungsmesser mit einem ATtiny85 (mit Schild)

Ich möchte Ihnen zeigen, wie ein HC-SR04 Ultraschall-Entfernungsmesser mit einem ATtiny85 sowie die Programmierung der ATtiny85 mit der wunderbaren, erstellt Randofo Schild verwenden.Liste der Materialien:ATtiny85 Programmierung BibliothekArduino Uno
Wie erstelle ich ein Arduino Ultraschall Parkplatz Sensor

Wie erstelle ich ein Arduino Ultraschall Parkplatz Sensor

So ist dieses Projekt so ziemlich genau wie angegeben in den Titel, eine Einparkhilfe. Was war meine Inspiration für dieses Projekt? Das ist eine gute Frage, da ehrlich gesagt, gab es keine. Ich war mit der ultra-sound Board Flickschusterei und sehen
Gewusst wie: Temperatur sehr genau mit einem Arduino und das TSYS01-Temperatur-Sensor-Board zu messen.

Gewusst wie: Temperatur sehr genau mit einem Arduino und das TSYS01-Temperatur-Sensor-Board zu messen.

Während seines Studiums an der Universität waren wir als Teil der Kursarbeit in der Gestaltung einer Box mit sehr genauen Temperaturregelung herausgefordert. Wenn das Projekt gelingt, wurden mehrere Boxen gebaut und in einem Forschungsprojekt, die Un