آموزش ARDUINO

برنامه نویسی گام به گام اردوینو

آموزش ARDUINO

برنامه نویسی گام به گام اردوینو

dddd

ربات تعادلی با اردوینو و gy-80 , 87

سه شنبه, ۳ مرداد ۱۳۹۶، ۰۸:۵۶ ق.ظ

با سلام به زودی آموزش ساخت ربات تعادلی روی دو چرخ با استفاده ار اردوینو و سنسور gy-80 یا gy-87 و التراسونیک و ... رو خواهم گذاشت

نقطه نظراتتون برای پیش برد و سرعت کارم خیلی ارزشمنده

منتظر نظراتتون هستم

Image result for ‫ربات تعادلی‬‎

Image result for ‫ربات تعادلی‬‎

http://www.aparat.com/v/Lbc5E

توسط برنامه زیر میتونید با اتصال 5 پتانسیومتر به ورودی های انالوگ و گرفتن موج PWM از خروجی های دیجیتال برد اردوینو 5 کانال رو تولید کنید

فیلمی که از این برد و پرواز کواد گرفتم رو هم تو لینک زیر قرار دادم

http://www.aparat.com/v/Q8N5S

#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;


int potpin1 = 0;
int potpin2 = 1;
int potpin3 = 2;
int potpin4 = 3;
int potpin5 = 4;

int val1;
int val2;
int val3;
int val4;
int val5;

void setup() {
  // put your setup code here, to run once:
myservo1.attach(8);
myservo2.attach(9);
myservo3.attach(10);
myservo4.attach(11);
myservo5.attach(12);

}

void loop() {
  // put your main code here, to run repeatedly:
val1 = analogRead(potpin1);
val1 = map(val1, 0, 1023, 0, 179);
myservo1.write(val1);

val2 = analogRead(potpin2);
val2 = map(val2, 0, 1023, 0, 179);
myservo2.write(val2);

val3 = analogRead(potpin3);
val3 = map(val3, 0, 1023, 0, 179);
myservo3.write(val3);

val4 = analogRead(potpin4);
val4 = map(val4, 0, 1023, 0, 179);
myservo4.write(val4);

val5 = analogRead(potpin5);
val5 = map(val5, 0, 1023, 0, 179);
myservo5.write(val5);

delay(15);

}


http://arduinoo.blog.ir

                                http://www.aparat.com/v/87J0i

تا کامل شدن مطلالب فعلا کمی توضیحات اولیه رو مینویسم:

جهت راه اندازی کافیه به تعداد کانال های مورد نیاز پتانسیومتر یا ولوم 10 کیلو اهم به ورودی های انالوگ برد متصل کنید

و با یه برنامه ساده مقدار خوانده شده توسط adc  رو به صورت موج PWM به خروجی های دیجیتال انتقال بدهید

به عنوان مثال فقط برای یک کانال

#include <Servo.h>
Servo myservo;
int potpin = 0;
int val;

void setup() {
  // put your setup code here, to run once:
myservo.attach(9);
}

void loop() {
  // put your main code here, to run repeatedly:
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 179);
myservo.write(val);
delay(15);

}

http://arduinoo.blog.ir






در هنگام اجرای برنامه اگر از تابع Delay جهت چشمک زدن LED استفاده کنیم ،برنامه به هنگام رسیدن به خط Delay مدت زمان قابل تنظیمی مکث میکند
در این مدت زمان اگر ورودی ای داشته باشیم و بخواهیم آن را نیز چک نماییم امکان پذیر نیست
برای رفع این خدا از توابعی چون millis() , micros()  استفاده میکنیم
نمونه برنامه را در ادامه مطلب ببینید

برنامه 4 ( تغییر افزایشی و کاهشی شدت نور یک LED)

پنجشنبه, ۱۴ اسفند ۱۳۹۳، ۱۱:۴۲ ب.ظ


باز هم جهت سهولت از LED روی برد که به پایه 13 متصل شده استفاده میکنیم


برنامه 3(خواندن ولتاژ آنالوگ ورودی)

پنجشنبه, ۱۴ اسفند ۱۳۹۳، ۱۰:۵۷ ب.ظ




برنامه 2 (خواندن وضعیت ورودی یک پین)

چهارشنبه, ۱۳ اسفند ۱۳۹۳، ۰۸:۳۰ ب.ظ




برنامه 1 ( LED چشمک زن در پایه 13 برد)

چهارشنبه, ۱۳ اسفند ۱۳۹۳، ۰۸:۰۲ ب.ظ

روی بردهای اردوینو مگا 2560 پایه 13 بر روی برد به یک led  متصل گشته

میخواهیم برنامه ای بنویسیم که بتوان آن را بصورت چشمک زن دراورد

ابتدا با اردوینو اشنا میشویم

چهارشنبه, ۱۳ اسفند ۱۳۹۳، ۰۷:۵۲ ب.ظ













آردوینو چیست؟

آردوینو ابزاری است برای تولید کامپیوترهایی که نسبت به کامپیوتر شخصی شما، مقدار بیشتری از دنیای فیزیکی را احساس و کنترل می کنند. این ابزار، یک پلت فرم محاسباتی فیزیکی open-source است که بر اساس یک برد میکروکنترلر ساده تهیه شده، و نیز یک محیط توسعه برای نوشتن نرم افزار جهت کار با برد می باشد.

آردوینو می تواند جهت ایجاد اشیای تعاملی، گرفتن ورودی از تعداد زیادی سوییچ و حسگر، و کنترل تنوعی از لامپ ها، موتورها، و سایر خروجی های فیزیکی به کار گرفته شود. پروژه های آردوینو می توانند مستقل باشند، و یا با نرم افزاری که روی کامپیوتر شما در حال اجراست(مثل Flash ، Processing، MaxMSP)، ارتباط برقرار کند.  شما می توانید بردها را به طور دستی مونتاژ کنید و یا به صورت از پیش مونتاژ شده، خریداری کنید؛ محیط برنامه نویسی open-source را می توانید به صورت رایگان دانلود کنید.

زبان برنامه نویسی آردوینو، یک پیاده سازی از Wiring(یک پلت فرم محاسباتی و فیزیکی مشابه) است، که بر اساس محیط برنامه نویسی چندرسانه ای Processing کار می کند.

چرا آردوینو؟

تعداد زیادی میکروکنترلر و پلت فرم میکروکنترلر دیگر، جهت محاسبات فیزیکی موجود است. بردهای Parallax Basic Stamp، Netmedia's BX-24، Phidgets، MIT's Handyboard و بسیاری بردهای دیگر، عملکرد مشابهی را ارائه می دهند. کلیه این ابزارها، جزئیات درهم و برهمی از برنامه نویسی میکروکنترلر را برداشته و آن را در یک پکیج easy-to-use جمع بندی نموده اند. برد آردوینو همچنین فرایند کار با میکروکنترلرها را تسهیل می کند. لیکن مزایایی را برای معلمان، دانش آموزان و مبتدیان علاقه مند در کلیه سیستم های دیگر ارائه می دهد:

  • ارزان -  در مقایسه با سایر پلت فرم های میکروکنترلر، بردهای آردوینو نسبتاً ارزان هستند. ارزان ترین نسخه از ماژول آردوینو می تواند به صورت دستی مونتاژ شود، و حتی ماژول های آردوینو از پیش مونتاژ شده، کمتراز 50 دلار قیمت دارد.
  • مستقل از سیستم عامل (Cross-platform) - نرم افزار آردوینو روی سیستم های عامل ویندوز، مکینتاش OSX و لینوکس اجرا می شود. اکثر سیستم های میکروکنترلر منحصر به ویندوز شده اند.
  • محیط برنامه نویسی شفاف و ساده - محیط برنامه نویسی آردوینو برای استفاده مبتدیان، ساده است، در عین حال جهت استفاده ی کاربران حرفه ای از مزیتها نیز به اندازه کافی منعطف است. برای مدرسان، بر اساس محیط برنامه نویسی Processing به راحتی قابل استفاده است، بدین ترتیب، دانش آموزانی که برنامه نویسی در آن محیط را یاد می گیرند، با ظاهر و باطن آردوینو آشنا خواهند شد.

  • نرم افزار قابل توسعه و open-source - نرم افزار آردوینو به صورت یک ابزار open-source منتشر شده است که برای توسعه توسط برنامه نویسان باتجربه موجود می باشد. این زبان می تواند از طریق کتابخانه های C++ گسترش یابد، و افرای که می خواهند جزئیات فنی را بفهمند، می توانند از آردوینو گریزی به زبان برنامه نویسی AVR C که زبان پایه ی آن است، بزنند. به طور مشابه اگر بخواهید، می توانید مستقیما کد AVR-C را درون برنامه های آردوینو خود درج کنید.
  • سخت افزار قابل توسعه و open-source - آردوینو بر اساس میکروکنترلرهای ATMEGA8 و ATMEGA168 شرکت Atmel پایه ریزی شده اند. طرح ماژول ها تحت لیسانس Creative Commons مجوز گرفته اند، بنابراین طراحان با تجربه مدار، می توانند ماژول خود را ساخته، توسعه داده و آن را بهبود ببخشند. حتی کاربران نسبتاً بی تجربه می توانند یک نسخه بردبوردی از ماژول را جهت فهم شیوه کار آن بسازند و هزینه ای جهت آن نپردازند.