Мазмуну:

Arduino Hot Wheels Speed Track Part 2 - Code: 5 Steps
Arduino Hot Wheels Speed Track Part 2 - Code: 5 Steps

Video: Arduino Hot Wheels Speed Track Part 2 - Code: 5 Steps

Video: Arduino Hot Wheels Speed Track Part 2 - Code: 5 Steps
Video: HotWheels Speed Track - Part #2 - The code and Testing 2024, Июль
Anonim
Image
Image

Бул долбоордун биринчи бөлүгүндө биз 2 нан тактасына прототип үчүн жабдыктарды курдук.

Жана бул бөлүктө биз кодду, анын кантип иштээрин карап чыгабыз жана андан кийин аны сынап көрөбүз.

Бүт кодду карап чыгуу жана иштөө кодунун көргөзмөсү үчүн жогорудагы видеону көрүүнү унутпаңыз.

1 -кадам: MASTER да, Кул да ошол эле кодексте

Код 2 бөлүктөн турат, бирок ошол эле файлдын ичинде. Мен #define жана #ifdef колдонуп, кайсы коддун компиляцияланарын же этибарга алынбай турганын аныктайм, андыктан MASTER нандын тактайы үчүн болгон кодду жана КУЛДУК такта үчүн болгон кодду бөлүп алам.

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

#ifdef MASTER

// Мастердин атайын коду бул жерде

#башка

#кулду аныктоо

// Кулдун атайын коду бул жерде

#endif

Мен дагы ушул эле ыкманы колдонуп жатам, MASTER түзүлүп жатканда, кулду аныктоо үчүн, сиз MASTERди аныктоо же иштетилбөө жөнүндө гана тынчсызданууңуз керек.

2 -кадам: BLUETOOTH модулдары Сериялык Окуу жана Жазуу аркылуу сүйлөшөт

Бул проектте КУЛДУК нандын үстөлү гана MASTER панели менен сүйлөшөт. МАСТЕР эч качан кайра сүйлөшпөйт, ал угуп гана турат, анан келген маалыматтарга жараша иш кылат.

Модулдар Arduino коддоо экосистемасында курулган Serial классын колдонуп сүйлөшөт жана угушат.

Bluetooth модулдары 38400 байда байланышат, андыктан эки коддук жол тең сериялык байланышын баштайт:

Serial.begin (38400);

ЖАНА КУЛ колдонот:

Serial.write (маалыматтар бул жерде);

MASTER менен сүйлөшүү үчүн, жана MASTER колдонот:

маалыматтар = Serial.read ();

Сериялык агымды угуу жана анын мазмунун окуу жана аны өзгөрмөнүн ичинде сактоо.

3 -кадам: Жарышты көзөмөлдөө

КУЛ МАСТЕРГЕ жарышта көбүрөөк же даяр режимде болсо, анын микро контроллерине туташкан жашыл баскыч аркылуу билдирет. Даяр режимде, IR сенсорлору эч нерсе кылбайт жана MASTER дисплейде 8 сызыкты көрсөтүп, даяр режимде экенин көрсөтөт.

КУЛ МАСТЕРГЕ жарыш башталаарын айтканда, КУЛ анын астындагы машиналардын өтүшү үчүн анын жанындагы IR сенсорлорун (жарыш жолунун башталышы) сурай баштайт.

Ар бир унаа ар бир IR сенсорунун астынан өткөн сайын, А (машина 1) же В (машина 2) МАСТЕРГЕ жөнөтөт.

МАСТЕР А же В алганда, ал ошол унаанын таймерин иштетет, андан кийин машинанын мара сызыгындагы тиешелүү IR сенсорунун астынан өтүшүн күтөт.

Дисплей ар бир 50 м сайын жаңыртылып турат жана ар бир машинанын учурдагы убактысын 2 ондук белгиси менен секундада көрсөтүү.

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

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/

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