Cuprins:

Un câine de urmărire în infraroșu: 3 pași
Un câine de urmărire în infraroșu: 3 pași

Video: Un câine de urmărire în infraroșu: 3 pași

Video: Un câine de urmărire în infraroșu: 3 pași
Video: 12 lucruri nocive pe care i le faci câinelui tău fără să-ți dai seama 2024, Iulie
Anonim
Image
Image
Un câine de urmărire în infraroșu
Un câine de urmărire în infraroșu

Într-o zi am găsit un videoclip interesant la: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_aiomsg, dar este foarte bine …

La prima vedere, simt că este cu adevărat ciudat, iar apoi picioarele înșelate, nu știu care este motivul pentru care acest designer a făcut o poveste atât de înșelătoare … este imposibil de un senzor IR simplu, sau chiar fără niciun controler, ci doar triode simple.

Nu-l cunosc pe tip și întreaga poveste, încerc doar să o fac singură. Tocmai mi-am făcut propriul design, cu module foarte simple:

  • Orice controler compatibil Arduino, cum ar fi Maduino
  • Driver motor L298N
  • 3x senzor IR
  • Unii jumperi obișnuiți

Pasul 1: Detectarea obstacolelor

Detectarea obstacolelor
Detectarea obstacolelor

Acolo sunt folosiți 3 senzori IR pentru a detecta obstacolul, iar senzorul stânga / dreapta a detectat obstacolul, acesta ar trebui să fie rotit spre direcția ceasului / anti-ceas, în timp ce senzorul din mijloc detectat, este în regulă.

Senzorul 3 detectează dacă există vreun obstacol în față. Conectează pinul de semnal la pinii de intrare Maduino, cum ar fi Pin2 / 3/4;

Ca software, verificați simplu starea de ieșire a senzorului, pentru a decide ce ar trebui să facă motorul:

if (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // Dacă senzorul intermediar detectează obstacolul, opriți motorul

{

analogWrite (EN, 0);

Stop();

}

dacă (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // dacă senzorul drept detectează obstacolul, inversarea motorului cu viteză mare;

{

analogWrite (EN, highspeed);

Verso();

}

if (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // dacă

senzorul din dreapta și mijloc detectează inversarea obstacolă a motorului cu viteză redusă;

{

analogWrite (EN, viteză redusă);

Verso();

}

……

Pasul 2: Controlul motorului

Control motor
Control motor
Control motor
Control motor

Și un șofer de motor care să conducă motorul, cu viteză mare / mică, depinde de starea senzorului.

Folosind un modul L298N pentru a acționa motorul, cu pinul Maduino5 / 6 și pinul PWM (Maduino Pin9) la pinul de activare L298N și alimentați modulul cu 9V:

int EN = 9; // Controlul PWM

int highspeed = 80; // definește viteza mare

int lowspeed = 60; // definiți viteza mică

și apoi viteza motorului poate fi controlată de:

analogWrite (EN, highspeed);

Pasul 3: Instalați ceva acolo, un astfel de câine …

Instalați ceva acolo, un astfel de câine …
Instalați ceva acolo, un astfel de câine …

Instalați senzorii și motoarele și creați ceva, pentru mine, îmi place ca un câine să se joace cu fiica mea de 1,5 ani. Descărcați codul Arduino aici … gratuit să mă contactați: [email protected] dacă aveți întrebări

Recomandat: