معرفی و راه‌اندازی انواع LED با آردوینو

دوشنبه, 30 فروردين 1395 16:14
این مورد را ارزیابی کنید
(5 رای‌ها)
  automee  
این مطلب متعلق به وبسایت اتومی است.
منبع

این مطلب بخش نهم از آموزش جامع آردوینو (مبتدی و پیشرفته) است. در این آموزش قصد داریم شما را با انواع LED و نحوه کار با آن آشنا کنیم. LED ها انواع مختلفی دارند و همچنین روش‌های متفاوتی برای کار با آنها وجود دارد. شما می‌توانید با چند LED وضعیت دما و رطوبت هوا را نشان دهید یا اینکه در صورتی که یک شیء توسط سنسور آلتراسونیک در فاصله نزدیک تشخیص داده شد، یک LED روشن شود. با تعداد بیشتر LED حتی می‌توانید یک صفحه نمایشگر مانند نمایشگرهای تبلیغاتی درست کنید. برای این کار نیاز به قطعه‌ای به نام شیفت رجیستر خواهید داشت که در این آموزش به آن نیز می‌پردازیم. LEDهای رنگی یا RGB از دیگر مواردی است که در این آموزش روش کار با آن را خواهید آموخت.
در پایان این آموزش خواهید توانست LED ها را به روش‌های مختلف به کار ببرید. در کنار این موارد، چند موضوع جذاب دیگر که به کار با LED کمک می‌کند نیز مطرح خواهد شد. پس با ما همراه باشید.

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

 

برد آردوینو و کابل رابط 

1 عدد

LED تک رنگ

8 عدد

LED رنگی (RGB)

1 عدد

74HC595 Shift Register

1 عدد

مقاومت 220kΩ

8 عدد

بردبورد

1 عدد

سیم جامپر

1 بسته

 


معرفی LED

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

led نواری

به طور کلی دو نوع LED وجود دارد: DIP و SMD. نمونه DIP که نوع معمولی آن است دارای دو یا چند پایه بلند و یک سر شیشه‌ای است. در مقابل، انواع SMD پایه بلندی ندارند. چند مورد از نوع SMD را می‌توانید بر روی برد آردوینو (LED نمایشگر روشن و خاموش بودن، LED پایه ١٣ و …) مشاهده کنید. LED های نواری از نوع SMD هستند. ساده‌ترین نوع LED ، نوعی است که تک‌رنگ بوده و دارای 2 پایه است. کار با LED ساده است هرچند که می‌توان با آن پروژه‌های بسیار پیچیده‌ای انجام داد.

led smd dip


راه‌اندازی اولیه LED

به LED می‌توان مانند یک مقاومت نگاه کرد که با افزایش ولتاژ دو سر آن نور بیشتری تولید می‌کند. ساده‌ترین روش تولید نور با LED استفاده از داده دیجیتال است. در حالت برقراری ولتاژ (حالت High یا ١) با تمام توان روشن شده و در صورت عدم برقراری ولتاژ (حالت Low یا ٠) خاموش می‌شود.

led تک رنگ


در این قسمت می‌خواهیم با LED پیام SOS را مخابره کنیم. SOS یک پیام تعریف شده بین‌المللی است که برای درخواست کمک به کار می‌رود. پیام SOS به روش‌های مختلف از جمله با نور قابل ارسال است. برای انجام این کار باید پایه منفی LED را با یک مقاومت به GND و پایه مثبت (پایه بلند) را به پین ١٢ آردوینو متصل کنید. این مقاومت برای محدود کردن جریان عبوری از LED استفاده شده است. در صورتی که LED را بدون مقاومت به مدار وصل کنید، جریان زیاد می‌تواند باعث سوختن آن شود. البته با توجه به اینکه پایه‌های آردوینو جریان کمی تولید می‌کنند، معمولا این اتفاق نمی‌افتد. هرچه مقدار این مقاومت بیشتر باشد، شدت نور LED کمتر خواهد شد.

 

مدار led


آشنایی با مقاومت‌ الکتریکی

پیش از ادامه خوب است با یکی از اجزای پایه الکترونیک یعنی مقاومت کمی بیشتر آشنا شویم. مقاومت قطعه‌ای است که بر اساس اختلاف ولتاژ دو سر آن، جریان عبوری از خود را محدود می‌کند. میزان جریان عبوری از یک مقاومت از قانون اهم به دست می‌آید:

قانون اهم
البته این محدود به قطعه مقاومت نیست و هر شیء دیگری نیز یک مقدار مشخص مقاومت الکتریکی دارد. واحد اندازه‌گیری مقاومت اهم است. اهم واحد کوچکی است و به همین دلیل مقاومت‌های تا ظرفیت چند مگااهم هم وجود دارند. مقاومت نیز مانند بسیاری قطعات الکترونیکی دیگر در نوع DIP و SMD وجود دارد. ظرفیت مقاومت SMD را فقط با مولتی‌متر می‌توان به دست آورد ولی برای مقاومت‌های DIP روشی وجود دارد. ظاهر تمام مقاومت‌های DIP تقریبا یکسان است و ظرفیت آن‌ها را می‌توان از روی خطوط رنگی که بر روی مقاومت وجود دارد فهمید. استانداردهای مختلفی برای رنگ‌های روی مقاومت وجود دارد. تعداد خطوط موجود بر روی مقاومت بین ٤ تا ٦ نوار متغیر است. در این سیستم هر رنگ نشانگر یک عدد خاص است که در جدول زیر آمده است. برای محاسبه مقدار مقاومت ٤ نواری به این صورت عمل می‌کنیم: از سمت چپ اولین نوار رقم اول، دومین نوار رقم دوم و سومین نوار تعداد صفرهای جلوی عدد است. رقم چهارم نیز میزان خطا بر حسب درصد است. مقاومت ٥ نواری هم مانند مقاومت ٤ نوار است با این تفاوت که سه نوار اول ارقام و نوار چهارم تعداد صفرها را نشان می‌دهد. همچنین مقاومت ٦ نواری مانند مقاومت ٥ نواری است با این تفاوت که رقم ششم نشانگر ضریب دمایی مقاومت است.

 

رنگ

به عنوان رقم

به عنوان ضریب

به عنوان خطا(%)

به عنوان ضریب دمایی

بدون رنگ

-

-

20

-

صورتی

-

0.001

-

-

نقره‌ای

-

0.01

10

-

طلایی

-

0.1

5

-

سیاه

0

1

-

250

قهوه‌ای

1

10

1

100

قرمز

2

102

2

50

نارنجی

3

103

0.05

15

زرد

4

104

0.02

25

سبز

5

105

0.5

20

آبی

6

106

0.25

10

بنفش

7

107

0.1

5

خاکستری

8

108

0.01

1

سفید

9

109

-

-

پیام SOS با استفاده از نور به صورت سه چشمک کوتاه، سه چشمک بلند و سپس سه چشمک کوتاه است. برنامه زیر را بر روی آردوینو آپلود و اجرا کنید. در این برنامه از دستور()sizeofاستفاده شده است. این دستور میزان حجم اشغال شده توسط یک متغیر یا یک نوع متغیر را بر حسب بایت می‌دهد. برای مثال دستور زیر تعداد بایت اشغال شده توسط متغیر Variable را محاسبه می‌کند:

sizeof(Variable)


و دستور زیر تعداد بایت اشغال شده توسط نوع متغیر int را می‌دهد:

sizeof(int)

برنامه SOS برای LED:

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

int LED = 12;
const int SOS[] = {100, 100, 100, 300, 300, 300, 100, 100, 100};
const int rest[] = {100, 100, 500, 300, 300, 500, 100, 100, 100};
const int blinks = sizeof(SOS) / sizeof(const int);
void setup()
{
  pinMode(LED, OUTPUT);
}

void loop()
{
  for (int i = 0; i < blinks; i++)
  {
    digitalWrite(LED, HIGH);
    delay(SOS[i]);
    digitalWrite(LED, LOW);
    delay(rest[i]);
  }
  digitalWrite(LED, LOW);
  delay(2000);
}

تنظیم شدت نور LED

همان طور که پیشتر هم گفتیم، با تغییر ولتاژ دو سر LED می‌توان شدت نور آن را تنظیم کرد. این کار به راحتی با استفاده از خروجی آنالوگ یا همان PWM قابل انجام است. همان گونه که می‌دانید خروجی PWM برای اکثر آردوینوها به صورت ٨ بیتی یا یک عدد از ٠ تا ٢٥٥ است. بنابراین می‌توانید میزان نور LED را به ٢٥٦ حالت تقسیم کنید. این مقدار برای اینکه تغییرات نور آن پیوسته به نظر برسد کاملا کفایت می‌کند. برای نمونه برنامه زیر مقدار نور LED را از ٠ تا مقدار حداکثر به آرامی افزایش داده و سپس نور را کم کرده تا دوباره به مقدار ٠ برسد.

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

int LED = 11;
float sweepTime = 2.0;                      // in seconds
float stepTime = sweepTime * 1000000 / 512; // in miliseconds

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

void loop()
{
  for (int i = 0; i < 255; i++)
  {
    analogWrite(LED, i);
    delayMicroseconds(stepTime);
  }
  for (int i = 255; i > 0; i--)
  {
    analogWrite(LED, i);
    delayMicroseconds(stepTime);
  }
  digitalWrite(LED, LOW);
  delay(2000);
}

کار با آرایه‌های LED

تا اینجا نحوه کار با یک LED معمولی را آموختید. اما کاربرد اصلی LED وقتی است که تعدادی از آنها را به صورت یک آرایه کنار هم استفاده کنید. مثلا می‌توانید با چند LED میزان شارژ باقیمانده پاوربانک‌تان را نشان دهید یا با تعداد بیشتری از آنها رقص نور ایجاد کنید. چالشی که در این موارد به وجود می‌آید این است که هر LED به یک پایه ولتاژ نیاز دارد و این در حالی است که تعداد پین‌های آردوینو محدود است. اگر از قطعه دیگری در پروژه‌تان استفاده نکنید احتمالا به مشکلی برنخواهید خورد؛ اما معمولا کلید، موتور، سنسور یا قطعات دیگری دارید که نیاز به اتصال به پین‌های آردوینو دارند. در چنین مواردی نیاز به یک قطعه دیگر به نام شیفت رجیستر (Shift Register) داریم.

معرفی شیفت رجیستر

شیفت رجیستر از مجموعه‌ای از مدارات دیجیتال تشکیل شده که این توانایی را دارد که داده‌های بیتی درون خود را به سمت چپ یا راست جابجا کند. این موضوع باعث می‌شود تا بتوان از شیفت رجیستر برای تبدیل داده سری به موازی یا برعکس استفاده کرد. شیفت رجیسترها انواع مختلفی دارند. نوعی که در اینجا مورد استفاده قرار می‌گیرد، شیفت رجیستر سری به موازی به نام 74HC595 است که یک تراشه بسیار معروف و پرکاربرد است. این تراشه ١٦ پایه دارد و برای تبدیل داده‌های سری ٨ بیتی به داده موازی استفاده می‌شود.

شیفت رجیستر


برای استفاده از شیفت رجیستر باید پایه‌های آن را بشناسید. سه پایه مهم در شیفت رجیستر 74HC595 پایه‌های ١١، ١٢ و ١٤ هستند. پایه ١١ یا SH_CP یا Shift register clock زمان‌بندی (کلاک) بیت‌های عبوری را کنترل می‌کند. پایه ١٢ یا ST_CP یا همان Latch pin داده‌های موجود در رجیستر را به خروجی انتقال می‌دهد. پایه ١٤ یا Data pin داده سری ورودی را دریافت می‌کند. در جدول زیر مشخصات تمام پین‌های شیفت رجیستر 74HC595 آمده است. توجه کنید که پایه‌های رجیسترهای مختلف متفاوت است و در صورتی که از شیفت رجیستر دیگری استفاده می‌کنید، حتما دفترچه راهنمای آن را مطالعه کنید.

پایه های شیفت رجیستر

 

شماره پین

نام پین

توضیحات

1 تا 7 و 15

Q0-Q7

خروجی موازی

8

GND

ولتاژ 0 مدار

9

Q7’

خروجی داده سری

10

MR

پاک کردن رجیستر، حالت 0 فعال

11

SH_CP

