Мазмуну:

Infrared Tracking Dog: 3 кадам
Infrared Tracking Dog: 3 кадам

Video: Infrared Tracking Dog: 3 кадам

Video: Infrared Tracking Dog: 3 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Image
Image
Infrared Tracking Dog
Infrared Tracking Dog

Качандыр бир убакта мен кызыктуу видеону таптым: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pgg but aa ches…

Бир караганда, бул чындыгында кызыктай сезилет, анан буттар алданат, бул дизайнердин мындай адаштыруучу окуяны чыгарышынын түпкү себеби эмнеде экенин билбейм … бул жөнөкөй IR сенсорунун жардамы менен мүмкүн эмес, же жөн гана контроллери жок, бирок жөнөкөй триоддор.

Мен ал жигити жана окуяны толук билбейм, жөн гана өзүм жасаганга аракет кылам. Мен жөн эле өзүмдүн дизайнымды жасадым, абдан жөнөкөй модулдар менен:

  • Maduino сыяктуу ар кандай Arduino шайкеш контроллери
  • L298N мотор айдоочу
  • 3x IR сенсор
  • Кээ бир жалпы секирүүчүлөр

1 -кадам: Тоскоолдуктарды аныктоо

Тоскоолдуктарды аныктоо
Тоскоолдуктарды аныктоо

Ал жерде тоскоолдукту аныктоо үчүн 3 IR сенсорлору колдонулат, ал эми сол/оң сенсор тоскоолдукту аныктады, аны саатка/саатка каршы багыттоо керек, ал эми орто сенсор табылганда, баары жайында.

3 сенсор алдыда кандайдыр бир тоскоолдукту аныктайт. Pin2/3/4 сыяктуу Maduino киргизүү казыктарына сигналдын пинин туташтырат;

Программалык камсыздоо катары мотор эмне кылыш керек экенин чечүү үчүн сенсордун чыгуу абалын текшериңиз:

if (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // Эгерде ортомчу сенсор тоскоолдукту байкаса, мотор токтоочу

{

analogWrite (EN, 0);

Stop ();

}

if (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // эгерде туура сенсор тоскоолдукту аныктап койсо, мотор артка чоң ылдамдыкта;

{

analogWrite (EN, жогорку ылдамдык);

Reverse ();

}

if (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // эгер

оң жана орто сенсор тоскоолдукту, мотордун ылдамдыгын төмөн ылдамдык менен аныктайт;

{

analogWrite (EN, төмөн ылдамдык);

Reverse ();

}

……

2 -кадам: Motor Control

Motor Control
Motor Control
Motor Control
Motor Control

Ал эми мотор айдоочусу моторду башкарат, жогорку/төмөнкү ылдамдыкта, сенсордун абалына жараша болот.

L298N модулун колдонуп, моторду кууп чыгаруу үчүн Maduino pin5/6 жана PWM pin (Maduino Pin9) менен L298N Пинди иштетип, модулду 9В менен кубаттаңыз:

int EN = 9; // PWM көзөмөлү

int highspeed = 80; // жогорку ылдамдыкты аныктаңыз

int lowspeed = 60; // төмөн ылдамдыкты аныктаңыз

жана андан кийин мотор ылдамдыгын көзөмөлдөсө болот:

analogWrite (EN, жогорку ылдамдык);

3 -кадам: Ал жерге бир нерсе орнотуңуз, мындай ит …

Ал жерге бир нерсе орнотуңуз, мындай ит …
Ал жерге бир нерсе орнотуңуз, мындай ит …

Сенсорлорду жана моторлорду орнотуп, бир нерсе жасаңыз, мен үчүн мен 1,5 жаштагы кызым менен ойногонду жакшы көрөм. Arduino кодун бул жерге жүктөп коюңуз.

Сунушталууда: