فهرست مطالب:

سریال اندروید G1 برای ربات آردوینو: 8 مرحله
سریال اندروید G1 برای ربات آردوینو: 8 مرحله

تصویری: سریال اندروید G1 برای ربات آردوینو: 8 مرحله

تصویری: سریال اندروید G1 برای ربات آردوینو: 8 مرحله
تصویری: جایگزین برای بلبل جان😍 معرفی اپلیکیشن برای دیدن فیلم و سریال و انیمه و حتی فیلم های ترکی و کره‌ای😍🫢 2024, سپتامبر
Anonim
سریال اندروید G1 برای ربات آردوینو
سریال اندروید G1 برای ربات آردوینو
سریال اندروید G1 برای ربات آردوینو
سریال اندروید G1 برای ربات آردوینو
سریال اندروید G1 برای ربات آردوینو
سریال اندروید G1 برای ربات آردوینو

بیاموزید که چگونه تلفن همراه Android شما می تواند یک روبات را با استفاده از برد Arduino کنترل کند. این تلفن از طریق تلفن دیگر یا رایانه شخصی از طریق telnet فرمان می گیرد ، بنابراین می توانید ربات را از راه دور کنترل کنید. این پروژه در غیر این صورت G1 را تغییر نمی دهد ، بنابراین می توانید پس از بازکردن قفل ، از آن به عنوان تلفن معمولی خود استفاده کنید. چرا؟ با استفاده از قطعات الکترونیکی ارزان مانند بردهای آردوینو ، می توانید آنها را با تلفن 400 دلاری خود جفت کنید تا یک ربات عالی بسازید. افزودن GPS ، LCD ، سنسورهای حرکت ، wi-fi ، اتصالات تلفن همراه ، بلندگوها و موارد دیگر صدها دلار هزینه دارد ، اما تلفن شما قبلاً اینها را دارد! با هم ، برد اندروید G1 و آردوینو به شما این امکان را می دهند تا از وسایل الکترونیکی ارزان قیمت مانند سرووها و سنسورهای ساده استفاده کنید تا دستگاه های قدرتمندی مانند روبات ها ، حضور از راه دور یا اسباب بازی های سرگرم کننده برای کودکان بسازید. اطلاعات بیشتر در Cellbots.com. توجه: این پروژه در حال حاضر به Android G1 با دسترسی ریشه برای استفاده از خروجی سریال از تلفن به روبات آردوینو نیاز دارد. اگر می خواهید از نرم افزار تجاری اندروید استفاده کنید ، می توانید یک ماژول BlueTooth 20 دلاری به برد آردوینو خود اضافه کنید تا تلفن از طریق سریال BlueTooth با آن صحبت کند. تشکر ویژه: ما از Hacker Dojo در Mountain View ، CA تشکر می کنیم که ما را در ارتباط قرار داد ، از طریق لیست پستی اعضای فوق العاده به برخی از مسائل پیچیده کمک کرد و تراشه های 74LS04 را در انبار داشت. بیشتر مونتاژ در Tech Shop در Menlo Park انجام شد.

مرحله 1: اقلام مورد نیاز

موارد مورد نیاز
موارد مورد نیاز
موارد مورد نیاز
موارد مورد نیاز
موارد مورد نیاز
موارد مورد نیاز

برای تکمیل این آموزش به موارد زیر نیاز دارید: سخت افزار: - Android G1 Dev Phone (یا دستگاه Android دیگر با دسترسی ریشه و خروجی سریال) - Arduino (من از Freeduino SB استفاده می کنم اما هر کسی باید انجام دهد) - 3.3v تا 5v مبدل اگر از آردوینو 3.3v استفاده نمی کنید (من از تراشه 74LS04 با قیمت کمتر از 1 دلار استفاده می کنم اما سایر گزینه ها در دسترس هستند) - برد شکسته HTC USB برای G1 - تجهیزات لحیم کاری برای دو اتصال سریع - بدنه ربات با micro servos (مقوا ، اکریلیک ، گام ، چرخ ، هر چیزی انجام خواهد داد) نرم افزار: - محیط برنامه نویسی Android (ASE) - سرویس گیرنده Telnet برای رایانه شما (من از PuTTY در ویندوز استفاده می کنم) - محیط توسعه Arduino - (اختیاری) مشتری سریال برای رایانه شخصی شما (من همچنین از PuTTY در Windows برای این کار استفاده می کنم) - (اختیاری) SDK Android اگر می توانید دستورالعمل ها را دنبال کنید ، می توانید این آموزش را با دانش کمی از Python ، Arduino ، Android یا لوازم الکترونیکی تکمیل کنید. اگر می خواهید از یک LED چشمک زن فراتر بروید ، می خواهید آن چیزها را بدانید ، اما این کار شما را آغاز می کند.

مرحله 2: Android G1 با خروجی سریال فعال شده است

Android G1 با خروجی سریال فعال است
Android G1 با خروجی سریال فعال است
Android G1 با خروجی سریال فعال است
Android G1 با خروجی سریال فعال است
Android G1 با خروجی سریال فعال است
Android G1 با خروجی سریال فعال است

G1 قادر به ارسال دستورات سریال به خارج از پورت USB نیست و هیچ گزینه بومی برای فعال کردن آن وجود ندارد. اگر کاربر پیشرفته SDK Android هستید ، می توانید ساخت خود را انجام دهید ، اما من استفاده از Cyanogenmod 4.2.13 را انتخاب کردم. اگر دستگاههای Android دیگری را می شناسید که سریال آنها کار نمی کند ، آنها را به نظرات اضافه کنید.

به صورت اختیاری ، می توانید پیوندهای موجود در این قسمت را در مورد صحبت با G1 خود از طریق USB از رایانه خود دنبال کنید. اتصال سریال به USB برای این آموزش لازم نیست ، اما من از آن به عنوان یک بررسی عاقلانه برای اطمینان از اینکه تلفن در حال ارسال سریال است استفاده کردم. اگر از دستورالعمل دیگر برای تأیید کارکرد خروجی سریال استفاده نمی کنید ، می توانید این بررسی ساده را امتحان کنید: 1. برنامه ترمینال را در G1 باز کنید (همراه با سیانوژن است ، اما اگر تصویر دیگری دارید ، آن را از بازار بارگیری کنید) 2 با تایپ در cd/dev/3. به دایرکتوری/dev/بروید. ls (که یک L است) را تایپ کنید و در لیست برگشت شده به دنبال ttyMSM2 بگردید. اسکریپت پایتون که بعداً از آن استفاده خواهیم کرد ، دستورات را به دستور دهید آنها از اتصال سریال خارج شوند. از آنجا که این امر نیاز به دسترسی ریشه دارد ، باید هر بار که تلفن را راه اندازی مجدد می کنید مجوزها را تغییر دهید. برای انجام این کار: 1. برنامه ترمینال را در تلفن باز کنید 2. "chmod 777 /dev /ttyMSM2" را وارد کنید سپس می توانید در مرحله بعد اسکریپت پایتون را از ویرایش Scripting Android اجرا کنید و به ارسال خروجی سریال دسترسی داشته باشد.

مرحله 3: محیط برنامه نویسی Android (ASE) را با پایتون نصب کنید

محیط برنامه نویسی Android (ASE) را با پایتون نصب کنید
محیط برنامه نویسی Android (ASE) را با پایتون نصب کنید
محیط برنامه نویسی Android (ASE) را با پایتون نصب کنید
محیط برنامه نویسی Android (ASE) را با پایتون نصب کنید

اسکریپت هایی که برای ایجاد اتصال سوکت باز روی تلفن و ارسال دستورات به کار می گیریم در پایتون نوشته شده است. برای اجرای این برنامه در G1 به محیط برنامه نویسی Android نیاز داریم. اگر آن را در بازار نمی بینید ، می توانید آن را با اسکن بارکد در آن صفحه که به فایل apk در این صفحه پیوند دارد بارگیری کنید.

پس از نصب و اجرای ASE ، می خواهید ماژول پایتون را از منو اضافه کنید: 1. ASE را باز کنید و مطمئن شوید که اتصال اینترنت کار می کنید (wi-fi یا 3G) 2. دکمه منو را روی تلفن فشار داده و انتخاب کنید. مترجمان 3. منو را دوباره فشار دهید و Add را انتخاب کنید. Python را انتخاب کنید (در حال حاضر v2.6.2 هنگام نگارش این مقاله) و برخی از فایل های فشرده را بارگیری می کند. برای آشنایی با پایتون از طریق ASE اما لازم نیست

مرحله 4: برای راه اندازی برنامه پایتون ، اسکریپت Cellbot.py را کپی و اجرا کنید

برای راه اندازی برنامه پایتون ، اسکریپت Cellbot.py را کپی و اجرا کنید
برای راه اندازی برنامه پایتون ، اسکریپت Cellbot.py را کپی و اجرا کنید

این آموزش از یک اسکریپت پایتون برای "مغز" ربات استفاده می کند. جدیدترین کد را از پروژه منبع باز Google Code ما دریافت کنید. شما فقط به فایل cellbot.py نیاز دارید ، اما دیگران ممکن است در موارد مختلفی که می خواهید کاوش کنید به شما کمک کنند. من به سادگی تلفن را به اتصال USB کامپیوتر شخصی خود وصل کرده و درایو را قبل از کپی کردن فایل در/sdcard/ase/scripts وصل کردم.

این برنامه یک اتصال سوکت باز برای پذیرش یک جلسه Telnet ورودی ایجاد می کند. همچنین دستورات دریافتی را هنگام ارسال به پورت سریال روی صفحه چاپ می کند. این فایل را بر روی کارت SD تلفن در پوشه/ase/scripts/قرار دهید. مراحل دقیق بارگیری و اجرای اسکریپت ها: 1. اسکریپت cellbot.py را در دایرکتوری/ase/scripts/کارت SD SD کپی کنید 2. مطمئن شوید که پیاده شوید کارت SD را از رایانه خود در صورتی کپی کرده اید زیرا تلفن نمی تواند همزمان با رایانه شما به پرونده ها دسترسی پیدا کند. 3. برنامه Android Scripting Environment را باز کنید 4. برای راه اندازی روی cellbot.py کلیک کنید. باید تأیید کنید که دستگاه در حال حاضر آماده پذیرش جلسات تلنت ورودی در پورت 9002 است. نکته: حتماً "chmod 777 را اجرا کنید دستور/dev/ttyMSM2 "را از مرحله 3 ابتدا انجام دهید. برای یافتن آدرس IP تلفن به مرحله 5 مراجعه کنید.

مرحله 5: Telnet به G1 و آزمایش ارسال دستورات آن

Telnet Into the G1 and Test Sending It Commands
Telnet Into the G1 and Test Sending It Commands
Telnet Into the G1 and Test Sending Commands
Telnet Into the G1 and Test Sending Commands
Telnet Into the G1 and Test Sending Commands
Telnet Into the G1 and Test Sending Commands

تلفن باید آماده باشد تا بتوانید در آن تلفن کنید و دستوراتی را از رایانه خود برای آن ارسال کنید. آنها را برای تأیید آنچه دریافت می کند روی صفحه تلفن چاپ می کند. من از PuTTY در ویندوز استفاده کردم اما تأیید کردیم که minicom در مکینتاش عالی عمل می کند ، همانطور که در این دستورالعمل توضیح داده شده است.

ابتدا باید آدرس IP تلفن خود را پیدا کنید. با رفتن به منو> تنظیمات> کنترل های بی سیم> تنظیمات Wi-Fi و سپس فشار دادن اتصال فعلی در دسترس است. یک پیام نان تست پاپ آپ با آدرس IP فعلی در شبکه محلی ظاهر می شود. این را بنویسید زیرا هر زمان که می خواهید یک جلسه telnet از رایانه خود باز کنید ، از آن استفاده خواهید کرد. تخصیص IP معمولاً پس از چند روز معین منقضی می شود ، بنابراین ممکن است لازم باشد دوباره آن را بررسی کنید. توجه: این آموزش فرض می کند که رایانه شخصی و تلفن شما در یک شبکه محلی یکسان هستند. مسیریابی از خارج از شبکه محلی به تلفن ممکن است اما در اینجا پوشش داده نمی شود. کلاینت telnet دلخواه خود را باز کرده و به IP تلفن در پورت 9002. متصل شوید و از خط فرمان این کار را با استفاده از IP واقعی تلفن به عنوان "telnet 192.168.1.1 9002" انجام دهید. برخی از کاراکترها را تایپ کرده و enter را بزنید تا مشاهده شوند که روی صفحه گوشی نشان داده می شوند. می توانید q را تایپ کنید تا اسکریپت پایتون متوقف شود ، که باید جلسه ترمینال شما را ببندد. اگر به هر دلیلی نمی توانید از طریق Telnet وصل شوید و نیاز به از بین بردن برنامه دارید ، یک راه اندازی مجدد ساده تلفن باید این کار را انجام دهد. ممکن است کاربران پیشرفته بخواهند شناسه فرآیند را از طریق ps پیدا کنند و سپس برای متوقف کردن آن از kill استفاده کنند. پیشرفته: نسخه بعدی این می تواند به جای پذیرفتن دستورات از طریق Telnet ، یک سرور وب محلی را از طریق تلفن اجرا کند. ما همچنین در حال بررسی XMPP برای چت با روبات شما هستیم.

مرحله 6: یک دنده سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید

یک Shifter سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید
یک Shifter سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید
یک Shifter سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید
یک Shifter سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید
یک Shifter سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید
یک Shifter سطح 3.3 ولت به 5 ولت را به آردوینو وصل کنید

آردوینو مورد استفاده در این آموزش یک مدل 5 ولت است بنابراین ما باید سیگنال 3.3 ولت را که از G1 خارج می شود با استفاده از یک تغییر سطح تبدیل کنیم. باید بتوان مستقیماً به آردوینو 3.3 ولت متصل شد ، اما این چیزی نبود که من آزمایش کردم.

روشهای مختلفی برای نزدیک شدن به این مورد وجود دارد ، اما ما در این مثال از تراشه 74LS04 استفاده می کنیم. می توانید یکی را در اینجا جستجو کنید و احتمالاً قیمت آنها زیر 1 دلار است. من و تیم تیم خود را از Hacker Dojo در Mountain View ، CA گرفتیم ، اما این موارد بسیار رایج هستند و در هر کجا که چیپس فروخته یا اهدا می شود باید زیاد باشد. در سطح بالا ما به سادگی سیگنال TX را از برد شکست HTS USB به پین 1 تراشه 74LS04 ارسال می کنیم. برای کارکردن ، ما دوبار از تراشه عبور می کنیم و پین 4 را به پین RX در Freeduino SB می آوریم (اگر شما یک برد آردوینو دیگر دارید ، ممکن است پین سریال شما متفاوت باشد ، اما همه باید از این پشتیبانی کنند). این مراحل را انجام دهید تا سطح را تغییر دهید و برد USB HTC را وصل کنید (هنوز آن را به گوشی وصل نکنید و برق را به آردوینو وصل نکنید): 1. تراشه 74LS04 را روی بردبرد خود وارد کنید. اطمینان حاصل کنید که تراشه مانع از شکستن مرکز می شود تا پین ها کوتاه نشوند (حرکتی احمقانه در ابتدا انجام دادم). Ground) و 8 (TX0) زیرا ما فقط انتقال یک طرفه را برای این آموزش انجام می دهیم. 3. انتهای دیگر سیم (پایه 7) را به زمینی که روی بردبورد شما قرار دارد (که باید به زمین در آردوینو متصل باشد) وصل کنید. 4. انتهای دیگر سیم TX0 (پین 8) را به تخته نان وصل کنید روی پین 1 تراشه 74LS04 اجرا می شود. (برای مشاهده نمودار کامل تراشه یک تصویر جستجو کنید) 5. از سیم برای اتصال پایه 2 و 3 تراشه استفاده کنید 6. پایه 4 تراشه را به نقطه Arduino RX وصل کنید (پین 0 در Freeduino SB و Arduino Duemilanove) 7. پین 7 (GND) روی تراشه را برای تخته نان خود به زمین وصل کنید (که به زمین آردوینو نیز متصل می شود) 8. پین 14 (VCC) را به برق 5 ولت روی نان برد خود وصل کنید (که نیرو را از آردوینو دریافت می کند خروجی 5 ولت) اکنون باید آماده باشید که برد شکست HTC USB را به قسمت پایین گوشی متصل کرده و آردوینو را وصل کنید. جرقه ها و بوها را بررسی کنید و چیزها را لمس کنید تا مطمئن شوید خنک هستند. توجه: وقتی سروو موتورهای ربات باید روشن باشند ، کد فعلی cellbot LED #13 را روشن می کند. اگر هنوز ربات ندارید ، می توانید بررسی کنید که آیا LED روشن یا خاموش می شود تا کارکرد آن را تأیید کنید.