کلاک رجیستر

12

ST_CP

کلاک Latch

13

OE

فعال‌سازی خروجی، حالت 0 فعال

14

DS

ورودی داده سری

16

Vcc

منبع تغذیه مثبت

 

دفترچه راهنمای شیفت رجیستر

 

برای اینکه پایه‌های رجیستر را به درستی پیدا کنید، قسمت U شکل آنرا به سمت بالا بگیرید، سپس شماره پایه‌ها را مطابق شکل فوق پیدا کنید. حالا وقت آن است که مدار شیفت رجیستر را ببندیم. بهتر است که رجیستر را در وسط برد بورد وصل کنید تا بتوانید از دو سمت آن استفاده کنید. هر کدام از پایه‌های ١ تا ٧ و ١٥ را با یک مقاومت 220kΩ به یک LED از نوع f5 وصل کنید. پایه‌های ١١، ١٢ و ١٤ را به ترتیب به پین ٥، ٦ و ٧ دیجیتال آردوینو وصل کنید. همچنین پایه ١٠ و ١٦ را به 5V+ و پایه ٨ و ١٣ را به GND وصل کنید.

مدار شیفت رجیستر

برنامه زیر با استفاده از ٨ LED و آردوینو رقص نور ایجاد می‌کند. پس برنامه را روی آردوینو بارگذاری کرده و حرکت LED ها را ببینید!
قبل از اجرای برنامه چند نکته مهم در مورد آن وجود دارد که نیاز به توضیح دارد. اولا دستور(bitSet(LED, iدر متغیر LED، بیت i ام را به مقدار ١ تغییر می‌دهد. در صورتی که این بیت ١ باشد، تغییری ایجاد نمی‌شود. دستور(bitClear(LED, iمانند دستور قبل کار می‌کند با این تفاوت که مقدار بیت را به ٠ تغییر می‌دهد.
در این برنامه یک تابع به نامdoShiftRegisterتعریف شده است که یک عدد ٨ بیتی را به عنوان ورودی گرفته و آنرا به شیفت رجیستر می‌فرستد. برای ارسال داده‌ها به شیفت رجیستر در آردوینو از دستورshiftOutاستفاده می‌شود. این تابع چهار ورودی دارد که ورودی اول شماره پین داده سریال، ورودی دوم شماره پین کلاک، ورودی سوم ترتیب ارسال بیت‌ها و ورودی چهارم داده‌ای است که می‌خواهید به رجیستر بفرستید. ترتیب ارسال داده‌ها در الکترونیک به دو صورت MSBFIRST یا LSBFIRST وجود دارد. در حالت اول، ابتدا بزرگترین رقم ( باارزش‌ترین رقم، رقم سمت چپ) فرستاده می‌شود و در حالت دوم برعکس این حالت اتفاق می‌افتد. در ارسال داده‌های سریال این موضوع بسیار اهمیت دارد که داده‌ها از کدام سمت خوانده شوند. مثل این است که ندانید که یک متن فارسی را از چپ یا از راست بخوانید!
مورد مهم دیگر اینکه پایه Latch حساس به لبه بالارونده سیگنال است. این چه معنی دارد؟ در کل دو نوع حساسیت به سیگنال وجود دارد: حساسیت به مقدار و حساسیت به تغییرات. در نوع اول، مقدار ٠ یا ١ بودن یک سیگنال در فعالسازی یک فرایند تاثیر دارد اما در نوع دوم تغییر سیگنال از ٠ به ١ (لبه بالارونده) یا از ١ به ٠ (لبه پائین‌رونده) تاثیرگذار است. به همین دلیل لازم است قبل از ارسال اطلاعات پایه Latch در حالت ٠ باشد و بعد از آن به حالت ١ برود تا یک لبه بالارونده ایجاد شود. همچنین برای اطمینان از ٠ بودن پایه کلاک، در ابتدای تابع آنرا ٠ می‌کنیم.

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

int dataPin = 7;
int latchPin = 6;
int clockPin = 5;

void doShiftRegister(int LED)
{
  digitalWrite(clockPin, LOW);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, LSBFIRST, LED);
  digitalWrite(latchPin, HIGH);
}

void setup()
{
  pinMode(dataPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
}

void loop()
{
  byte LED;
  for (int i = 0; i < 8; i++)
  {
    bitSet(LED, i);
    doShiftRegister(LED);
    delay(40);
  }
  for (int i = 0; i < 8; i++)
  {
    bitClear(LED, i);
    doShiftRegister(LED);
    delay(40);
  }
}

آرایه ledشیفت رجیستر


ایجاد نور رنگی با LED RGB

تا اینجا در مورد LED های ساده صحبت کردیم. اما نوعی از LED به نام RGB هم وجود دارد که می‌تواند رنگ‌های مختلف را ایجاد کند. ظاهر این LED با سایر انواع تفاوت چندانی ندارد بجز اینکه بجای دو پایه دارای ٤ پایه است. درون این این قطعه در واقع سه LED مجزا وجود دارد که هر کدام وظیفه تولید یکی از رنگ‌های قرمز (Red)، سبز (Green) و آبی (Blue) را بر عهده دارد.

led rgb


RGB یک استاندارد جهانی برای تولید رنگ است. با ترکیب این رنگها و تغییر شدت هر کدام می‌توان تمام رنگهای قابل تشخیص توسط چشم انسان را به وجود آورد. برای مثال از ترکیب رنگ قرمز و سبز، رنگ زرد و از ترکیب رنگ هر سه رنگ به میزان مساوی، رنگ سفید به وجود می‌آید. استانداردهای دیگری نیز برای تولید رنگ مانند CMYK وجود دارند اما استاندارد RGB اصلی‌ترین روش تولید رنگ به خصوص در تجهیزات دیجیتال مانند کامپیوتر و تلویزیون است.

rgb


جالب است بدانید که با ترکیب این سه رنگ می‌توان بینهایت رنگ مختلف به وجود آورد اما معمول‌ترین روش تعریف رنگ در کامپیوتر، استفاده از یک عدد ٨ بیتی (٠ تا ٢٥٥) برای هر رنگ است که با ترکیب تمام حالات ممکن می‌توان در مجموع حدود ١٦ میلیون (٢٨×٢٨×٢٨) رنگ به وجود آورد. این مقدار برای چشم انسان کفایت می‌کند، هرچند که در عکس‌برداری‌های پیشرفته از تعداد بسیار بیشتری رنگ نیز استفاده می‌شود. برای نمایش عدد رنگ در کامپیوتر (سه عدد ٨ بیتی) معمولا از دو روش استفاده می‌شود: مبنای ١٠ یا مبنای ١٦. مثلا رنگ طلایی را می‌توان به صورت (٢٥٥,٢١٥,٠) یا 0xFFD700 نمایش داد. اگر بخواهید در برنامه‌تان از مبنای ١٦ استفاده کنید باید کد رنگ را به صورت 0xFFD700 وارد کنید. این کد از سه جفت عدد دو رقمی تشکیل شده است، جفت اول رنگ قرمز، جفت دوم عدد سبز و جفت سوم عدد آبی را نشان می‌دهد.
هرچه LED های رنگی به یکدیگر نزدیک باشند، مانند مانیتور یا تلویزیون‌های LED، رنگی که در نهایت به وجود می‌آید واقعی‌تر خواهد بود. فاصله دیودهای نوع ارزان قیمت LED RGB به اندازه‌ای هست که با کمی دقت بتوانید سه رنگ آنرا از هم تشخیص دهید. با این وجود اگر در فاصله مناسبی از آن قرار بگیرید، نتیجه رضایت‌بخش خواهد بود.


نحوه کار با LED RGB

LED های RGB در دو نوع Common cathode (یا منفی مشترک) و Common anode (یا مثبت مشترک) هستند. LED های رنگی دارای ٤ پایه هستند؛ یک پایه (بلندترین پایه) سر مشترک دیودها و سه پایه دیگر سر دیگر هر کدام از دیودهای رنگی هستند. اگر LED از نوع منفی مشترک باشد، باید پایه مشترک را به منفی مدار وصل کنید و برعکس.
در اینجا می‌خواهیم با استفاده از یک LED RGB رنگ‌های مختلفی تولید کنیم. برای این کار ما از یک LED کاتد مشترک استفاده کرده‌ایم. پایه مشترک LED را به GND آردوینو و هر کدام از پایه‌های قرمز، سبز و آبی را با یک مقاومت 220kΩ به ترتیب به پین‌های ٣، ٥ و ٦ دیجیتال وصل کنید. برای این برنامه به دلیل استفاده ازanalogWriteلازم داریم پایه‌ها PWM باشند اما اگر فقط قصد خاموش و روشن کردن LED را دارید، می‌توانید از پایه‌های دیجیتال معمولی استفاده کنید.
برنامه زیر شدت نور هر کدام از دیودهای LED را افزایش می‌دهد؛ به این ترتیب ترکیب رنگ‌های مختلفی به دست می‌آید و در نهایت رنگ سفید تولید می‌شود. در این برنامه برای کاهش حجم کد، از یک تابع استفاده شده است که مقادیر مطلوب هر رنگ را به پایه مورد نظر تخصیص می‌دهد.

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#define bluePin 5
#define greenPin 6
#define redPin 7

void RGB(int blue, int green, int red)
{
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

void setup()
{
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop()
{
  RGB(0, 0, 0);
  delay(1000);
  for (int i = 0; i < 255; i++)
  {
    RGB(i, 0, 0);
    delay(10);
  }
  for (int i = 0; i < 255; i++)
  {
    RGB(255, i, 0);
    delay(10);
  }
  for (int i = 0; i < 255; i++)
  {
    RGB(255, 255, i);
    delay(10);
  }
  delay(1000);
}

نتیجه‌گیری

در این آموزش انواع LED را شناختید و نحوه کار با آنها را یادگرفتید. همچنین با مقاومت‌ها و رنگ‌شناسی در کامپیوتر آشنا شدید. علاوه بر آن نحوه کار با شیفت رجیستر را آموختید که البته کاربرد آن منحصر به LED نیست و کارهای بیشماری می‌‌توانید با آن انجام دهید. یکی از کارهای جالبی که با استفاده از LED می‌توانید انجام دهید ساختن لباس‌ها و گجت‌های پوشیدنی نورانی با LED است؛ حتما در این مورد جستجو کنید!
در آموزش بعدی، نحوه راه‌اندازی و کار با نمایشگر لمسی را خواهید آموخت.
نظرات شما باعث بهبود محتوای آموزشی ما می‌شود. اگر این آموزش را دوست داشتید، همین‌طور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد. 

خواندن 11821 دفعه
داوود درستکار

داوود درستکار دانش‌آموخته کارشناسی مهندسی مکانیک از دانشگاه صنعتی اصفهان و کارشناسی ارشد از دانشگاه تهران است. وی همچنین عضو تیم تحقیقاتی مرکز سیستمها و فناوریهای پیشرفته دانشگاه تهران (CAST) است. داود مسلط به طراحی و تحلیل سیستم‌های دینامیکی، طراحی و ساخت ربات، کنترل سیستم‌های غیرخطی و پیاده‌سازی سیستم‌های هوشمند با استفاده از آردوینو است. مهمترین علاقه او در حوزه رباتیک، پرنده‌های بدون سرنشین، رباتهای توانبخشی و ساخت تجهیزات هوشمندسازی و کنترل می‌باشد.

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (7)

  1. سعید

سلام
ممنون بابت مقاله کاربردی و خوبتون
میشه لطفاً راهنماییم کنید برای کنترل یک استپ موتور ۵فاز با درایور متناسب با خودش که بجای ورودی مشابه درایورهای معمول که پالس و دایرکشن مثبت و منفی و اینیبل دارن ، اون درایور دو ورودی پالس و cw,وccw داره .
چطو...

سلام
ممنون بابت مقاله کاربردی و خوبتون
میشه لطفاً راهنماییم کنید برای کنترل یک استپ موتور ۵فاز با درایور متناسب با خودش که بجای ورودی مشابه درایورهای معمول که پالس و دایرکشن مثبت و منفی و اینیبل دارن ، اون درایور دو ورودی پالس و cw,وccw داره .
چطور میتونم درایور را به کنترلر وصل کنم یعنی خروجی en. Pulse. Dir تبدیل بشه به cwوccw?!؟

ادامه مطلب
 
  1. سجاد

سلام . مهندس جان اگه بخایم از سه عدد RGB LED با آردوینو استفاده کنیم . چطور باید مدار رو ببندیم.برای تعداد محدودیتی وجود نداره ؟

 
  1. پشتیبانی    سجاد

سلام سجاد عزیز
تنها محدودیت تعداد پایه های آنالوگ برد هست که بررسی بشه به تعداد کافی برای ال ای دی هاتون باشه.
موفق باشید

 
  1. سجاد    پشتیبانی

از پاسختون ممنون هستم. بردی که من دارم می سازم سه عدد RGB LED سه عدد سنسور اولتراسونیک ، یک بازر و نهایتا یک عدد oled 0.96 inch spi داره برای این مجموعه برد آردوینو uno رو خریداری کردم . به این ترتیب برای وصل کردن RGB LED باید مثل مثال از شیفت...

از پاسختون ممنون هستم. بردی که من دارم می سازم سه عدد RGB LED سه عدد سنسور اولتراسونیک ، یک بازر و نهایتا یک عدد oled 0.96 inch spi داره برای این مجموعه برد آردوینو uno رو خریداری کردم . به این ترتیب برای وصل کردن RGB LED باید مثل مثال از شیفت رجیستر استفاده کنم یا مستقیما 9 پایه از آردوینو رو به کار ببرم ؟ لطفا در نظر هم داشته باشید باید سه عدد سنسور اولتراسونیک ، یک بازر و نهایتا یک عدد oled 0.96 inch spi رو هم روی برد سوار کنم.

ادامه مطلب
 
  1. پشتیبانی    سجاد

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

 
  1. پشتیبان الکترونیک

[quote name="احسان نازی"]سلام. با تشکر از مقاله ی خوبتون.<br />خیلی وقت بود که می خواستم مقاله ی Adafruit رو ترجمه کنم. خوشحالم که این کار رو انجام دادین.<br />فقط یه سوال:<br />توی تابع setBrightness چرا مقدار روشنایی رو از 255 کم...

[quote name="احسان نازی"]سلام. با تشکر از مقاله ی خوبتون.<br />خیلی وقت بود که می خواستم مقاله ی Adafruit رو ترجمه کنم. خوشحالم که این کار رو انجام دادین.<br />فقط یه سوال:<br />توی تابع setBrightness چرا مقدار روشنایی رو از 255 کم کردین؟؟<br />مگه این کار روشنایی رو برعکس نمیکنه.<br />یعنی اگه هرچقدر عدد بالاتری بدین روشنایی کمتر میشه.<br />بهتر بود خود متغییر رو همونطور خالی میذاشتین[/quote]<br />پاسخ: سلام، ممنون از نظری که دادید، در جواب سوالتون باید بگیم ما برای کنترل میزان روشنایی LEDها از پین 13 شیفت رجیستر استفاده می کنیم. این پین صفر فعاله. یعنی زمانی که صفر باشه میران روشنایی حداکثر مقدار خودش رو داره... به خاطر همین تو تابع setBrightness مقدار روشنایی از 255 کم میشه

ادامه مطلب
 
  1. احسان نازی

سلام. با تشکر از مقاله ی خوبتون.<br />خیلی وقت بود که می خواستم مقاله ی Adafruit رو ترجمه کنم. خوشحالم که این کار رو انجام دادین.<br />فقط یه سوال:<br />توی تابع setBrightness چرا مقدار روشنایی رو از 255 کم کردین؟؟<br />مگه این کار...

سلام. با تشکر از مقاله ی خوبتون.<br />خیلی وقت بود که می خواستم مقاله ی Adafruit رو ترجمه کنم. خوشحالم که این کار رو انجام دادین.<br />فقط یه سوال:<br />توی تابع setBrightness چرا مقدار روشنایی رو از 255 کم کردین؟؟<br />مگه این کار روشنایی رو برعکس نمیکنه.<br />یعنی اگه هرچقدر عدد بالاتری بدین روشنایی کمتر میشه.<br />بهتر بود خود متغییر رو همونطور خالی میذاشتین

ادامه مطلب
 
هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

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

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com