Мазмұны:

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 қадам
Бейне: Он знает… 2024, Қараша
Anonim
Image
Image

Бұл жобаның бірінші бөлігінде біз 2 нан тақтасында прототипке арналған жабдықты құрдық.

Бұл бөлімде біз кодты, оның қалай жұмыс істейтінін қарастырамыз, содан кейін оны тексереміз.

Жоғарыда көрсетілген бейнені қарап шығыңыз және жұмыс кодының көрсетілуін толық көріңіз.

1 -қадам: MASTER де, ҚҰЛ да сол кодта

Код 2 бөліктен тұрады, бірақ сол файлдың ішінде. Мен #define және #ifdef кодтарының қайсысы құрастырылатынын немесе еленбейтінін анықтау үшін қолданамын, сондықтан мен MASTER нан тақтасына арналған кез келген кодты және тек ҚҰЛ табаққа арналған кодты ажырата аламын.

Негізінде, егер MASTER анықталса, MASTER код блогының ішінде орналасқан кез келген код құрастырылады және сол блоктан тыс кез келген код компиляция кезінде жойылады.

#ifdef MASTER

// Негізгі коды мұнда

#басқасы

#ҚҰЛДЫ анықтаңыз

// Құлдың арнайы коды осында

#endif

Мен сонымен қатар MASTER құрастырылған кезде ҚҰЛДЫ #анықтау үшін сол әдісті қолданамын, сондықтан сіз MASTER -ді анықтау немесе оны анықтау үшін ҚҰЛДЫ қоспау туралы уайымдауыңыз керек.

2 -қадам: BLUETOOTH модульдері сериялық оқу және жазу арқылы сөйлеседі

Бұл жобада MASTER тақтасымен тек ҚҰЛ нан тақтасы сөйлеседі. MASTER ешқашан жауап бермейді, ол тек тыңдайды, содан кейін келіп түсетін мәліметтерді қолданады.

Модульдер Arduino кодтау экожүйесінде кіріктірілген Serial класының көмегімен сөйлеседі және тыңдайды.

Bluetooth модульдері 38400 байда байланысады, сондықтан екі кодтық жол сериялық байланыстарды инициализациялайды:

Serial.begin (38400);

Ал ҚҰЛ мыналарды қолданады:

Serial.write (деректер осында);

MASTER -мен сөйлесу үшін MASTER келесі әрекеттерді қолданады:

деректер = Serial.read ();

Сериялық ағынды тыңдау және оның мазмұнын оқу және оны айнымалы ішінде сақтау.

3 -қадам: жарысты бақылау

ҚҰЛ МАСТЕР-ге оның микроконтроллерге қосылған жасыл түйме арқылы жарыста көбірек немесе дайын режимде екенін айтады. Дайын режимде IR сенсорлары ештеңе жасамайды, ал MASTER дисплейде оның дайын күйде екенін көрсету үшін 8 сызықша көрсетеді.

ҚҰЛ МАСТЕРГЕ жарыс басталатынын айтқан кезде, ҚҰЛ көліктердің астынан өтуі үшін оның жанындағы инфрақызыл сенсорларды (жарыс жолының басталуы) сұрай бастайды.

Әрбір көлік әрбір ИҚ сенсорының астынан өткенде, ол MASTER -ге A (автомобиль 1) немесе В (автомобиль 2) жібереді.

MASTER A немесе B алған кезде, ол нақты машинаның таймерін қосады, содан кейін машинаның мәре сызығындағы сәйкес IR сенсорының астынан өтуін күтеді.

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

Екі машина да мәреге жеткенде, 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/

Ұсынылған: