فهرست مطالب:

Servo Controller Servo Serial Controller: 6 مرحله
Servo Controller Servo Serial Controller: 6 مرحله

تصویری: Servo Controller Servo Serial Controller: 6 مرحله

تصویری: Servo Controller Servo Serial Controller: 6 مرحله
تصویری: Control Servo motor with a Push Button: Move Servo and Return SPB-1 2024, جولای
Anonim
سرولو کنترلر مبتنی بر آردوینو
سرولو کنترلر مبتنی بر آردوینو
سرولو کنترلر مبتنی بر آردوینو
سرولو کنترلر مبتنی بر آردوینو

این یک کنترلر سریال ساده برای سرویس های متعدد بر اساس آردوینو است. (اولین آموزش من هم:))

بیشتر کارها در این زمینه بدست آوردن نرم افزار برای صحبت با arduino و ایجاد پروتکلی برای انتقال داده ها بود. در مورد سخت افزار تنها چیزی که من استفاده کردم دو سروو (سروال استاندارد Parallax در اینجا بود) یک Sparkfun Arduino ProtoShield و یک Arduino Duemilanove با ATMEGA328 بود ، اما اکثر این قطعات را می توان با موارد مشابه جایگزین کرد. من این پروژه را به عنوان بخشی از یک سیستم RC تصور کردم ، اما راه اندازی ارتباط زمان زیادی را صرف کرد. اگر کسی پیشرفت ، ایده یا اشکالی دارد لطفاً نظر دهید. ویرایش: من این را چندی پیش نوشتم ، به تازگی باید آن را منتشر کنم.

مرحله 1: چیزهایی که ممکن است نیاز داشته باشید…

چیزهایی که ممکن است نیاز داشته باشید…
چیزهایی که ممکن است نیاز داشته باشید…
چیزهایی که ممکن است نیاز داشته باشید…
چیزهایی که ممکن است نیاز داشته باشید…

برای ساختن این مورد به برخی از موارد نیاز خواهید داشت. 1. برد آردوینو (شما انتخاب می کنید) 2. دو (یا یک) سروو 3. سیم جامپر 4. Visual Studio 2008 Express - پیوند (اختیاری) 5. Arduino IDE - پیوند با عرض پوزش از طرفداران لینوکس و اپل ، برنامه من فقط در حال اجرا است در حال حاضر ، اما همچنان می توانید دستورات سریال را بدون تغییر کد به arduino ارسال کنید.

مرحله 2: سخت افزار را وصل کنید

سخت افزار را وصل کنید
سخت افزار را وصل کنید

در این مرحله هیچ چیز پیچیده نیست. فقط یک سروو را به پین 9 و دیگری را به پین 10 وصل کنید.

مرحله 3: آردوینو را برنامه ریزی کنید

آردوینو را برنامه ریزی کنید
آردوینو را برنامه ریزی کنید

حالا می توانید طرح را روی آردوینو بارگذاری کنید.

در اینجا یک تجزیه ساده در کد وجود دارد: #شامل Servo myservo؛ // ایجاد شیء سروو برای کنترل سروو Servo myservo1؛ int incomingByte = 0 ، datacount = 0 ، counter = 0 ، ready = 0 ؛ // برای داده های سریال ورودی داده های char [10] ؛ const char verify [8] = "ma11hew"؛ فرمان char [3]؛ void setup () {myservo.attach (9)؛ myservo1.attach (10) ؛ Serial.begin (38400) ؛ // پورت سریال را باز می کند ، سرعت داده را تعیین می کند Serial.println ("سلام آردوینو اینجا!") ؛ // اضافه شده است تا به شناسایی پورت سریال کمک کند این فقط پورت سریال و سرویس ها را تنظیم می کند. int i؛ برای (i = 0؛ i <180؛ i ++) {myservo.write (i)؛ تأخیر (15) ؛ } myservo.write (5)؛ برای (i = 0؛ i <180؛ i ++) {myservo1.write (i)؛ تأخیر (15) ؛ } myservo1.write (5)؛ } حرکت رفت و برگشت ساده برای تأیید صحت عملکرد سرووها. void loop () {ready = 0؛ شمارنده = 0 ؛ while (1 == 1) {if (Serial.read ()! = تأیید [counter]) {break؛ } if (counter == 6) {تأخیر (20)؛ فرمان [0] = Serial.read ()؛ فرمان [1] = Serial.read ()؛ // if (Serial.read () == ((فرمان [1] * 12)٪ 8)) // {آماده = 1؛ //} Serial.println ("دستور ذخیره شده") ؛ } شمارنده ++؛ تأخیر (2) ؛ } این بافر سریال را برای رشته مجوز صحیح بررسی می کند و سپس دو بایت برای فرمان می گیرد. اگر عبارت اظهار شده اجازه می دهد تا یک چک موقت ایجاد شود ، اما رابط کاربری دستی را سخت می کند. آماده را می توان روی 0 تنظیم کرد تا دستورات مانند داده های خراب تجزیه نشوند. // جستجو در دستورات if (ready == 1) {if (command [0] == 'T') {command [0] = 0؛ Serial.print ("کنترل دریچه گاز روی پین 9 تا:") ؛ Serial.println (نقشه (فرمان [1] ، 32 ، 126 ، 2 ، 180) ، DEC) ؛ myservo.write (نقشه (فرمان [1] ، 32 ، 126 ، 2 ، 180)) ؛ } if (فرمان [0] == 'S') {فرمان [0] = 0؛ Serial.print ("کنترل دریچه گاز روی پین 10 تا:") ؛ Serial.println (نقشه (فرمان [1] ، 32 ، 126 ، 2 ، 180) ، DEC) ؛ myservo1.write (نقشه (فرمان [1] ، 32 ، 126 ، 2 ، 180)) ؛ }}} بقیه کد این است که در فرمان دستورات معتبر (T یا S.) را جستجو کنید ، در صورت مطابقت ، بایت بعدی طول می کشد و به سروو ارسال می شود. بیشتر روی نقشه (فرمان [1] ، 32 ، 126 ، 2 ، 180) بعداً … کد در اینجا برای هر چیز دیگری که ممکن است نیاز داشته باشید قابل افزایش است (به عنوان مثال چراغ ها ، موتورها ، IR ، و غیره) این کد باید بدون شماره کار کند. اصلاحات

مرحله 4: نرم افزار را نصب کنید

نصب نرم افزار
نصب نرم افزار

من دو راه برای نصب این برنامه نصب دارم: نصب کننده خود استخراج کننده را در زیر بارگیری کرده و اجرا کنید. در حین نصب گزینه نصب منابع را خواهید داشت. بسته باینری نصاب ، dll های c ++ core را نصب می کند ، بنابراین می توان آن را بدون رایانه c ++ نصب کرد. پس از اتمام نصب ، می توانید آن را از روی دسکتاپ یا منوی شروع اجرا کنید. zip way (تایید نشده): بارگیری و اجرا کنید ، باید کار کند. شاید. (بایگانی zip دارای همان ساختار پوشه ای است که توسط نصب کننده و بدون منابع ایجاد شده است. من دستگاهی ندارم که بدون استودیو تصویری آن را آزمایش کند ، بنابراین ممکن است کار نکند.)

مرحله 5: از برنامه رابط استفاده کنید

از برنامه رابط استفاده کنید
از برنامه رابط استفاده کنید
از برنامه رابط استفاده کنید
از برنامه رابط استفاده کنید

برای استفاده از برنامه ابتدا نرخ baud تعریف شده در طرح آردوینو را انتخاب کنید. طرح اولیه اصلاح نشده به طور پیش فرض روی 38400 baud است اما می تواند متناسب با نیازهای شما برای مواردی مانند پیوند رادیویی کندتر تغییر کند. توجه داشته باشید: نرخ باود بالاتر از 38400 بسیار پایدار نبوده است ، من فکر می کنم این امر به این دلیل است که قبل از پردازش داده ها ، uart پر می شود. سپس ، پورت COM را برای استفاده انتخاب کنید. برنامه به طور پیش فرض روی COM4 تغییر می کند ، مطمئن شوید که آن را تغییر می دهید وگرنه برنامه خراب می شود. در نهایت روی open کلیک کنید. اگر همه چیز خوب پیش رفت ، برنامه پورت سریال انتخاب شده را با نرخ باود انتخاب شده باز می کند. اگر نه ، برنامه احتمالاً با یک استثنا بدون کنترل خراب می شود. مطمئن شوید که پورت صحیح است و دوباره امتحان کنید. از جعبه های متنی برای ارسال دستورات مستقیم به آردوینو استفاده کنید. "نقشه (فرمان [1] ، 32 ، 126 ، 2 ، 180)" تمام 94 فرمان ممکن ، * فاصله * تا ~ را اندازه گیری می کند ، که توسط آردوینو در ASCII قابل خواندن است تا 2 تا 180 برای سروو. هر بایت کمتر از ASCII 32 (فاصله) یا بالای 126 (~) به طور پیش فرض تا 63 (؟) نوارهای آهنگ رابط eaiser را برای دستورات مستقیم ارائه می دهد. در هر مرحله یک دستور سریال به آردوینو به صورت تدریجی ارسال می شود.

مرحله ششم: خلاق شوید

خلاق باش!
خلاق باش!
خلاق باش!
خلاق باش!

به چیزهای جالبی فکر کنید که با این کار درست کنید. برخی ایده ها: 1. دریچه گاز از راه دور برای ماشین. 2. سوار دوربین سه بعدی 3. مریخ نورد زیر آب خوش بگذره !!

توصیه شده: