Talar till ultraljud avstånd Sensor HC-SR04 med hjälp av en ATtiny84



Detta instructable handlar om samverkar en ATtiny84 med HC-SR04 ultraljud avstånd sensor använder bara C kod – ingen Arduino hårdvara eller bibliotek.

HC-SR04 fungerar enligt följande:

-Skicka en 10us hög puls på Trigger stift.
-Sensorn skickar ut en "sonic explosion" av 8 gånger.
-Lyssna till Echo stift och varaktigheten av nästa hög signal ger dig den tid för ljudet att gå fram och tillbaka från sensorn till målet.

Här, används PB0 PIN-koden för att skicka ut 10 puls. För att mäta bredden på echo pulsen, kan vi använda en pin-ändra avbryta och en timer. Här är tanken:

-Setup pin change interrupt PCINT0 så att varje logisk ändring på stift kommer att orsaka ett avbrott.
-Skicka en 10 US pulse trigger nålen.
-Loop tills PCINT0 avbrottet sätter en flagga som anger att mätningen görs.
-I PCINT0 avbrottet, starta en 8-bitars timer när du ser en stigande kanten – dvs., echo pulsen har gått från låg till hög. 8-bitars timern är inställd för att använda overflow avbrottet.
-Den 8-bitars räknaren flödar över varje gång den når 255, och så när att avbryta bränder, vi lägger 255 till en löpande 32-bitars räknare-värdet.
-I PCINT0 avbrottet, stoppa 8-bitars timer när du ser en fallande kant-dvs., echo pulsen har gått från hög till låg. Uppdatera 32 bitars räknare och ange flagga som anger att mätningen görs.
-Uppmätta pulse bredd är en counter värde, och vi kan konvertera det till sekunder, eftersom vi vet klockhastighet. Detta värde används sedan för att beräkna avståndet.

Avståndet skickas sedan med seriell kommunikation på pin PB1 – jag har täckt denna del i en separat artikel. Detta är också anledningen till vi inte kan använda 16-bitars timern för att mäta puls bredd – det används redan för seriell kommunikation. Plus det är kul att lära sig använda 8-bitars timern för att räkna stora värden, rätt? ;-)

Bilder för Schematisk och skärbräda layout är kopplade.

Detta är Makefile som går längs med ovanstående kod:

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

Och här är Python kod används för att rita data:

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

Python-koden är en mindre ändring i vad jag skrivit innan i ämnet.

Relaterade Ämnen

LinkIt en tutorials - #11 HC-SR04 ultraljud avstånd Sensor

För denna tutorial ska jag gränssnitt en HC-SR04 ultraljud avstånd sensor till en LinkIt en styrelse.HC-SR04 verk använder ett eko system - en liten puls av högfrekventa brus (långt över mänskliga hörseln sortiment) sänds ut från ena sidan av styrels...

Arduino - HC SR04 ultraljud avstånd Sensor / ultraljud sträcker Sensor

Hej världen! Idag gjorde jag en ganska praktisk sak. En avståndsmätare med ultraljud avstånd sensor. det fungerar perfekt och kan användas för en massa saker, som robot positionering etc. Inget emot telefonen och Bluetooth-modul du inte behöver det,...

Ansluta en LCD-skärm och en Ultraljuds avstånd Sensor till en Arduino

När jag först började spela med Arduinos, var detta den första lilla set up jag skapat. Den video orienteringen är lite dålig. Detta var min första gå på saker så jag ber om ursäkt att jag inte var upp till snus då. Hur som helst, mycket enkelt ställ...

Hur man gör en enkel Arduino ultraljud avstånd Sensor

Detta är en enkel handledning om hur man gör en Arduino ultraljud avstånd sensor i centimeter. Du kommer att behöva veta grundläggande elektronik, Arduino och hur man använder en skärbräda.Steg 1: Vad är en Ultrasonic Sensor En ultrasonic sensor är e...

Long Range ultraljud avstånd Sensor

Detta Instructable visar en metod för att öka mätområde populära HC-SR04 ultraljud avstånd sensorn.Förbättring i rad bygger på att minska "synfältet" (FOV) grundläggande sensorn genom att använda det som ett foder element för en paraboliska skål...

Enkla ultraljud avstånd Sensor modul Demo

Som med några av mina andra Instructables mitt mål här är att ge dig, vad fann jag vara, det enklaste sättet att få igång innan du bli avskräckt och kasta ut denna sensor upp. PS: Om du får till den punkten, min adress är PO Box...HC-SR04 ultraljud a...

Ultrasonic sensor HC-SR04 med Arduino

Se mer på:http://www.theorycircuit.com/Interface-Ultrasonic-sensor-HC-SR-04-with-Arduino/Facebook länk: https://www.facebook.com/pages/Theorycircuit/82511...HC-SR 04 är berömda ultrasonic utbud sensor och dess mycket enkelt att använda med många mikr...

Lägg till 6 ultraljud avstånd sensorer till befintliga Raspberry Pi Robot

Detta är inte en handledning för att göra en Raspberry Pi robot med 6 ultraljudssensorer.Detta är en tutorial visar den bästa metoden att lägga 6 ultraljudssensorer direkt till en raspberry pi utan användning av någon micro controller som Arduino.NIV...

Enkla Arduino andHC-SR04 ultraljud avstånd Sensor exempel

Steg 0: ReservdelslistaFreeDuino UNOEn (1) LEDSkärbrädaHane/hane hookup ledningarEn (1) HC-SR04 Ultrasonic SensorSteg 1: Ansluta komponenternaAnslut de komponenter och ledningar som visas i de två bilderna....

Hacka en HC SR04 till en 3 stift sensor

Jag hoppas ni alla har hört talas om det dyrt-men-awesome parallax ping))) sensor. Jag kan inte köpa en av dem det spränger min budget i små små bitar av skräp som flyter runt (30$ jag menar). Så vad gör du? bokstavligen hacka dina problem i bitar. S...

Linkit en Ultraljuds avstånd hastighetsmätning enhet

I detta instructable, jag kommer att visa dig hur man kombinerar en ultrasonic sensor (HC-SR04) med en Linkit en att göra ett avstånd mätanordning. Denna enhet kan mäta maximal raseri på upp till 2 meter, detta är riktigt roligt projekt att utforma....

Wi-fi Android disabler med Arduino avstånd Sensor

En annan snabbprojekt!Jag gjorde en del i det större projektet och kom över en del, där jag var i behov att stänga ner min telefon wifi via Bluetooth form en Arduino. Det var tänkt som en "safety" trigger som fungerar som när handen är över sens...

Arduino Pickup Truck med ljus och avstånd Sensor

I denna tutorial kommer jag förklara hur man bygger denna Arduino kartong plocka upp lastbil med hinder skatteundandragande och cool rött ljus. Det är låg kostnad och har mer än bara robot rörelse.En annan fördel är strömförbrukning: endast 4 AA-batt...

Blind spot detection: Arduino + avstånd sensor + Matlab GUI

Detta projekt studerar möjligheten att använda en HC-SR04 ultraljud avstånd sensor för att ge en indikation på ett fordon i förare blinda fläcken. Posta vänligen frågor nedan och jag kommer gärna att svara.Flera prototyper framöver!Detta projekt komm...

Vibrerande avstånd Sensor

Föreställ dig att vakna bredvid en ljus sovvagn och du har att få till badrummet men du är i en pitch black hotellrum. Även en ficklampa kommer vakna honom eller henne men du kan inte hålla det för de närmaste tre timmarna när larmet går bort. Tänk o...

Haptic avstånd Sensor

Handheld SONAR. Denna enhet kommer att sätta press på bäraren beroende på avståndet kände som gör bäraren nästan känna hans eller hennes omgivning utan att göra fysisk kontakt.Denna enhet är inte en ny idé. Den enda skillnaden jag ville göra var modu...

Svepande ultraljud avståndsmätare

detta Instructable visar hur du använder en Arduino Uno, ultraljud avståndsmätare, servo och TFT skärm för att göra en handhållen svepande ultraljud avståndsmätare. Eftersom servo sveper en 180 graders båge, bearbetar Uno data från avståndsmätare, pl...

Komma igång med avstånd sensorer och Arduino

Detta är en start guide för att använda avstånd sensorer med Arduino och viss bearbetning. Vi har använt dessa sensorer:SKARP GP2Y0A21YK0FEnhet för avstånd Sensor mätningBestår av en integrerad kombination av PSD (position känslig detektor), IRED (in...

GoPro ultraljud Motion Sensor HC-SR04 kontrolleras av arduino

Gopro aktiveras av rörelse, ultraljud sensorn flytta servo när något visas nära sensorn, det kan vara programmerat att ta bilder eller video och även det kan vara programmerat att sluta ta bilder när det finns ingen rörelse i sensorn.Fördelar över no...