مرحله 7: برنامه Cellbots را بر روی آردوینو بارگذاری کنید

برنامه Cellbots را بر روی آردوینو بارگذاری کنید
برنامه Cellbots را بر روی آردوینو بارگذاری کنید
برنامه Cellbots را بر روی آردوینو بارگذاری کنید
برنامه Cellbots را بر روی آردوینو بارگذاری کنید

کد منبع آردوینو را از سایت پروژه Google Code ما دریافت کنید. برنامه Cellbots.pde Arduino را در ویرایشگر Arduino باز کنید. سپس آن را به برد آردوینو خود فشار دهید.

با باز کردن مانیتور سریال در ویرایشگر Arduino می توانید صحبت با کد Arduino را آزمایش کنید. این یک راه عالی برای آزمایش روبات یا دستگاه شما با صحبت مستقیم با Arduino قبل از اتصال همه چیز به تلفن است. کد دستورات سریال را به مانیتور سریال ارسال می کند تا کار خود را تأیید کند ، حتی اگر هنوز روبات خود را ساخته نشده اید. توجه: وقتی سیم به پین ورودی سریال RX متصل است ، نمی توانید برنامه ها را بر روی Arduino بارگذاری کنید. به بنابراین ممکن است بخواهید این یکی را یک سوئیچ قرار دهید ، اما من به سادگی آن را هنگامی که نیاز به بارگیری یک برنامه جدید داشتم ، از برق جدا کردم.

مرحله 8: کل فرایند را اجرا کنید

کل فرایند را اجرا کنید
کل فرایند را اجرا کنید
کل فرایند را اجرا کنید
کل فرایند را اجرا کنید
کل فرایند را اجرا کنید
کل فرایند را اجرا کنید

باید بتوانید برد USB HTC را به تلفن متصل کرده ، فایل cellbot.py را در ASE روشن کرده و جلسات ترمینال را در تلفن باز کنید. "H" را تایپ کنید تا تلفن سلام یا هر فرمان دیگری را از فایل README.txt بگوید.

یک "q" اسکریپت پایتون را در تلفن خارج می کند و سوکت ترمینال را می بندد. در اینجا خلاصه ای از نحوه کار همه اینها آمده است: 1. اسکریپت پایتون یک سوکت را برای پذیرش اتصالات تله نت ورودی باز می کند و فرمان ها را از پورت سریال 2 بازتاب می دهد. ما از طریق رایانه شخصی خود به تلفن در پورت 9002 به تلفن متصل می شویم و دستوراتی را که در صفحه 3 مشاهده می کنیم به آن ارسال می کنیم. برد USB HTS با پورت USB G1 ارتباط برقرار کرده و سیگنال 3.3v را به پین 74LS04 1. ارسال می کند. سیگنال از تراشه روی پین 2 خارج می شود ، در پین 3 باز می گردد و دوباره در پین 4 در 5 ولت 5 بیرون می آید. آردوینو ما سیگنال سریال را در پین RX 0 می پذیرد و از طریق برنامه Cellbot.pde 6 پردازش می کند. می توانید 'q' را برای از بین بردن اسکریپت پایتون و بستن اتصال telnet تایپ کنید اکنون که این فرایند بسیار پیچیده را برای ارسال دستورات اولیه به یک ربات آردوینو انجام داده اید ، وقت آن رسیده است که آن را هک کنید تا عالی تر شود! ما هنوز سریال دو طرفه ای نداریم ، بنابراین آردوینو نمی تواند دستورات را به تلفن ارسال کند ، اما در حال کار بر روی آن هستیم. با عضویت در وبلاگ ما در Cellbots.com در جریان باشید. درباره نویسندگان: تیم هیث پژوهشگر اصلی که این فرآیند را برای اولین بار در Tech Shop در Menlo Park ، جایی که او عضو است ، کنار هم گذاشت. رایان هیکمن برنامه نویس که روی کد پایتون و آردوینو کار می کرد و این دستورالعمل را تأیید کرد.

توصیه شده: