نرم افزار inspectAR از تکنولوژی واقعیت افزوده برای نشان دادن قطعات و مدارها بر روی PCB در زمان طراحی آن استفاده میکند.

 

واقعیت افزوده برای نشان دادن قطعات و مدارها بر روی PCB

 

نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۳۰ |

 

دانلود فایل مدارچاپی (pcb) آردوینو اونو: brd. و sch.

نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۲۰ |

فرم فاکتور آردوینو اونو و نمونه های هم خانواده

 


برچسب‌ها: فرم فاکتور, آردوینو اونو, سخت افزار آردوینو
نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۲۰ |

"سریال پلاتر" شبیه "سریال مانیتور" است ولی به جای کلمات، خروجی را رسم میکند.

دسترسی به سریال پلاتر:

Tools --> Serial Plotter

سریال پلاتر آردوینو

مثال: ترسیم منحنی های سینوس و کسینوس در آردوینو:

void setup() {
  Serial.begin(9600);
}

void loop() {
  for (float j = 0; j < 360.00; j=j+2) {
     Serial.print(sin(j * (PI / 180.00)));
     Serial.print(" ");
     Serial.println(cos(j * (PI / 180.00)));
  }
}

 

 

عدد 9600 مقدار baud rate است که بیانگر سرعت انتقال است.

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

Serial.print(دستور اول);

Serial.print(" ");

Serial.println(دستور دوم);

 

(www.electronicwings.com منبع: سایت)


برچسب‌ها: سریال پلاتر
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۹ |

در نرم افزار آردوینو IDE، پنجره ای به نام "سریال مانیتور" وجود دارد که بسیار پرکاربرد است و می توانید داده های سریال را (به صورت متن) در آن مشاهده کنید: مثلا مقدارهای ارسال شده از یک سنسور دما یا سنسور رطوبت خاک...

سریال مانیتور آردوینو

 

دسترسی به سریال مانیتور:

Tools --> Serial Monitor

مثال:

void setup() {

   Serial.begin (9600);

}

void loop() {

   Serial.println("hello");

   delay(1000);

}

عدد 9600 مقدار baud rate است که بیانگر سرعت انتقال است.

با اجرای این برنامه: کلمه hello بعد از هر 1000 میلی ثانیه (یک ثانیه) یک بار روی «سریال مانیتور» نوشته میشود.

 

دستورات ارتباط «سریال»:

Serial.begin (baud rate)

Serial.print (data, format type (optional))

Serial.println (data, format type (optional))

دستور بالا، بعد از هر بار اجرا، میرود اول خط بعد

Serial.write()

Serial.available()

Serial.read()

Serial.readString()


برچسب‌ها: سریال مانیتور
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۹ |

شیلد، به برد الکترونیکی گفته میشود که بر روی برد آردوینو سوار میشود و قابلیتهای آن را افزایش میدهد. راه اندازی شیلدها معمولا آسان است ولی ممکن است نیاز به نصب کتابخانه آنها در نرم افزار آردوینو باشد.

دو نمونه شیلد آردوینو

 

نصب شیلد روی آردوینو

 

نصب شیلد روی آردوینو


لیست بعضی از معروف ترین شیلدهای آردوینو:

 

شیلد جوی استیک
شیلد کارت حافظه
شیلد سیم کارت
شیلد راه اندازی CNC و 3d printer (برای آردوینو مگا)
شیلد راه اندازی CNC و 3d printer (برای آردوینو نانو)
شیلد راه اندازی CNC و 3d printer (برای آردوینو اونو)

 


برچسب‌ها: شیلد آردوینو, سخت افزار آردوینو
نوشته شده توسط آموزش آردوینو در سه شنبه ۱۳۹۸/۱۱/۱۵ |

 

پین و پورت های آردوینو

 

 


برچسب‌ها: سخت افزار آردوینو
نوشته شده توسط آموزش آردوینو در دوشنبه ۱۳۹۸/۱۱/۱۴ |

قطعات مورد نیاز:

  • سنسور LM35
  • مقاومت حدود 220 اهم تا یک کیلو اهم: پنج عدد
  • LED: پنج عدد
سنسور دما LM35

سیم بندی مدار را طبق شکل زیر انجام دهید:

 

در مرحله بعد، کدهای زیر را روی آردوینو نصب کنید: دما از روی سنسور خوانده میشود و روی serial monitor نوشته میشود و LEDهای رنگی به نسبت گرمای هوا روشن میشوند:

 

// ابتدا معرفی ال ای دی ها در یک آرایه

int LED [5] = {2, 3, 4, 5, 6};


// پایه وسط سنسور به ورودی آنالوگ آردوینو وصل شود

int sensorPin = A0;


void setup() {

   Serial.begin(9600);

   for (int i = 0; i < 5; i++) {
   pinMode(LED[i], OUTPUT);
   }
}


void loop() {
// خواندن مقدار از سنسور
int val = analogRead(sensorPin);
Serial.println(val);


// تمام ال ای دی ها خاموش
for (int i = 0; i<5; i++) {
digitalWrite(LED[i], LOW);
}

// روشن شدن ال ای دی ها

// توضیح این قسمت در پایین همین صفحه
if (val > 40 && val < 45) { // 20 - 22 C
digitalWrite( LED[0], HIGH);
} else if (val > 45 && val < 49){ // 22 - 24 C
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
} else if (val > 49 && val < 53){ // 24 - 26 C
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
digitalWrite( LED[2], HIGH);
} else if (val > 53 && val < 57){ // 26 - 28 C
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
digitalWrite( LED[2], HIGH);
digitalWrite( LED[3], HIGH);
} else if (val > 57){ // بیش از 28 درجه
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
digitalWrite( LED[2], HIGH);
digitalWrite( LED[3], HIGH);
digitalWrite( LED[4], HIGH);
}


// توقف کوتاه برای ارسال اعداد به سریال ویندو

delay(100);
}

توضیح:

در این سنسور هر 1 درجه سانتیگراد برابر با 10 میلی ولت است.
پس مثلا: 20 درجه سانتیگراد= 200 میلی ولت = 0.2 ولت= 41 واحد آنالوگ:

0.2 V / 5 V * 1023 = 41
پس تقریبا: تغییر هر 1 درجه سانتیگراد = تغییر 2 واحد آنالوگ

(منبع: کتاب Arduino Development Cookbook)


برچسب‌ها: سنسور, آموزش آردوینو, آردوینو و LED
نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۱۳ |

نرم افزار محاسبات ولتاژ رگولاتور
برای: LM317, L200, TL431, M523778xx

دانلود نرم افزار

نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۱۳ |

از تابع map برای نگاشت بین اعضای دو مجموعه استفاده میشود.
مثال: اگر بخواهیم اعداد موجود در بازه 1 تا 9 را به بازه 3 تا 80 تبدیل کنیم از تابع map یا نگاشت استفاده میکنیم.
ساختار:

map(value, fromLOW, fromHIGH, toLOW, toHIGH)

  • در بخش value عددی که باید نگاشت شود قرار میگیرد
  • در بخش fromLOW کران پایین بازه مبدا قرار میگیرد
  • در بخش fromHIGH کران بالای بازه مبدا قرار میگیرد
  • در بخش toLOW کران پایین بازه مقصد قرار میگیرد
  • در بخش toHIGH کران بالای بازه مقصد قرار میگیرد
     

مبنای محاسبات در تابع map اعداد صحیح است. اعداد کسری به دست آمده در فرایند map میانگین گیری و یا گرد نمی شوند بلکه تقطیع میشوند.

 

مثال:

مقادیر قابل قبول برای تابع analogRead بین 0 تا 1023 است
مقادیر قابل قبول برای تابع analogWrite بین 0 تا 255 است
اگر بخواهیم مقادیر خوانده شده توسط تابع analogRead را به تابع analogWrite بفرستیم باید محدوده 0 تا 1023 را به محدوده 0 تا 255 تبدیل کنیم. این تبدیل مقادیر را با کمک تابع map انجام میدهیم:

 

void setup() {
}

void loop() {
   int M = analogRead(0);
   M = map(M, 0, 1023, 0, 255);
   analogWrite(9,M);
}

مقادیر 0 تا 1023 توسط analogRead از روی درگاه ورودی آنالوگ A0 خوانده میشوند و به متغیر M انتساب داده میشوند. سپس با استفاده از تابع map مقادیر متغیر M به محدوده 0 تا 255 تبدیل میشود تا توسط تابع analogWrite قابل خواندن باشند و روی درگاه خروجی آنالوگ 9~ نوشته شوند (منبع: کتاب کلید آردوینو).


برچسب‌ها: آموزش نرم افزار آردوینو, تابع map در آردوینو
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |

دانلود لیست فشرده نکات برنامه نویسی پراسسینگ Processing

 

(منبع: سایت https://sparkfuneducation.com/)


برچسب‌ها: پراسسینگ, لیست نکات
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |

دانلود لیست نکات برنامه نویسی آردوینو

 

(منبع: سایت https://sparkfuneducation.com/)


برچسب‌ها: برنامه نویسی آردوینو, لیست نکات
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |

سنسور رطوبت خاک میتواند مقدار رطوبت خاک را اندازه گیری کند تا در صورت نیاز، آبیاری خاک آغاز شود یا پایان یابد.

 

عملکرد سنسور ساده است:

  • این سنسور دارای دو الکترود تیغه ای است
  • این دو الکترود، رسانایی خاک را اندازه می گیرند
  • افزایش رطوبت خاک باعث افزایش رسانایی و کاهش مقاومت الکتریکی خاک می شود.

 

نحوه سیم بندی مدار بصورت زیر است:

سیم سنسورآردوینو 
 زردAOA0آنالوگ
سیاهGNDGNDمنفی
قرمزVCC5Vمثبت

  

کد آردوینو برای راه اندازی این سنسور به صورت زیر است:

 

const int hygrometer = A0;  // اتصال پین آنالوگ سنسور به پین آنالوگ صفر آردوینو
int value;

void setup()
{
   Serial.begin(9600);
}

void loop()
{    
    // مقدار چهارصد یعنی رطوبت خاک کافی است

   // میتوانید هر مقداری را بجای چهارصد بگذارید 
    
    value = analogRead(hygrometer);  // مقدار آنالوگ سنسور را میخواند 
    value = constrain(value,400,1023);  // تعریف محدوده برای عدد سنسور
    value = map(value,400,1023,100,0);

    // مقدار آنالوگ خوانده شده را محدود میکند

   // یعنی 400 میشود 100 و 1023میشود صفر


    Serial.print("رطوبت خاک: ");
    Serial.print(value);
    Serial.println(%);
    delay(1000);  // هر یک ثانیه داده گیری انجام شود
}

 

در نرم افزار آردوینو روی Serial Monitor کلیک کنید تا اعداد خروجی رطوبت خاک نشان داده شوند:

 

(http://invent.module143.com/منبع: سایت)


برچسب‌ها: سنسور, سخت افزار آردوینو
نوشته شده توسط آموزش آردوینو در دوشنبه ۱۳۹۸/۱۱/۰۷ |

 

 

(منبع: سایت https://sparkfuneducation.com/)


برچسب‌ها: اینفوگرافیک, قانون اهم, سیگنالهای آنالوگ و دیجیتال
نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۰۶ |

ساده ترین برنامه که میتوان در محیط آردوینو نوشت بصورت زیر است:

 

void setup()
{

//put your setup code here to run once
}

void loop()
{

//put your main code here to run repeatedly
}

 

هربرنامه ساده یا پیچیده آردوینو، باید دارای 2 تابع ویژه به نامهای setup و loop باشد:

  • کاری که تابع setup انجام میدهد آن است که:

دستوری که برایش تعریف می کنیم را «فقط یکبار انجام می دهد».

  • کاری که تابع loop انجام میدهد آن است که:

دستوری که برایش تعریف می کنیم را «آن قدر تکرار میکند تا بگوییم کافی است».

 

 

دو پرانتز که به صورت () بعد از کلمات setup و loop آمده است یعنی setup و loop کلمات عادی نیستند بلکه «تابع» هستند:

تابع یعنی چیزی که مانند یک دستگاه، کار مشخصی را که برایش تعریف کرده‌ ایم انجام میدهد یعنی داده ای را از ما میگیرد وسپس عملیاتی را روی داده انجام میدهد و در آخر نتیجه را به ما بر‌میگرداند.

 

مجدداً به متن برنامه مراجعه کنید:

 

void setup()
{
//put your setup code here to run once
}

void loop()
{
//put your main code here to run repeatedly
}

 

یک علامت به شکل } بعد از کلمه setup قرارگرفته است. علامت } نشانه شروع محدوده ای است که هر دستوری داخل این محدوده نوشته شود، توسط تابع setup اجرا میشود. انتهای این محدوده را با علامتی برعکس، به شکل { نشان میدهیم. بطور خلاصه، دستوراتی که بین دو علامت } و { بیایند، به ترتیب و از بالا به پایین، «فقط یک بار» توسط تابع setup اجرا میشوند. به محدوده بین {} بدنه تابع می گوییم.
بعد از تابع loop نیز علایم } و { دیده میشوند: نقش آنها مثل قبل است و محدوده شروع و پایان دستوراتی را نشان میدهند که توسط تابع loop اجرا میشوند. دستوراتی که بین دو علامت } و { بیایند، به ترتیب و از بالا به پایین، «به دفعات نامحدود» توسط تابع  loop اجرا میشوند.


بنابراین تفاوت اصلی تابع loop با تابع setup آن است که:
تابع setup دستورات داخل { } را فقط یک بار اجرا میکند ولی تابع loop دستورات داخل { } را نه فقط یک بار، بلکه آنقدر تکرار میکند که بگوییم کافی است.

(منبع: کتاب کلید آردوینو)


برچسب‌ها: برنامه نویسی آردوینو, Arduino IDE
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۰۵ |



برنامه Blink سرعت چشمک زدن LED را کنترل میکند. مدار را مطابق شکل بالا ببندید. برای محافظت از LED در برابر جریان الکتریکی اضافی، یک عدد مقاومت را بصورت سری در مسیر اتصال LED به آردوینو قرار میدهیم. در شکل بالا:

 

 

  • سیم زرد به پین 13 آردوینو
  • سیم سیاه به پین GND آردوینو
  • پایه منفی (کوتاه) LED به سیم سیاه
  • پایه مثبت (بلند) LED به مقاومت
  • مقدار مقاومت: یک کیلو اهم = قهوه ای مشکی قرمز

(در شکل بالا، نقطه های سبز روی بردبورد یعنی: سوراخهای این مسیر، از زیر بردبورد به هم وصل هستند)


آردوینو را به کامپیوتر وصل کنید. برنامه  Blink را در نرم افزار آردوینو بنویسید یا از آدرس زیر اجرا کنید:

برنامه به شکل زیر است:

void setup() {
 pinMode(13, OUTPUT);
}

void loop() {
 digitalWrite(13, HIGH); 
 delay(1000);      
 digitalWrite(13, LOW); 
 delay(1000);      
}

فایل را به برد آردوینو بفرستید:

 

اکنون LED شروع به چشمک زدن میکند. مدت زمان روشن بودن آن 1 ثانیه و مدت زمان خاموش بودن آن نیز 1 ثانیه است. در برنامه بالا ابتدا توسط تابع ()pinMode درگاه دیجیتال شماره 13 را بعنوان درگاه خروجی تعریف میکنیم. سپس در بخش ()loop حلقه تکرارشونده برنامه را بصورت زیر تشکیل میدهیم:

- HIGH‌شدن درگاه 13 و روشن شدن LED متصل به این درگاه، توسط تابع ()digitalWrite
- توقف در حالت فوق، برای مدت 1000 میلی ثانیه یا 1 ثانیه توسط تابع ()delay
- LOW‌شدن درگاه 13 و خاموش شدن LED متصل به این درگاه، توسط تابع ()digitalWrite
- توقف درحالت فوق، برای مدت 1000 میلی ثانیه یا 1 ثانیه توسط تابع ()delay

حالا مقادیر تابع ()delay را تغییر دهید و برنامه را مجددا بارگذاری کنید تا تغییرات اعمال شده را بر مدت زمان روشن و خاموش شدن LED مشاهده نمایید.

(منبع: کتاب کلید آردوینو)


برچسب‌ها: نرم افزار آردوینو, برنامه نویسی آردوینو, آردوینو و LED
نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۰۲ |

سوراخهای روی بردبورد را با سیم به هم وصل میکنند. به این سیمها، سیم جامپر میگویند.

 

سیم جامپر را میتوانید خودتان (با سیم تک رشته) آماده کنید:

 

نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۰۲ |

برای وصل کردن قطعات الکترونیک به همدیگر 2 روش اصلی وجود دارد:

  • اتصال دائمی قطعات روی برد مدارچاپی (PCB) با لحیم
  • اتصال موقت قطعات روی بردبورد

از بردبورد (Bread board = تخته نان) برای طراحی مدارها و اتصال موقت و آزمایشی قطعات استفاده میشود.

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

سوراخهای وسط و سوراخهای کناری، از داخل به هم وصل هستند = خطهای سبز

نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۰۲ |

میخواهیم روشن و خاموش شدن یک LED را به کمک Arduino کنترل کنیم. قطعات مورد نیاز عبارتند از:

 

آردوینو

کابل USB

مقاومت قهوه ای، مشکی، قرمز

 

LED

 

برد بورد

 

سیم

 

 

هر ال ای دی دارای یک پایه مثبت و یک پایه منفی است. پایه منفی کوتاهتر است. طبق شکل زیر پایه ها را روی برد نصب و به آردوینو وصل کنید:

پایه مثبت LED به پین 13 آردوینو و پایه منفی LED به پین منفی (GND) آردوینو وصل میشود.

 

 

آردوینو را با کابل به کامپیوتر وصل کنید.

 

نرم افزار آردوینو را اجرا کنید. وارد نرم افزار شوید و فایل blink را بیاورید.

 

از لیست Tools، نوع برد آردوینو و پورت ارتباطی کامپیوتر را انتخاب کنید.

 

 

فایل را به برد آردوینو بفرستید.

 

اکنون LED شروع به چشمک زدن میکند:

 

میتوانید LED را مستقیما به پینهای آردوینو وصل کنید (پایه مثبت LED به پین 13 و پایه منفی LED به پین GND). استفاده از مقاومت الزامی نیست:

 


برچسب‌ها: آردوینو و LED
نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۰۲ |

 

مشاهده ویدیو

ویدیو دستور زبان آردوینو: ساختار نگارش دستورها در محیط Arduino IDE

(منبع: سایت https://www.programmingelectronics.com/)


برچسب‌ها: آموزش آردوینو, نرم افزار آردوینو, برنامه نویسی آردوینو
نوشته شده توسط آموزش آردوینو در سه شنبه ۱۳۹۸/۱۱/۰۱ |


آردوینو همچون هر سخت افزار و نرم افزار دیگری، محدودیتهای خاص خود را دارد. سطح اعتمادپذیری آردوینو برای پروژه های صنعتی، صنایع خودرو، نظامی، پزشکی، امنیتی و ایمنی چندان بالا نیست. نوفه ها، گردوغبار، لرزشهای مداوم و شدید، وجود مواد خورنده و رطوبت محیطی ازجمله عواملی هستند که میتوانند عملکرد سخت افزار آردوینو را با چالشهای جدی مواجه کنند (منبع: کتاب کلید آردوینو).

 

مثالها:

مثال

کارایی آردوینو

توضیح

اندازه گیری دمای داخل خودرو

بله

-

حسگر فاصله تا مانع برای دنده عقب خودرو

بله

_

تصمیم گیری و فرمان به ترمزهای خودرو

خیر

نیاز به ایمنی بالا

تجهیزات اتاق عمل و بخش مراقبت های ویژه

خیر

نیاز به ایمنی بالا

حسگر ورود دست کارگربه دستگاه پرس

خیر

نیاز به ایمنی بالا

سیستم دزدگیر بانک

خیر

نیاز به امنیت بالا

پایش درگاه های فرودگاهی

خیر

نیاز به امنیت بالا

کارخانه ی تولید مواد شیمیایی

خیر

وجود مواد خورنده

قایق، کشتی و تجهیزات دریایی

خیر

رطوبت بسیار زیاد

پروژه های پایش کویر

خیر

گرد و غبار زیاد

دستگاه های غربال گری و خرد کن صنعتی

خیر

لرزش زیاد

اتوماسیون صنعتی

خیر

نیاز به درگاه های زیاد

تغذیه، نور و دمای مرغداری و دامپروری

بله

-

تنظیم دما، رطوبت و آبیاری گلخانه

بله

-

آبیاری گیاهان آپارتمانی

بله

-

کنترل آبگیری مخازن کوچک

بله

-

پله برقی

خیر

حجم کار بسیار زیاد

آسانسور

خیر

نیاز به ایمنی بالا

هوشمندسازی منازل و محل کار

بله

-

اینترنت اشیا

بله

-

نورپردازی تعاملی منازل و فروشگاه ها

بله

-

نورپردازی تعاملی منازل و فروشگاه ها

بله

-

نورپردازي بناهاي عظيم

خير

پيچيدگي بالا

بهينه سازي مصرف برق منازل

بله

-

اسباب بازي

بله

-

آموزش

بله

-

نمونه سازي پروژه ها

بله

-

 

نوشته شده توسط آموزش آردوینو در سه شنبه ۱۳۹۸/۱۱/۰۱ |