Arduino er en veldig mangfoldig plattform som gir brukeren et bredt utvalg av alternativer når han designer en maskinvare for alle typer prosjekt. På maskinvaren gir Prospective Arduino en rekke mikrokontrollertavler som kan velges på grunnlag av nivået på prosjektene. Det mest populære blant Arduino -styrene er Arduino UNO -styret på grunn av dets enkelhet og kompatibilitet. Ved å bruke Arduino -plattformen kan vi dessuten grensesnitt forskjellige enheter, inkludert sensorer og moduler med mikrokontrollerne. Vi har brukt Arduino UNO for å lage et Speed Tracker -system som måler hastigheten på ethvert bevegelig objekt ved hjelp av den infrarøde sensormodulen.
Hvordan lage Speed Tracker ved hjelp av IR -modul med Arduino Uno
For å måle hastigheten på et bevegelig objekt har vi brukt to IR -moduler med Arduino Uno. Så når objektet går gjennom begge modulene, kan vi måle hastigheten ved å ta forskjellen på tiden da objektet passerte gjennom hver modul. Vi har lagt ut bildet for skjemaet over kretsen designet for Speed Tracking Project.
Maskinvareenhet for Arduino Uno Speed Tracker ved hjelp av IR -modul
Listen over nødvendige komponenter for å lage speed tracker ved hjelp av IR -modulen med Arduino UNO er gitt nedenfor
Nedenfor er bildet av maskinvarenheten som gir en klar forståelse av tilkoblingene til komponentene som er oppført ovenfor:
Vi har satt sammen maskinvaren på en slik måte at vi først plasserte LCD, LED og potensiometer på brødplaten og deretter koblet LCD -en med Arduino UNO ved å bruke sine 5,4,3,2 som datapinnene til LCD ved å bruke den hvite fargeledningen. Ved siden av å justere lysstyrken til LCD -en har vi koblet V0 -pinnen til LCD -en med utgangen fra potensiometeret ved å bruke den gule fargetråden. På samme måte etter det har vi koblet til registeret Select og Aktiver PIN -koden til LCD med Arduino, og det er representert med den grå ledningen på bildet.
Når vi kommer til IR -modulene, har vi koblet ut utgangen fra IR -modulene med Arduino ved å bruke pinnen 10 og 9 og tilkoblinger gjøres ved hjelp av den brune fargetråden og for å koble LED på pinnen 8 på Arduino, har vi brukt den oransje fargetråden.
For å koble komponentene med spenningsforsyning har vi brukt 5 volt og bakkestiften til Arduino Uno og koblet den til brødtavlen dedikerte pinner for forsyning og malt.
Arduino -kode for Speed Tracker ved hjelp av IR -modul
Arduino -koden samlet for å måle hastigheten på ethvert bevegelig objekt er gitt nedenfor:
#include // Definere bibliotek for LCD
LiquidCrystal LCD (12,11,5,4,3,2); // Tilordne Arduino -pinnene for LCD
const int LED = 8; // Arduino Pin for LED
Byte IR1 = 10; // Arduino Pin for den første IR -modulen
Byte IR2 = 9; // Arduino Pin for den andre IR -modulen
byte irval1; // variabel for å lagre verdien av første IR -modul
byte irval2; // variabel for å lagre verdien av andre IR -modul
float diff; /*Variabel for å lagre tidsforskjellen mellom de to modulene*/
flytehastighet; // variabel for å lagre hastighetsverdien
usignert lang tid1;/* variabel for lagring av tiden for første IR -modul*/
usignert lang tid2;/* variabel for lagring av tiden for andre IR -modul*/
Float SpeedConst = 453.6; // avstand mellom to IR -moduler i km/t
void displayLcd () // Opprette funksjonen for å vise dataene
LCD.setcursor (0, 0);/*Angi stedet for at dataene skal vises*/
LCD.print ("speed tracker"); // data som skal vises
LCD.setcursor (0,3);/*Angi stedet for dataene som skal vises*/
LCD.print ("hastighet:"); // data som skal vises
ugyldig oppsett ()
/*tilordne modusene til IR -modulene og LED*/
pinmode (IR1, input);
pinmode (IR2, input);
pinmode (LED, output);
Serie.Begynn (9600); // Initialisere seriell kommunikasjon
LCD.Begynn (16,2); // Initialisere dimensjonene til LCD
LCD.setcursor (0, 0);/*Angi stedet for at dataene skal vises*/
LCD.print ("speed tracker"); // data som skal vises
LCD.setcursor (0,3);/*Angi stedet for dataene som skal vises*/
LCD.print ("hastighet:"); // data som skal vises
ugyldig sløyfe ()
irVal1 = DigitalRead (IR1); /*Lese utgangen fra den første IR -modulen*/
irVal2 = DigitalRead (IR2);/*Lese utgangen fra den andre IR -modulen*/
if (irval1 == høy) / * Hvis utgangen er høy, må du merke deg tiden og slå på LED på * /
tid1 = millis (); // Lagre tiden for første modul
DigitalWrite (LED, lav); // slå på LED
forsinkelse (30);
if (irval2 == lav) / * Hvis utgangen hvis den andre modulen er høy, beregner beregningen av tidens forskjell og beregner hastigheten */
Time2 = Millis (); // Lagre tiden for andre IR -modul
Diff = Time2 - Time1; /*Beregning av tidsforskjell mellom de to IR -modulene*/
hastighet = SpeedConst/diff; // Få hastigheten konvertert fra mm/millis til km/t.
LCD.setcursor (6,3);/*Angi stedet for at dataene skal vises*/
LCD.print (hastighet); // data som skal vises
LCD.print ("km/h"); // data som skal vises
forsinkelse (1000); // tid som dataene skal vises på LCD
LCD.Clear (); // tømme LCD
displayLcd ();/* Ringer visningsfunksjonen for å vise dataene*/
DigitalWrite (LED, lav); // Å gi LED lav tilstand
Arduino -koden for Speed Tracker er samlet på en slik måte at vi først har tildelt pinnene til Arduino brukt til å grensesnitting hver komponent med Arduino UNO og deretter nødvendige variabler erklært. Neste har vi gitt driftsmåter til hver komponent, og vi har opprettet en skjermfunksjon for LCD for å vise nødvendige data på LCD.
For å beregne hastigheten på objektet har vi først målt avstanden mellom våre to IR -moduler, i vårt tilfelle er begge modulene omtrent 126 mm fra hverandre. Siden hastigheten er målt i km/t, har vi konvertert avstanden i km/t fra mm ved å bruke følgende formel:
((avstand)*3600)/1000; ((126)*3600)/1000 = 453.6;
Ved siden av å beregne hastigheten på objektet har vi brukt formelen gitt nedenfor.
hastighet = (avstand/tid); hastighet = (453.6/forskjell på tid for begge IR -modulene);
I formelen ovenfor er tiden forskjellen på tiden for begge IR -modulene.
For å oppsummere arbeidet med Arduino -koden, kan vi si at når utgangen fra den første IR -modulen er høy, vil tiden bli lagret ved hjelp av Millis () -funksjonen, og når utgangen fra den andre IR -modulen er høy, lagres også tiden. Deretter vil forskjellen på begge ganger bli beregnet og verdien vil bli plassert i formelen som brukes for hastighetsberegning, og den beregnede hastigheten vises på LCD.
Maskinvareimplementering for hastighetssporing med IR -modul ved bruk av Arduino Uno
Vi har lagt ut bildet nedenfor for å vise maskinvaren samlet for Arduino Speed Tracker Project.
Vi har lagt ut en animasjon for å demonstrere arbeidet med hvordan vi kan måle hastigheten på et bevegelig objekt:
Konklusjon
De infrarøde modulene brukes hovedsakelig for påvisning av hindringer, måling av hastighet, måling av temperatur og mange andre applikasjoner. Disse modulene er enkle å grensesnitt mot Arduino -tavler og kan brukes i et stort antall prosjekter for forskjellige applikasjoner. Vi har også brukt de infrarøde modulene for å beregne hastigheten på et bevegelig objekt ved hjelp av Arduino UNO.