Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Î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
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
Ș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 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