Come creare Speed ​​Tracker usando moduli IR con Arduino Uno

Come creare Speed ​​Tracker usando moduli IR con Arduino Uno

Arduino è una piattaforma molto diversificata che offre all'utente un'ampia varietà di opzioni durante la progettazione di un hardware per qualsiasi tipo di progetto. Sul potenziale hardware Arduino fornisce una varietà di schede di microcontrollori che possono essere selezionate sulla base del livello dei progetti. Il più popolare tra le schede Arduino è la scheda Arduino Uno per la sua semplicità e compatibilità. Inoltre, utilizzando la piattaforma Arduino, possiamo interfacciare diversi dispositivi tra cui sensori e moduli con i microcontrollori. Abbiamo usato Arduino Uno per la creazione di un sistema di tracker Speed ​​che misura la velocità di qualsiasi oggetto in movimento usando il modulo del sensore a infrarossi.

Come creare Speed ​​Tracker usando il modulo IR con Arduino Uno

Per misurare la velocità di un oggetto in movimento abbiamo usato due moduli IR con Arduino Uno. Quindi, quando l'oggetto passa attraverso entrambi i moduli, possiamo misurare la velocità prendendo la differenza del tempo in cui l'oggetto è passato attraverso ciascun modulo. Abbiamo pubblicato l'immagine per lo schema del circuito progettato per il progetto di tracciamento della velocità.

Assemblaggio hardware per Arduino Uno Speed ​​Tracker utilizzando il modulo IR

Di seguito è riportato l'elenco dei componenti richiesti per creare Speed ​​Tracker utilizzando il modulo IR con Arduino Uno

  • Arduino Uno
  • Collegamento dei fili
  • Display di cristalli liquidi 16 × 2 (LCD)
  • 1 potenziometro
  • Resistenza da 1 220 ohm
  • 1 LED
  • 2 moduli IR

Di seguito è riportata l'immagine del gruppo hardware che fornisce una chiara comprensione delle connessioni dei componenti sopra elencati:

Abbiamo assemblato l'hardware in modo tale che prima abbiamo inserito LCD, LED e potenziometro sulla breadboard e quindi interfacciato l'LCD con Arduino Uno usando i suoi 5,4,3,2 come i pin di dati del LCD usando il filo di colore bianco. Accanto a regolare la luminosità del LCD abbiamo collegato il pin V0 del LCD con l'uscita del potenziometro usando il filo di colore giallo. Allo stesso modo, abbiamo collegato la selezione del registro e il pin di abilitazione di LCD con Arduino ed è rappresentato dal filo grigio nell'immagine.

Venendo ai moduli IR abbiamo collegato l'uscita dei moduli IR con Arduino usando il suo pin 10 e 9 e le connessioni vengono eseguite usando il filo di colore marrone e per collegare il LED sul pin 8 dell'Arduino abbiamo usato il filo di colore arancione.

Per collegare i componenti con l'alimentazione di tensione abbiamo usato il perno da 5 volt e macinato dell'Arduino Uno e lo abbiamo collegato al pin dedicato alla breadboard per l'alimentazione e il terreno.

Codice Arduino per Speed ​​Tracker utilizzando il modulo IR

Di seguito è riportato il codice Arduino compilato per misurare la velocità di qualsiasi oggetto in movimento:

#include // Definizione della libreria per LCD
LiquidCrystal LCD (12,11,5,4,3,2); // Assegnazione dei pin Arduino per il LCD
const int LED = 8; // Pin Arduino per il LED
byte ir1 = 10; // pin Arduino per il primo modulo IR
byte ir2 = 9; // pin Arduino per il secondo modulo IR
byte irval1; // variabile per archiviare il valore del primo modulo IR
byte irval2; // variabile per archiviare il valore del secondo modulo IR
float diff; /*variabile per salvare la differenza di tempo tra i due moduli*/
Velocità galleggiante; // variabile per salvare il valore di velocità
UNSIGNATO LUNGO TEMPO1;/* Variabile per la memorizzazione del tempo per il primo modulo IR*/
non firmato a lungo tempo2;/* per memorizzazione del tempo per il secondo modulo IR*/
Float SpeedConst = 453.6; // Distanza tra due moduli IR in km/h
void displaylcd () // Creazione della funzione per la visualizzazione dei dati
LCD.setCursor (0, 0);/*Impostazione del luogo in cui i dati da visualizzare*/
LCD.print ("Speed ​​Tracker"); // Dati da visualizzare
LCD.setCursor (0,3);/*Impostazione del luogo in cui i dati da visualizzare*/
LCD.print ("velocità:"); // dati da visualizzare

