فهرست مطالب:

پیست سرعت آردوینو Hot Wheels قسمت #2 - کد: 5 مرحله
پیست سرعت آردوینو Hot Wheels قسمت #2 - کد: 5 مرحله

تصویری: پیست سرعت آردوینو Hot Wheels قسمت #2 - کد: 5 مرحله

تصویری: پیست سرعت آردوینو Hot Wheels قسمت #2 - کد: 5 مرحله
تصویری: چرا من L4D3 را می خواهم 2024, نوامبر
Anonim
Image
Image

در قسمت اول این پروژه ما سخت افزار نمونه اولیه را روی 2 تخته نان تهیه کردیم.

و در این قسمت به بررسی نحوه عملکرد کد می پردازیم و سپس آن را آزمایش می کنیم.

حتماً ویدیوی بالا را برای بررسی کامل کد و ویترین کد کار تماشا کنید.

مرحله 1: هر دو MASTER و SLAVE در همان کد

کد در 2 قسمت است ، اما داخل یک فایل است. من از #define و #ifdef برای تعیین کدی که کامپایل یا نادیده گرفته می شود استفاده می کنم تا بتوانم هر کدی را که فقط برای breadboard MASTER است و کدی را که فقط برای breadboard SLAVE است جدا کنم.

اساساً ، اگر MASTER تعریف شده پیدا شود ، هر کدی که در بلوک کد MASTER قرار دارد کامپایل می شود و هر کدی خارج از آن بلوک در زمان کامپایل حذف می شود.

#ifdef MASTER

// کد خاص استاد اینجا است

#دیگر

#SLAVE را تعریف کنید

// کد مخصوص Slave در اینجا است

#اندیف

من همچنین از همین تکنیک برای #تعریف SLAVE هنگام تنظیم MASTER استفاده می کنم ، بنابراین فقط باید نگران تعریف MASTER باشید یا اینکه SLAVE را برای تعریف فعال نکنید.

مرحله 2: ماژول های BLUETOOTH از طریق سریال خواندن و نوشتن صحبت کنید

در این پروژه فقط تخته نان SLAVE با تخته نان MASTER صحبت می کند. MASTER هرگز پاسخ نمی دهد ، فقط گوش می دهد و سپس به داده های وارد شده عمل می کند.

ماژول ها با استفاده از کلاس Serial ساخته شده در اکوسیستم کدگذاری آردوینو صحبت و گوش می دهند.

ماژول های بلوتوث با سرعت 38400 ارتباط برقرار می کنند ، بنابراین هر دو مسیر کد ارتباطات سریال خود را با استفاده از:

Serial.begin (38400) ؛

و SLAVE از موارد زیر استفاده می کند:

Serial.write (اطلاعات در اینجا) ؛

برای صحبت با MASTER و MASTER از موارد زیر استفاده می کند:

data = Serial.read ()؛

برای گوش دادن به جریان سریال و خواندن مطالب آن و ذخیره آن در یک متغیر.

مرحله 3: کنترل مسابقه

SLAVE از طریق دکمه سبز متصل به میکرو کنترلر به MASTER می گوید که در حالت مسابقه بیشتر است یا آماده است. در حالت آماده ، سنسورهای IR هیچ کاری انجام نمی دهند و MASTER 8 خط تیره روی صفحه نشان می دهد تا نشان دهد در حالت آماده به کار است.

وقتی SLAVE به MASTER می گوید که مسابقه ای شروع می شود ، SLAVE شروع به بررسی حسگرهای IR در طرف خود (شروع مسیر مسابقه) می کند تا خودروها از زیر آن عبور کنند.

با عبور هر خودرو از زیر هر سنسور IR ، یک A (ماشین 1) یا B (ماشین 2) به MASTER ارسال می کند.

هنگامی که MASTER یک A یا B دریافت می کند ، تایمر را برای ماشین خاص فعال می کند و سپس منتظر می ماند تا ماشین از زیر سنسور IR مربوطه در خط پایان عبور کند.

نمایشگر هر 50 میلی ثانیه به روز می شود تا زمان فعلی هر خودرو را در ثانیه با 2 رقم اعشار نشان دهد.

هنگامی که هر دو خودرو به خط پایان رسیدند ، MASTER تصمیم می گیرد که کدام خودرو سریعتر بوده و آن زمان روی صفحه نمایش نشان می دهد تا برنده را نشان دهد.

مرحله 4: بقیه کد

بقیه کد فقط یک کد کاربردی است که یا نمایش داده ها را روی صفحه 8 رقمی کنترل می کند ، یا منطق را فشار می دهد و غیره را فشار می دهد.

در پایان ویدئو در بخش معرفی این پروژه ، من نمونه ای از کد را که روی 2 تخته نان اجرا می شود نشان می دهم ، بنابراین مطمئن شوید که آن را بررسی کرده اید!

می توانید کد این پروژه را از repo github من بگیرید.

مرحله 5: بعدی چیست؟

فعلا همین … در قسمت 3 ما به حرکت اجزاء از روی نان و بر روی چیزی دائمی نگاه خواهیم کرد … با ما همراه باشید!

امیدوارم از این پروژه لذت برده باشید!

مرا دنبال کنید در:

www.youtube.com/c/unexpectedmaker

twitter.com/unexpectedmaker

www.facebook.com/unexpectedmaker

www.instagram.com/unexpectedmaker

www.tindie.com/stores/seonr/

توصیه شده: