فهرست مطالب:
- مرحله 1: چیزهایی که ممکن است نیاز داشته باشید…
- مرحله 2: سخت افزار را وصل کنید
- مرحله 3: آردوینو را برنامه ریزی کنید
- مرحله 4: نرم افزار را نصب کنید
- مرحله 5: از برنامه رابط استفاده کنید
- مرحله ششم: خلاق شوید
تصویری: Servo Controller Servo Serial Controller: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:58
این یک کنترلر سریال ساده برای سرویس های متعدد بر اساس آردوینو است. (اولین آموزش من هم:))
بیشتر کارها در این زمینه بدست آوردن نرم افزار برای صحبت با 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. مریخ نورد زیر آب خوش بگذره !!
توصیه شده:
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96 تخته سنسورها: 7 مرحله
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards سنسورها: O objetivo desse tutorial & eacute؛ mostrar as etapas need & aacute؛ rias para configurar o ambiente de desenvolvimento، de modo que seja poss & iacute؛ vel comunicar com a Dragonboard 410c atrav & eacute؛ s de um computador / notebook usando comunica & ccedi
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 مرحله
Conexión Serial Arduino a Processing (acelerómetro En Anillo): خیلی از من در ارتباط با اطلاعات & oacute؛ n que viene برای puerto serial de Arduino a Processing پیش بینی کردم. Ac & aacute؛ les muestro la manera en que yo lo resuelvo، no es la & uacute؛ nica، pero es bastante efectiva، ya que en Processing، la recepc
رادار اولتراسونیک با استفاده از Arduino Nano و Serial Plotter: 10 مرحله
رادار اولتراسونیک با استفاده از Arduino Nano و Serial Plotter: در این دستورالعمل ما با اصول کتابخانه سروو و همچنین تنظیم سنسور اولتراسونیک آشنا می شویم و از آن به عنوان رادار استفاده می کنیم. خروجی این پروژه در مانیتور پلاتر سریال قابل مشاهده خواهد بود
UChip - Serial Over IR!: 4 مرحله
UChip-Serial Over IR!: ارتباطات بی سیم امروزه به یکی از ویژگی های کلیدی پروژه های ما تبدیل شده است و در مورد بی سیم صحبت می کنم ، اولین چیزی که به ذهنم می رسد Wi-Fi یا BT است ، اما مدیریت پروتکل های ارتباطی Wi-Fi یا BT اینطور نیست. کار آسانی است و مقدار زیادی مصرف می کند
Launchpad - Comunicación Serial Con Matlab: 6 مرحله
Launchpad - Comunicación Serial Con Matlab: Hola، bienvenido a este tutorial donde aprender & aacute؛ s a comunicar tu tarjeta LaunchPad TI Evaluation Kit con Matlab.En este tutorial se enfocar & aacute؛ a la conexi & oacute؛ n con la Tiva C y el usuario podr & aacute؛ migrar f & aacute؛ cilmente a una ta