Агуулгын хүснэгт:

Arduino Hot Wheels Speed Track 2 -р хэсэг - Код: 5 алхам
Arduino Hot Wheels Speed Track 2 -р хэсэг - Код: 5 алхам

Видео: Arduino Hot Wheels Speed Track 2 -р хэсэг - Код: 5 алхам

Видео: Arduino Hot Wheels Speed Track 2 -р хэсэг - Код: 5 алхам
Видео: Трасса с измерением скорости для машинок HotWheels (hot-wheels-speed-track-2) 2024, Арваннэгдүгээр
Anonim
Image
Image

Энэ төслийн эхний хэсэгт бид 2 талбар дээр прототипийн тоног төхөөрөмжийг бүтээсэн.

Мөн энэ хэсэгт бид код, энэ нь хэрхэн ажилладаг, цааш нь туршиж үзэх болно.

Дээрх видеог үзэхийн тулд кодыг бүхэлд нь хянаж үзэх, ажлын кодыг харуулах хэрэгтэй.

Алхам 1: MASTER ба SLAVE хоёулаа ижил кодтой

Код нь 2 хэсэгтэй боловч нэг файл дотор байна. Би аль кодыг эмхлэх эсвэл үл тоомсорлохыг тодорхойлохын тулд #define ба #ifdef -ийг ашигладаг тул зөвхөн MASTER талхны самбар болон боолын талбарын кодыг ялгаж салгаж болно.

Үндсэндээ хэрэв тодорхойлсон MASTER олдвол MASTER кодын блок доторх бүх кодыг эмхэтгэх бөгөөд уг блокоос гадуурх аливаа кодыг хөрвүүлэх үед устгах болно.

#ifdef МАСТЕР

// Мастерын тусгай код энд байна

#өөр

#Боолыг тодорхойлох

// Боолын тусгай код энд байна

#endif

Би мөн MASTER -ийг эмхэтгэх үед боолчлолыг тодорхойлохын тулд ижил аргыг ашиглаж байгаа тул та зөвхөн MASTER -ийг тодорхойлох эсвэл боолчлолыг идэвхжүүлэхгүй байх талаар санаа зовох хэрэгтэй болно.

Алхам 2: BLUETOOTH модулиуд цувралаар унших, бичих

Энэ төсөлд зөвхөн БОЛОН талхны самбар нь MASTER талхны самбартай ярьдаг. МАСТЕР хэзээ ч эргэж ярьдаггүй, зөвхөн сонсож, дараа нь орж ирж буй өгөгдлийг ажиллуулдаг.

Модулиуд нь Arduino кодчилсон экосистемд суулгагдсан Serial анги ашиглан ярьж, сонсдог.

Bluetooth модулиуд нь 38400 baud дээр холбогддог тул кодын хоёр зам нь цуваа холболтоо дараах байдлаар эхлүүлдэг.

Цуваа эхлэх (38400);

Мөн боол нь дараахь зүйлийг ашигладаг.

Serial.write (энд байгаа өгөгдөл);

МАСТЕР -тай ярилцахын тулд МАСТЕР дараахь зүйлийг ашигладаг.

өгөгдөл = Serial.read ();

Цуваа дамжуулалтыг сонсож, агуулгыг нь уншиж хувьсагчийн дотор хадгалах.

Алхам 3: Уралдааныг хянах

SLAVE нь MASTER-д уралдааны горимд байгаа эсвэл бэлэн горимд байгаа эсэхийг микро контроллерт холбогдсон ногоон товчлуураар дамжуулан хэлдэг. Бэлэн горимд IR мэдрэгч юу ч хийхгүй бөгөөд MASTER нь бэлэн горимд байгааг харуулахын тулд 8 зураасыг дэлгэц дээр харуулна.

Боол нь МАСТЕР -д уралдаан эхлэх гэж байгааг хэлэхэд, боол нь машиныг доороос нь өнгөрүүлэхийн тулд хажуугийн IR мэдрэгчийг (уралдааны замын эхлэл) шалгаж эхэлдэг.

Машин бүр IR мэдрэгч бүрийн доор өнгөрөхдөө A (машин 1) эсвэл В (машин 2) -ыг MASTER руу илгээдэг.

MASTER нь A эсвэл B хүлээн авахдаа тухайн машины таймерыг идэвхжүүлж, дараа нь барианы шугам дээрх харгалзах IR мэдрэгчийн доор машин өнгөрөхийг хүлээнэ.

Дэлгэцийг 50 м тутамд шинэчилж, машин тус бүрийн одоогийн цагийг аравтын бутархай 2 оронтой секундээр харуулна.

Хоёр машин хоёулаа барианы шугамд очсоны дараа МАСТЕР аль машин хамгийн хурдан болохыг шийдэж, тэр үед дэлгэц дээр гарч ирэн ялагчийг харуулна.

Алхам 4: Кодын үлдсэн хэсэг

Кодын үлдсэн хэсэг нь өгөгдлийг 8 оронтой дэлгэц дээр харуулах, эсвэл товчлуур дарах логикийг зохицуулах хэрэгсэл юм.

Энэ төслийн танилцуулга хэсэгт байгаа видеоны төгсгөлд би 2 талхны самбар дээр ажилладаг кодын жишээг харуулсан тул үүнийг сайтар шалгаж үзээрэй.

Та энэ төслийн кодыг миний github репо дээрээс авах боломжтой.

Алхам 5: Дараа нь юу хийх вэ?

Одоохондоо ийм байна … 3 -р хэсэгт бид бүрэлдэхүүн хэсгүүдийг талхны самбараас өөр илүү байнгын зүйл рүү шилжүүлэх талаар авч үзэх болно … анхааралтай байгаарай!

Энэ төсөл танд таалагдсан гэж найдаж байна!

Намайг дагаарай:

www.youtube.com/c/unexpectedmaker

twitter.com/unexpectedmaker

www.facebook.com/unexpectedmaker

www.instagram.com/unexpectedmaker

www.tindie.com/stores/seonr/

Зөвлөмж болгож буй: