Hvordan bruke DelayMicroseConds -funksjonen - Arduino

Hvordan bruke DelayMicroseConds -funksjonen - Arduino
Det er et stort antall nyttige funksjoner i C/C ++ -språket som brukes til å programmere Arduino -mikrokontrolleren. Slike funksjoner kan gjøre implementeringen av prosjektet enkelt ved å gjøre koden til å fungere relativt mer forståelig. En av funksjonene som hjelper sterkt med å lage logikken i programmet er DelayMicroseConds () funksjon. For å forstå hvordan denne funksjonen fungerer har vi forklart denne funksjonen på en veldig omfattende måte.

Hva er DelayMicroseConds () -funksjonen i Arduino

Det er åpenbart fra navnet på funksjonen at den brukes til å stoppe Arduino -koden for en tid med mikrosekunder gitt av brukeren. Denne funksjonen kommer til nytte når programmet enten tar innspill utenfra eller kontrollerer noen enheter som forsinkelsesfunksjonen (). For å bruke DelayMicRoSeConds () -funksjonen må vi følge syntaksen som er lagt ut nedenfor:

forsinkelsesmikroseconds (tid i mikrosekunder);

For å bruke DelayMicRoSeConds () -funksjonen må vi gi tiden som argument, og det vil stoppe programmet for gitt tid.

For å illustrere hvordan vi kan bruke DelayMicRoseConds () -funksjonen, har vi gitt de to eksemplene som vil hjelpe deg å forstå bruken av denne funksjonen.

Bruke DelayMicroseConds -funksjon for å blinke LED raskere

For å demonstrere hvordan denne funksjonen gikk til pause i strømmen av Arduino -koden, har vi brukt blinkeksemplet på LED. Nedenfor har vi gitt koden for LED -blink der vi har blinket LED ved å endre statene ved å bruke DigitalWrite () -funksjonen, og i mellom staten har vi gitt forsinkelsen av mikrosekunder.

void setup ()
pinmode (7, output);/*tilordne arbeidsmodus for PIN -koden som LED er tilkoblet*/

void loop ()
digitalwrite (7, høy); / *gir høy verdi til funksjonen for å slå på LED på */
forsinkelsesmikroseconds (1000); /* For å gjøre lysdioden i høy tilstand en stund*/
digitalwrite (7, lav); /*gir lav verdi til funksjonen for å slå av LED*/
forsinkelse (1000); /* For å få LED til å blinke i lav tilstand en stund*/

Bruke forsinkelsesmikroseconds for å generere pulsen til avstandssensoren

For å generere pulser på avstandssensoren brukes forsinkelsesmikroseconds () -funksjonen for det meste, da det meste av tiden er det påkrevd en korte pulser. Pulsen genereres ved å gi høye og lave tilstander til utløserpinnen til avstandssensoren, og i mellom endringene av statene har vi gitt forsinkelsen i mikrosekunder.

Kort sagt, vi kan si at vi har generert pulsen ved å endre tilstanden til triggerpinnen med en forsinkelse ved å bruke forsinkelsesmikroseconds () -funksjonen. Å generere pulser kan tjene flere formål, hvorav den ene er at vi kan bruke dem til å måle avstander av hindringer fra de respektive objektene, eller vi kan måle hastigheten på de kommende hindringene. For å vise hvordan vi kan generere en puls med få mikrosekunder har vi gitt den respektive Arduino -koden nedenfor:

int trig = 7; // arduino pin for trigger pin hvis senor
int ekko = 6; // Arduino Pin for Echo Pin of Sensor
FLOAT D, DIST; // variabel som lagrer beregnet varighet og avstand
void setup ()
Serie.Begynn (9600); // Kommunikasjonshastighet for seriell kommunikasjon
// å gi arbeidsmodus til triggeren og ekkokontakten til sensoren
pinmode (trig, utgang);
pinmode (ekko, input);

void loop ()
// generere puls på 10-mikrosekunder
digitalwrite (trig, høy);
forsinkelsesmikroseconds (1000); // tid i mikrosekunder
digitalwrite (trig, lav);
DelayMicroseConds (1000); // Tid i mikrosekunder
digitalwrite (trig, høy);
forsinkelsesmikroseconds (1000); // tid i mikrosekunder
digitalwrite (trig, lav);
d = puls (ekko, høy); // å finne varigheten av pulsen
dist = ((d/2)/29.1); // beregne avstanden dekket av pulsen
// utskriftsavstand på seriemonitoren
/* Seriell.print ("avstand:");
Serie.trykk (dist);
Serie.println ("cm");*/
forsinkelse (500);

Pulser generert av avstandssensoren kan sees på bildet nedenfor:

Konklusjon

DelayMicroseConds () -funksjonen brukes til å pause strømmen av Arduino -skisse for en tid i mikrosekunder som er spesifisert av brukeren. Det er forskjellig fra den konvensjonelle forsinkelsesfunksjonen ettersom forsinkelsesfunksjonen tar verdiene i millisekunder som er større enn mikrosekunder. Så vi kan si at for å gi en liten pause til Arduino -koden, kan vi bruke DelayMicroSeConds () -funksjonen, og denne pausen kan brukes av flere årsaker.