void setup ()

/*Assegnazione delle modalità ai moduli IR e LED*/
pinMode (IR1, input);
pinMode (IR2, input);
pinMode (LED, output);
Seriale.Inizia (9600); // Inizializzazione della comunicazione seriale
LCD.Inizia (16,2); // Inizializzazione delle dimensioni di LCD
LCD.setCursor (0, 0);/*Impostazione del luogo in cui i dati da visualizzare*/
LCD.print ("Speed ​​Tracker"); // Dati da visualizzare
LCD.setCursor (0,3);/*Impostazione del luogo in cui i dati da visualizzare*/
LCD.print ("velocità:"); // dati da visualizzare

void loop ()

IRVAL1 = DigitalRead (IR1); /*Leggendo l'output del primo modulo IR*/
irval2 = digitaleRead (IR2);/*Lettura dell'output del secondo modulo IR*/
if (irval1 == high) / * Se l'uscita è alta, notare il tempo e accendere il LED su * /
time1 = millis (); // salvando il tempo per il primo modulo
DigitalWrite (LED, basso); // Accendere il LED
ritardo (30);

if (irval2 == basso) / * se l'output se il secondo modulo è alto il calcolo della differenza di tempo e calcola la velocità */
time2 = millis (); // Salvando il tempo per il secondo modulo IR
diff = time2 - time1; /*Calcolo della differenza di tempo tra i due moduli IR*/
Velocity = SpeedConst/Diff; // Fai convertire la velocità da mm/millis a km/h.
LCD.setCursor (6,3);/*Impostazione del luogo in cui i dati da visualizzare*/
LCD.stampa (velocità); // dati da visualizzare
LCD.print ("km/h"); // dati da visualizzare
ritardo (1000); // ora per il quale i dati verranno visualizzati su LCD
LCD.Clear (); // Clearing the LCD
displaylcd ();/* chiama la funzione di visualizzazione per visualizzare i dati*/
DigitalWrite (LED, basso); // Dare allo stato basso a LED

Il codice Arduino per Speed ​​Tracker è compilato in modo tale che prima abbiamo assegnato i pin di Arduino utilizzati per interfacciarsi ogni componente con Arduino Uno e quindi le variabili necessarie sono dichiarate. Successivamente abbiamo fornito le modalità di funzionamento a ciascun componente e abbiamo creato una funzione di visualizzazione per l'LCD per la visualizzazione dei dati necessari sul LCD.

Per calcolare la velocità dell'oggetto abbiamo prima misurato la distanza tra i nostri due moduli IR, nel nostro caso entrambi i moduli sono distanti circa 126 mm. Poiché la velocità è misurata in km/h, abbiamo convertito la distanza in km/h da mm usando la seguente formula:

((Distanza)*3600)/1000; ((126)*3600)/1000 = 453.6;

Accanto a calcolare la velocità dell'oggetto abbiamo usato la formula indicata di seguito.

velocità = (distanza/tempo); velocità = (453.6/differenza di tempo di entrambi i moduli IR);

Nella formula sopra il tempo è la differenza del tempo di entrambi i moduli IR.

Per riassumere il funzionamento del codice Arduino possiamo dire che quando l'uscita del primo modulo IR è elevato, il tempo verrà salvato usando la funzione Millis () e quindi quando l'output del secondo modulo IR è alto anche il suo tempo viene salvato. Successivamente verrà calcolata la differenza di entrambi i tempi e il valore verrà inserito nella formula utilizzata per il calcolo della velocità e la velocità calcolata verrà visualizzata sul LCD.

Implementazione hardware per il monitoraggio della velocità con modulo IR utilizzando Arduino Uno

Abbiamo pubblicato l'immagine qui sotto per mostrare l'hardware assemblato per il progetto Arduino Speed ​​Tracker.

Abbiamo pubblicato un'animazione per dimostrare il funzionamento di come possiamo misurare la velocità di un oggetto in movimento:

Conclusione

I moduli a infrarossi sono utilizzati principalmente per il rilevamento di ostacoli, misurazione della velocità, misurazione della temperatura e molte altre applicazioni. Questi moduli sono facili da interfacciarsi con le schede Arduino e possono essere utilizzati in un vasto numero di progetti per diverse applicazioni. Abbiamo anche usato i moduli a infrarossi per calcolare la velocità di un oggetto in movimento usando Arduino Uno.