فهرست مطالب:
- مرحله 1: تجهیزات
- مرحله 2: راه اندازی Arduino
- مرحله 3: برنامه نهایی
- مرحله 4: راهنمای ویدئو
- مرحله 5: نتیجه گیری
![کاشی های پیانو پخش بازوی ربات: 5 مرحله کاشی های پیانو پخش بازوی ربات: 5 مرحله](https://i.howwhatproduce.com/images/001/image-322-69-j.webp)
تصویری: کاشی های پیانو پخش بازوی ربات: 5 مرحله
![تصویری: کاشی های پیانو پخش بازوی ربات: 5 مرحله تصویری: کاشی های پیانو پخش بازوی ربات: 5 مرحله](https://i.ytimg.com/vi/EhvGkwRb7OI/hqdefault.jpg)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
![کاشی های پیانو در حال بازی بازوی ربات کاشی های پیانو در حال بازی بازوی ربات](https://i.howwhatproduce.com/images/001/image-322-70-j.webp)
این گروه متشکل از 2 مهندس اتوماسیون از UCN است که ایده درخشانی را به وجود آوردند که ما برای انجام و توسعه آن انگیزه داریم. این ایده مبتنی بر یک برد آردوینو است که یک بازوی روباتیک را کنترل می کند. برد آردوینو مغز عملیات است و سپس محرک عملیات ، بازوی Robotic ، آنچه را که لازم است انجام می دهد. توضیحات دقیق تر بعداً بیان می شود.
مرحله 1: تجهیزات
![تجهیزات تجهیزات](https://i.howwhatproduce.com/images/001/image-322-71-j.webp)
بازوی ربات:
Phantomx Pincher Robot Arm Kit Maek II (https://learn.trossenrobotics.com/38-interbotix-ro…)
نرم افزار روبات- https://www.arduino.cc/fa/Main/OldSoftwareRelease… دوربین تشخیص رنگ:
دوربین CMUcam5 Pixy - (https://charmedlabs.com/default/pixy-cmucam5/)
نرم افزار - PixyMon (https://cmucam.org/projects/cmucam5/wiki/Install_PixyMon_on_Windows_Vista_7_8)
مرحله 2: راه اندازی Arduino
![راه اندازی آردوینو راه اندازی آردوینو](https://i.howwhatproduce.com/images/001/image-322-72-j.webp)
در اینجا می توانید تنظیمات روی برد را مشاهده کنید ، که بسیار آسان است.
در سمت چپ منبع تغذیه قرار دارد.
وسط برای اولین سروو است ، که بعداً به سروهای دیگر متصل می شود ، سروو توسط سروو.
قسمت پایینی جایی است که ما برد را از طریق رایانه یا لپ تاپ کنترل می کنیم ، که در انتهای دیگر ورودی USB دارد.
مرحله 3: برنامه نهایی
||| برنامه |||
#عبارتند از
#شامل #شامل "poses.h" #include // Pixy Library #include
#تعریف POSECOUNT 5
BioloidController bioloid = BioloidController (1000000)؛
const int SERVOCOUNT = 5؛ شناسه int ؛ int pos؛ بولی IDCheck؛ بولی RunCheck؛
void setup () {pinMode (0، OUTPUT)؛ ax12SetRegister2 (1 ، 32 ، 50) ؛ // شماره مشترک 1 ثبت 32 را روی سرعت 50 تنظیم کنید. ax12SetRegister2 (2 ، 32 ، 50) ؛ // شماره مشترک 2 را ثبت کنید 32 را روی سرعت 50. ax12SetRegister2 (3 ، 32 ، 50) ؛ // تنظیم شماره مشترک 3 ثبت 32 در سرعت 50. ax12SetRegister2 (4، 32، 50)؛ // شماره مشترک 4 ثبت 32 در سرعت 50. ax12SetRegister2 (5، 32، 100)؛ // تنظیم شماره مشترک 5 ثبت 32 تا سرعت 100. // مقداردهی اولیه id = 1؛ pos = 0؛ IDCheck = 1 ؛ RunCheck = 0 ؛ // بازکردن پورت سریال Serial.begin (9600) ؛ تأخیر (500) ؛ Serial.println ("###########################") ؛ Serial.println ("ارتباط سریال برقرار شد.") ؛
// Check Lipo Battery Voltage CheckVoltage ()؛
// اسکن Servos ، موقعیت بازگشت MoveTest ()؛ MoveHome ()؛ MenuOptions ()؛ RunCheck = 1 ؛ }
void loop () {// سنسور را بخوانید: int inByte = Serial.read ()؛
سوئیچ (inByte) {
مورد '1': MovePose1 ()؛ زنگ تفريح؛
مورد '2': MovePose2 ()؛ زنگ تفريح؛ مورد '3': MovePose3 ()؛ زنگ تفريح؛
مورد '4': MovePose4 ()؛ زنگ تفريح؛
مورد '5': MoveHome ()؛ زنگ تفريح؛ مورد '6': گرفتن ()؛ زنگ تفريح؛
مورد '7': LEDTest ()؛ زنگ تفريح؛
مورد '8': RelaxServos ()؛ زنگ تفريح؛ }}
void CheckVoltage () {// منتظر بمانید ، سپس ولتاژ (ایمنی LiPO) ولتاژ شناور = (ax12GetRegister (1 ، AX_PRESENT_VOLTAGE ، 1)) / 10.0 را بررسی کنید ؛ Serial.println ("###########################") ؛ Serial.print ("ولتاژ سیستم:") ؛ Serial.print (ولتاژ) ؛ Serial.println ("ولت.") ؛ if (ولتاژ 10.0) {Serial.println ("سطح ولتاژ اسمی.") ؛ } if (RunCheck == 1) {MenuOptions ()؛ } Serial.println ("###########################") ؛ }
void MoveHome () {تاخیر (100)؛ // توصیه می شود مکث bioloid.loadPose (صفحه اصلی) ؛ // بارگذاری ژست از FLASH ، در بافر nextPose bioloid.readPose ()؛ // خواندن در موقعیتهای فعلی سروو در بافر curPose Serial.println ("###########################") ؛ Serial.println ("انتقال سرویس ها به موقعیت اصلی") ؛ Serial.println ("###########################") ؛ تاخیر (1000) ؛ bioloid.interpolateSetup (1000)؛ // setup for interpolation from current-> next over 1/2 a second while (bioloid.interpolating> 0) {// این کار را انجام دهید در حالی که هنوز به ژست جدید خود نرسیده ایم bioloid.interpolateStep ()؛ // در صورت لزوم سرویس ها را جابجا کنید. تاخیر (3) ؛ } if (RunCheck == 1) {MenuOptions ()؛ }}
void MovePose1 () {تاخیر (100)؛ // توصیه می شود مکث bioloid.loadPose (Pose1) ؛ // بارگذاری ژست از FLASH ، در بافر nextPose bioloid.readPose ()؛ // خواندن در موقعیتهای فعلی سروو در بافر curPose Serial.println ("###########################") ؛ Serial.println ("انتقال سرویس ها به موقعیت اول") ؛ Serial.println ("###########################") ؛ تاخیر (1000) ؛ bioloid.interpolateSetup (1000)؛ // setup for interpolation from current-> next over 1/2 a second while (bioloid.interpolating> 0) {// این کار را انجام دهید در حالی که هنوز به ژست جدید خود نرسیده ایم bioloid.interpolateStep ()؛ // در صورت لزوم سرویس ها را جابجا کنید. تاخیر (3) ؛ } SetPosition (3 ، 291) ؛ // موقعیت مفصل 3 را روی "0" تاخیر (100) تنظیم کنید ؛ // منتظر حرکت مفصل در صورت (RunCheck == 1) {MenuOptions ()؛ }}
void MovePose2 () {تاخیر (100)؛ // توصیه می شود مکث bioloid.loadPose (Pose2)؛ // بارگذاری ژست از FLASH ، در بافر nextPose bioloid.readPose ()؛ // خواندن در موقعیتهای فعلی سروو در بافر curPose Serial.println ("###########################") ؛ Serial.println ("انتقال سرویس ها به موقعیت دوم") ؛ Serial.println ("###########################") ؛ تاخیر (1000) ؛ bioloid.interpolateSetup (1000)؛ // setup for interpolation from current-> next over 1/2 a second while (bioloid.interpolating> 0) {// این کار را انجام دهید در حالی که هنوز به ژست جدید خود نرسیده ایم bioloid.interpolateStep ()؛ // در صورت لزوم سرویس ها را جابجا کنید. تاخیر (3) ؛ } SetPosition (3 ، 291) ؛ // موقعیت مفصل 3 را روی "0" تاخیر (100) تنظیم کنید ؛ // منتظر حرکت مفصل در صورت (RunCheck == 1) {MenuOptions ()؛ }} void MovePose3 () {تاخیر (100)؛ // توصیه می شود مکث bioloid.loadPose (Pose3)؛ // بارگذاری ژست از FLASH ، در بافر nextPose bioloid.readPose ()؛ // خواندن در موقعیتهای فعلی سروو در بافر curPose Serial.println ("###########################") ؛ Serial.println ("انتقال سرویس ها به موقعیت سوم") ؛ Serial.println ("###########################") ؛ تاخیر (1000) ؛ bioloid.interpolateSetup (1000)؛ // setup for interpolation from current-> next over 1/2 a second while (bioloid.interpolating> 0) {// این کار را انجام دهید در حالی که هنوز به ژست جدید خود نرسیده ایم bioloid.interpolateStep ()؛ // در صورت لزوم سرویس ها را جابجا کنید. تاخیر (3) ؛ } SetPosition (3 ، 291) ؛ // موقعیت مفصل 3 را روی "0" تاخیر (100) تنظیم کنید ؛ // منتظر حرکت مفصل در صورت (RunCheck == 1) {MenuOptions ()؛ }}
void MovePose4 () {تاخیر (100)؛ // توصیه می شود مکث bioloid.loadPose (Pose4)؛ // بارگذاری ژست از FLASH ، در بافر nextPose bioloid.readPose ()؛ // خواندن در موقعیتهای فعلی سروو در بافر curPose Serial.println ("###########################") ؛ Serial.println ("انتقال سرویس ها به موقعیت 4") ؛ Serial.println ("###########################") ؛ تاخیر (1000) ؛ bioloid.interpolateSetup (1000)؛ // setup for interpolation from current-> next over 1/2 a second while (bioloid.interpolating> 0) {// این کار را انجام دهید در حالی که هنوز به ژست جدید خود نرسیده ایم bioloid.interpolateStep ()؛ // در صورت لزوم سرویس ها را جابجا کنید. تاخیر (3) ؛ } SetPosition (3 ، 291) ؛ // موقعیت مفصل 3 را روی "0" تاخیر (100) تنظیم کنید ؛ // منتظر حرکت مفصل در صورت (RunCheck == 1) {MenuOptions ()؛ }}
void MoveTest () {Serial.println ("############################") ؛ Serial.println ("شروع تست حرکت نشانه") ؛ Serial.println ("###########################") ؛ تأخیر (500) ؛ id = 1؛ pos = 512؛ while (id <= SERVOCOUNT) {Serial.print ("انتقال سروو شناسه:")؛ Serial.println (id)؛
while (pos> = 312) {SetPosition (id، pos)؛ pos = pos-- ؛ تأخیر (10) ؛ }
while (pos <= 512) {SetPosition (id، pos)؛ pos = pos ++؛ تأخیر (10) ؛ }
// به سروو ID بعدی = id ++ تکرار کنید ؛
} if (RunCheck == 1) {MenuOptions ()؛ }}
void MenuOptions () {Serial.println ("############################") ؛ Serial.println ("لطفاً گزینه 1-5 را وارد کنید تا دوباره تستهای فردی را اجرا کنید.")؛ Serial.println ("1) موقعیت اول")؛ Serial.println ("2) موقعیت دوم")؛ Serial.println ("3) موقعیت سوم")؛ Serial.println ("4" موقعیت چهارم ")؛ Serial.println ("5) موقعیت خانه")؛ Serial.println ("6) بررسی ولتاژ سیستم")؛ Serial.println ("7) انجام تست LED")؛ Serial.println ("8) Relax Servos")؛ Serial.println ("###########################") ؛ }
void RelaxServos () {id = 1؛ Serial.println ("###########################") ؛ Serial.println ("سروهای آرامش بخش") ؛ Serial.println ("###########################") ؛ while (id <= SERVOCOUNT) {آرامش (id) ؛ id = (id ++)٪ SERVOCOUNT؛ تأخیر (50) ؛ } if (RunCheck == 1) {MenuOptions ()؛ }}
void LEDTest () {id = 1؛ Serial.println ("###########################") ؛ Serial.println ("تست LED در حال اجرا") ؛ Serial.println ("###########################") ؛ while (id <= SERVOCOUNT) {ax12SetRegister (شناسه ، 25 ، 1) ؛ Serial.print ("LED روشن - Servo ID:") ؛ Serial.println (id)؛ تاخیر (3000) ؛ ax12SetRegister (شناسه ، 25 ، 0) ؛ Serial.print ("LED OFF - Servo ID:") ؛ Serial.println (id)؛ تاخیر (3000) ؛ id = id ++؛ } if (RunCheck == 1) {MenuOptions ()؛ }}
void Grab () {SetPosition (5 ، 800) ؛ // موقعیت مفصل 1 را روی تاخیر '0' (100) تنظیم کنید ؛ // منتظر حرکت مفصل باشید
}
ما برنامه خود را بر اساس برنامه سازندگان PincherTest با برخی تغییرات اساسی در موقعیت یابی قرار داده ایم. ما از poses.h برای ربات استفاده کردیم تا موقعیت ها را در حافظه داشته باشد. ابتدا سعی کردیم بازوی خود را با Pixycam به صورت خودکار ایجاد کنیم ، اما به دلیل مشکلات نور و صفحه نمایش کوچک ، این امر امکان پذیر نیست. این ربات دارای موقعیت اصلی خانگی است ، پس از بارگذاری برنامه ، تمام سرویس های موجود در ربات را آزمایش می کند. ما حالت های دکمه های 1-4 را تنظیم کرده ایم ، بنابراین به خاطر سپردن آن آسان خواهد بود. با خیال راحت از برنامه استفاده کنید.
مرحله 4: راهنمای ویدئو
مرحله 5: نتیجه گیری
در پایان ، این ربات یک پروژه کوچک سرگرم کننده برای ما و یک بازی سرگرم کننده برای بازی و آزمایش است. به شما توصیه می کنم آن را امتحان کنید و آن را نیز سفارشی کنید.
توصیه شده:
پیانو لیزری پیانو: 9 مرحله
![پیانو لیزری پیانو: 9 مرحله پیانو لیزری پیانو: 9 مرحله](https://i.howwhatproduce.com/images/001/image-1608-j.webp)
پی-لیزر پیانو لیزری: سلام ، من دانشجوی چند رسانه ای هستم & amp؛ فناوری خلاق در Howest بلژیک. آیا همیشه می خواسته اید موسیقی بنوازید اما مانند همه نیست؟ سپس این ممکن است برای شما چیزی باشد! من از لیزر پیانو ساخته ام. شما فقط باید انگشتان خود را بالا بگذارید
بازوی بازوی روباتیک: 3 مرحله (همراه با تصاویر)
![بازوی بازوی روباتیک: 3 مرحله (همراه با تصاویر) بازوی بازوی روباتیک: 3 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/011/image-31508-j.webp)
بازوی بازوی Robotic: این گیربکس روباتیک ساخته شده با چاپگر سه بعدی را می توان با دو سرو ارزان (MG90 یا SG90) کنترل کرد. ما از سپر مغزی (+آردوینو) برای کنترل گیره و APP کنترل jjRobots برای جابجایی همه چیز از طریق WIFI از راه دور استفاده کرده ایم اما می توانید از هر
آردوینو - کاشی پیانو: 16 مرحله (همراه با تصاویر)
![آردوینو - کاشی پیانو: 16 مرحله (همراه با تصاویر) آردوینو - کاشی پیانو: 16 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/001/image-1682-89-j.webp)
آردوینو - کاشی های پیانو: سلام به مردم اینترنت ، این در مورد چگونگی ساختن چیزی است که به طور قطع از بازی موبایل در arduino uno r3 استفاده نمی کند. بنابراین برای شروع ، شما به تمام قطعات نیاز دارید ، که به شرح زیر است ! 1x Arduino Uno r3 (42 دلار) 2 برابر محافظ صفحه کلید LCD (هر کدام 19 دلار) 5
نحوه مونتاژ یک بازوی روبات چوبی قابل توجه (قسمت 3: بازوی روبات) - بر اساس میکرو: BITN: 8 مرحله
![نحوه مونتاژ یک بازوی روبات چوبی قابل توجه (قسمت 3: بازوی روبات) - بر اساس میکرو: BITN: 8 مرحله نحوه مونتاژ یک بازوی روبات چوبی قابل توجه (قسمت 3: بازوی روبات) - بر اساس میکرو: BITN: 8 مرحله](https://i.howwhatproduce.com/images/001/image-2767-95-j.webp)
نحوه مونتاژ یک بازوی روبات چوبی قابل توجه (قسمت 3: ROBOT ARM) - بر اساس میکرو: BITN: مراحل بعدی نصب بر اساس تکمیل حالت جلوگیری از مانع است. فرآیند نصب در قسمت قبل مشابه مراحل نصب در حالت ردیابی خط است. سپس اجازه دهید نگاهی به شکل نهایی A
نحوه کنترل بازوی ربات با پخش کننده سروو 6 کاناله بدون کد نویسی: 5 مرحله
![نحوه کنترل بازوی ربات با پخش کننده سروو 6 کاناله بدون کد نویسی: 5 مرحله نحوه کنترل بازوی ربات با پخش کننده سروو 6 کاناله بدون کد نویسی: 5 مرحله](https://i.howwhatproduce.com/images/004/image-9520-42-j.webp)
نحوه کنترل بازوی ربات با سروو پلیر 6 کاناله بدون کد نویسی: این آموزش نحوه کنترل بازوی ربات را با سروو پلیر 6 کاناله بدون کدنویسی نشان می دهد