کنترل روشنایی یک LED خارجی با استفاده از مقاومت کنترل روشنایی LED با استفاده از پتانسیومتر آردوینو، روشن کردن هموار LED rgb از روی دکمه

در این آزمایش با یک دکمه بخشی از روشنایی LED را اضافه می کنیم و با دکمه دیگر آن را کاهش می دهیم.

فهرست قطعات برای آزمایش

- 1 برد آردوینو Uno؛

- 1 تخته نان بدون لحیم کاری؛

- 2 دکمه ساعت؛

- 1 مقاومت با مقدار اسمی 220 اهم؛

- 1 LED؛

- 7 سیم نر-نر.

مدار

نمودار روی تخته نان

توجه داشته باشید

  • اگر مدار آزمایش قبلی را دوباره کار می کنید، توجه داشته باشید که این بار باید LED را به پورتی که از PWM پشتیبانی می کند وصل کنیم.

طرح

دانلود طرح برای آردوینو IDE
#define PLUS_BUTTON_PIN 2 #define MINUS_BUTTON_PIN 3 #define LED_PIN 9 int brightness = 100; boolean plusUp = true; minusUp بولی = درست; void setup() (pinMode(LED_PIN, OUTPUT)؛ pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP); pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP)؛ ) void loop() (analogWrite(LED_PIN، روشنایی)؛ // ما با استفاده از تابعی که به اضافه کلیک می کنیم پاسخ می دهیم. = handleClick(PLUS_BUTTON_PIN، plusUp، +35)؛ minusUp = handleClick(MINUS_BUTTON_PIN، minusUp، -35؛ ) // تابع اختصاصی با 3 پارامتر: شماره پین ​​با دکمه // (buttonPin)، وضعیت قبل از تأیید (wasUp) ) و درجه بندی // روشنایی هنگامی که روی دکمه (مثلث) کلیک می کنید. تابع // (انگلیسی بازگشت) وضعیت جدید و فعلی دکمه بولین را برمی گرداند. کلیک کنید(int buttonPin، boolean wasUp، int delta) ( boolean isUp = digitalRead(buttonPin); if (wasUp && !isUp) ( delay(10 isUp = digitalRead(buttonPin)؛ // اگر کلیکی بود، روشنایی را از 0 به 255 تغییر دهید، اگر (!isUp) روشنایی = محدودیت (روشنایی + دلتا، 0، 255)؛ ) isUp را برگردانید؛ // برگردانید ارزش بازگشت به کد تماس گیرنده)

توضیحات برای کد

  • ما می توانیم نه تنها از توابع داخلی استفاده کنیم، بلکه می توانیم توابع خود را نیز ایجاد کنیم. این زمانی توجیه می شود که ما نیاز به تکرار اقدامات مشابه در مکان های مختلف کد داشته باشیم یا مثلاً باید اقدامات مشابهی را روی داده های مختلف انجام دهیم، مانند این مورد: پردازش سیگنال از پورت های دیجیتال 2 و 3.
  • شما می توانید توابع خود را در هر جایی از کد خارج از کد سایر توابع تعریف کنید. در مثال ما یک تابع بعد از آن تعریف کردیم حلقه .
  • برای تعریف تابع خود ما نیاز داریم:
    • نوع داده ای را که برمی گرداند را اعلام کنید. در مورد ما اینطور است بولی. اگر تابع فقط برخی از اقدامات را انجام می دهد و هیچ مقداری را بر نمی گرداند، از کلمه کلیدی استفاده کنید خالی
    • به تابع یک نام - شناسه اختصاص دهید. در اینجا قوانینی مشابه هنگام نامگذاری متغیرها و ثابت ها اعمال می شود. توابع به همین سبک نامگذاری شده اند likeVariables .
    • در داخل پرانتز، پارامترهای ارسال شده به تابع را فهرست کنید و نوع هر کدام را مشخص کنید. این اعلان متغیرهایی است که در تابع جدید ایجاد شده و فقط در داخل آن قابل مشاهده هستند. مثلاً اگر در این آزمایش سعی کنیم دسترسی داشته باشیم wasUpیا isUpاز جانب حلقه ()یک پیغام خطا از کامپایلر دریافت خواهیم کرد. به همین ترتیب، متغیرهای اعلام شده در حلقه، برای سایر توابع قابل مشاهده نیستند، اما مقادیر آنها را می توان به عنوان پارامتر ارسال کرد.
    • بین یک جفت بریس فرفری، کد اجرا شده توسط تابع را بنویسید
    • اگر تابع باید مقداری را برگرداند، از کلمه کلیدی استفاده کنید برگشتمشخص کنید چه مقداری را برگردانید. این مقدار باید از نوعی باشد که ما اعلام کردیم
  • به اصطلاح متغیرهای جهانی، i.e. متغیرهایی که از هر تابعی قابل دسترسی هستند معمولاً در ابتدای برنامه اعلام می شوند. در مورد ما، این است روشنایی .
  • در داخل تابعی که ایجاد کردیم handleClickهمان چیزی که در آزمایش اتفاق می افتد.
  • از آنجایی که با گام افزایش روشنایی 35، پس از حداکثر هشت کلیک متوالی بر روی یکی از دکمه ها، مقدار عبارت روشنایی + دلتاخارج از فاصله خواهد رفت . با استفاده از تابع محدود کردنما مقادیر مجاز را برای متغیر محدود می کنیم روشناییمرزهای بازه مشخص شده
  • در بیان plusUp = handleClick(PLUS_BUTTON_ پین , plusUp, +35)ما به متغیر دسترسی داریم plusUpدو برابر. از آنجا که = مقدار عملوند سمت راست را در سمت چپ قرار می دهد، ابتدا محاسبه می کند که چه چیزی برمی گردد handleClick. بنابراین وقتی به او می دهیم plusUpبه عنوان یک پارامتر، همچنان مقدار قدیمی محاسبه شده در آخرین تماس را دارد handleClick .
  • داخل handleClickمقدار روشنایی LED جدید را محاسبه کرده و روی یک متغیر سراسری می نویسیم روشنایی، که در هر تکرار حلقهفقط گذشت به آنالوگ رایت .

سوالاتی برای آزمایش خود

  1. کلمه کلیدی به چه معناست؟ خالی ?
  2. وقتی یک متغیر از طرف های مختلف عملگر انتساب ذکر می شود، یک برنامه چگونه رفتار می کند = ?

وظایف برای راه حل مستقل

  1. کد را طوری تغییر دهید که مرحله تغییر روشنایی در یک مکان تنظیم شود.
  2. یک تابع دیگر ایجاد کنید و کد را دوباره کار کنید تا یک تابع مسئول ردیابی ضربه های کلید و دیگری مسئول محاسبه روشنایی LED و برگرداندن آن به آنالوگ رایت .

لیست قطعات برای آزمایش

برای یک کار اضافی

    1 LED دیگر

    1 مقاومت دیگر با مقدار اسمی 220 اهم

    2 تا سیم دیگه

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

طرح روی تخته نان

توجه داشته باشید

    ما "زمین" LED و مقاومت متغیر (پتانسیومتر) را به ریل بلند "-" برد برد وصل کردیم و قبلاً آن را به ورودی GND میکروکنترلر وصل کردیم. به این ترتیب از ورودی های کمتری استفاده می کنیم و سیم های کمتری از تخته نان به کنترلر می روند.

    امضاهای "+" و "-" روی تخته نان شما را ملزم نمی کند که از آنها به طور جدی برای منبع تغذیه استفاده کنید، آنها به سادگی اغلب از این طریق استفاده می شوند و علامت گذاری ها به ما کمک می کنند.

    فرقی نمی کند که کدام یک از پایه های بیرونی پتانسیومتر به ولتاژ 5 ولت و کدام به GND متصل باشد، فقط جهتی که برای افزایش ولتاژ باید دستگیره را بچرخانید تغییر می کند. به یاد داشته باشید که سیگنال را از پای وسط می خوانیم

    برای خواندن سیگنال آنالوگ که طیف وسیعی از مقادیر را می پذیرد و نه فقط 0 یا 1 مانند سیگنال دیجیتال، فقط پورت هایی با برچسب "ANALOG IN" روی برد و شماره گذاری شده با پیشوند A مناسب هستند. برای آردوینو Uno این A0-A5 است.

طرح

p030_pot_light.ino // نام های معقولی برای پین های LED بدهید // و یک پتانسیومتر (پتانسیومتر انگلیسی یا به سادگی "pot")#define LED_PIN 9 #define POT_PIN A0 void setup() ( // پین با LED - خروجی، مانند قبل ... pinMode(LED_PIN، OUTPUT) ; // ... اما پین با پتانسیومتر باید ورودی باشد // (انگلیسی "ورودی"): می خواهیم ولتاژ را بخوانیم،// صادر شده توسط آن pinMode(POT_PIN, INPUT) ; ) void loop() ( // اعلام می کنیم که در ادامه از 2 متغیر استفاده خواهیم کرد // چرخش و روشنایی و آنچه را که در آنها ذخیره خواهیم کرد را نام می‌برد // اعداد صحیح (به انگلیسی: "integer"، به اختصار "int")چرخش درونی، روشنایی؛ // ولتاژ را از پتانسیومتر در چرخش بخوانید: // میکروکنترلر عددی از 0 تا 1023 را خروجی می دهد // متناسب با زاویه چرخش دستهچرخش = analogRead(POT_PIN) ; // در روشنایی مقدار چرخش قبلی را می نویسیم // تقسیم بر 4. از آنجایی که می خواستیم در متغیرها ذخیره کنیم // مقادیر صحیح، بخش کسری تقسیم حذف خواهد شد. // در نتیجه یک عدد صحیح از 0 تا 255 بدست می آوریمروشنایی = چرخش / 4 ; // خروجی نتیجه به LED analogWrite(LED_PIN، روشنایی)؛ )

توضیحاتی برای کد

    با استفاده از دستور #define، به کامپایلر گفتیم که شناسه POT_PIN را با A0 - شماره ورودی آنالوگ - جایگزین کند. ممکن است با کدی مواجه شوید که در آن پورت آنالوگ با شماره بدون شاخص A قابل دسترسی است. این کد کار می کند، اما برای جلوگیری از سردرگمی با پورت های دیجیتال، از یک شاخص استفاده کنید.

    نام متغیرها معمولا با حروف کوچک شروع می شود.

    برای استفاده از یک متغیر، باید آن را اعلان کنید، که با دستور انجام می دهیم:

چرخش درونی، روشنایی؛

    متغیرهای یک نوع را می توان در یک عبارت اعلام کرد و آنها را با کاما از هم جدا کرد، این همان کاری است که ما انجام دادیم.

    تابع analogRead(pinA) یک مقدار صحیح را در محدوده 0 تا 1023 برمی گرداند، متناسب با ولتاژ اعمال شده به ورودی آنالوگ که عدد آن را به عنوان پارامتر pinA به تابع ارسال می کنیم.

    توجه کنید که چگونه مقدار برگشتی توسط analogRead() را بدست آوردیم: ما به سادگی آن را با استفاده از عملگر انتساب = در یک متغیر چرخشی قرار می دهیم، که هر آنچه را که در سمت راست آن است روی متغیر سمت چپ می نویسد.

سوالاتی برای آزمایش خود

    آیا هنگام مونتاژ مدار می توانیم LED و پتانسیومتر را مستقیماً به ورودی های مختلف GND میکروکنترلر متصل کنیم؟

    برای افزایش روشنایی LED باید مقاومت متغیر را در کدام جهت چرخاند؟

    اگر خط pinMode (LED_PIN، OUTPUT) را از برنامه پاک کنید چه اتفاقی می‌افتد؟ حالت پین خط (POT_PIN، INPUT) ?

    چرا مقدار دریافتی از ورودی آنالوگ را قبل از تنظیم روشنایی LED تقسیم می کنیم؟ اگر این کار انجام نشود چه اتفاقی می افتد؟

تابع analogWrite() برای تضعیف LED و روشن کردن تدریجی آن استفاده می شود.

AnalogWrite از مدولاسیون عرض پالس (PWM) استفاده می کند، که به پین ​​دیجیتال اجازه می دهد تا با سرعت بالا روشن/خاموش شود و اثر میرایی ایجاد کند.

آنچه شما برای پروژه نیاز خواهید داشت

  • برد آردوینو
  • تخته نان
  • دیود ساطع نور
  • مقاومت 220 اهم

نمودار اتصال LED به آردوینو

آند (پایه بلندتر و مثبت) LED را از طریق یک مقاومت 220 اهم به پایه دیجیتال 9 برد آردوینو وصل کنید. کاتد (پای کوتاه تر و دارای بار منفی) را به زمین وصل کنید.

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


گزینه Shield با LED برای آردوینو

توضیحات برنامه برای آردوینو

پس از اعلام پین 9 به عنوان ledPin، بدنه تابع setup() لازم نیست پر شود.

تابع analogWrite() که در حلقه اصلی استفاده خواهید کرد به دو آرگومان نیاز دارد: یکی برای تعیین پین برای نوشتن و دیگری برای نمایش مقدار PWM در حال نوشتن.

برای اینکه به تدریج روشن شود و LED خود را خاموش کنید، به تدریج مقدار PWM را از 0 به 255 افزایش دهید و سپس به 0 برگردید تا چرخه کامل شود. در طرح زیر، مقدار PWM برای متغیری به نام روشنایی استفاده شده است. هر بار که حلقه کامل می شود، مقدار متغیر را افزایش می دهد.

اگر روشنایی به مقدار حد خود (0 یا 255) برسد، fadeAmount مقدار آن را به منفی تغییر می دهد. به عبارت دیگر، اگر fadeAmount 5 باشد، مقدار آن به -5 تغییر می کند. در تکرار بعدی حلقه، این باعث می شود که متغیر روشنایی تغییر کند.

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

طرحی برای آردوینو IDE

این مثال نشان می دهد که چگونه می توان با استفاده از تابع analogWrite () تضعیف را در پین 9 ایجاد کرد.

int led = 9; // پین که LED به آن متصل است

روشنایی int = 0; // روشنایی LED

int fadeAmount = 5; // چقدر روشنایی LED را افزایش دهیم

// تابع setup یک بار پس از راه اندازی مجدد برد اجرا می شود:

// پین 9 را به عنوان خروجی اعلام می کند:

pinMode (led، OUTPUT)؛

// حلقه بی انتها تکرار می شود:

// روشنایی پین 9 را تنظیم می کند:

analogWrite (LED، روشنایی)؛

// روشنایی را در تکرار بعدی با استفاده از یک حلقه تغییر دهید:

روشنایی = روشنایی + fadeAmount;

// مقدار تضعیف را به یک مشابه با علامت مخالف در مقادیر مرزی تغییر می دهد:

اگر (روشنایی == 0 || روشنایی == 255) (

fadeAmount = -fadeAmount ;

// تاخیر 30 برای ردیابی اثر محو شدن

حالا بیایید به LED چند رنگ نگاه کنیم که اغلب به اختصار نامیده می شود: RGB LED. RGB مخفف شده است: قرمز - قرمز، سبز - سبز، آبی - آبی. یعنی سه ال ای دی مجزا در داخل این دستگاه قرار داده شده است. بسته به نوع، LED RGB ممکن است یک کاتد مشترک یا یک آند مشترک داشته باشد.

1. مخلوط کردن رنگ ها

چرا یک LED RGB بهتر از سه LED معمولی است؟ همه چیز در مورد توانایی بینایی ما برای مخلوط کردن نور از منابع مختلف نزدیک به یکدیگر است. به عنوان مثال، اگر LED های آبی و قرمز را در کنار یکدیگر قرار دهیم، در فاصله چند متری درخشش آنها با هم ترکیب می شود و چشم یک نقطه بنفش را می بیند. و اگر سبز را هم اضافه کنیم، نقطه به رنگ سفید برایمان ظاهر می شود. مانیتورهای کامپیوتر، تلویزیون ها و صفحه نمایش های فضای باز دقیقاً اینگونه کار می کنند. ماتریس تلویزیون از نقاط جداگانه با رنگ های مختلف تشکیل شده است. اگر یک ذره بین بردارید و از طریق آن به مانیتور روشن نگاه کنید، به راحتی می توانید این نقاط را ببینید. اما در یک صفحه نمایش در فضای باز، نقاط خیلی متراکم قرار نمی گیرند، به طوری که می توان آنها را با چشم غیر مسلح تشخیص داد. اما از فاصله چند ده متری این نقاط قابل تشخیص نیستند. به نظر می رسد که هر چه نقاط چند رنگ به یکدیگر نزدیکتر باشند، چشم برای ترکیب این رنگ ها به فاصله کمتری نیاز دارد. از این رو نتیجه گیری: برخلاف سه LED جداگانه، ترکیب رنگ یک LED RGB از قبل در فاصله 30-70 سانتی متر قابل توجه است. به هر حال، یک LED RGB با لنز مات حتی بهتر عمل می کند.

2. اتصال LED RGB به آردوینو

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

3. برنامه ای برای کنترل یک LED RGB

بیایید یک برنامه ساده ایجاد کنیم که هر یک از سه رنگ را به نوبه خود روشن کند. ثابت بایت rPin = 3; بایت const gPin = 5; بایت const bPin = 6; void setup() (pinMode(rPin, OUTPUT)؛ pinMode(gPin, OUTPUT); pinMode(bPin, OUTPUT); ) void loop() (// آبی را خاموش کنید، DigitalWrite قرمز را روشن کنید(bPin، LOW)؛ digitalWrite( rPin، HIGH)؛ تاخیر (500)؛ // خاموش کردن قرمز، روشن کردن دیجیتالی سبز (rPin، LOW)؛ digitalWrite (gPin، HIGH)؛ تاخیر (500)؛ // خاموش کردن سبز، روشن کردن DigitalWrite آبی (gPin) , LOW؛ digitalWrite(bPin, HIGH)؛ delay(500)؛ ) برنامه را روی آردوینو بارگذاری کنید و نتیجه را مشاهده کنید. مرورگر شما ویدئو با این پسوند را پشتیبانی نمی کند. بیایید برنامه را کمی بهینه کنیم: به جای متغیرهای rPin، gPin و bPin، از یک آرایه استفاده می کنیم. این به ما در کارهای بعدی کمک می کند. const byte rgbPins = (3،5،6); void setup() ( for(byte i=0; i<3; i++) pinMode(rgbPins[i], OUTPUT); } void loop() { digitalWrite(rgbPins, LOW); digitalWrite(rgbPins, HIGH); delay(500); digitalWrite(rgbPins, LOW); digitalWrite(rgbPins, HIGH); delay(500); digitalWrite(rgbPins, LOW); digitalWrite(rgbPins, HIGH); delay(500); }

4. هفت رنگ رنگین کمان

حالا بیایید سعی کنیم دو رنگ را همزمان روشن کنیم. بیایید دنباله رنگ های زیر را برنامه ریزی کنیم:
  • قرمز
  • قرمز + سبز = زرد
  • سبز
  • سبز + آبی = آبی روشن
  • آبی
  • آبی + قرمز = بنفش
رنگ نارنجی را برای سادگی حذف کردیم. بنابراین، معلوم شد که شش رنگ رنگین کمان است 🙂 صرف بایت rgbPins = (3،5،6)؛ صرف بایت رنگین کمان = ( (1،0،0)، // قرمز (1،1،0)، // زرد (0،1،0)، // سبز (0،1،1)، // آبی ( 0،0،1)، // آبی (1،0،1)، // بنفش)؛ void setup() ( for(byte i=0; i<3; i++) pinMode(rgbPins[i], OUTPUT); } void loop() { // перебираем все шесть цветов for(int i=0; i<6; i++){ // перебираем три компоненты каждого из шести цветов for(int k=0; k<3; k++){ digitalWrite(rgbPins[k], rainbow[i][k]); } delay(1000); } } В результате работы программы получается: Your browser does not support the video tag.

5. تغییر رنگ صاف

بیهوده نبود که ما LED RGB را به پایه های 3، 5 و 6 وصل کردیم. همانطور که می دانید، این پین ها به شما امکان می دهند سیگنال PWM با چرخه های کاری مختلف تولید کنید. به عبارت دیگر، ما نه تنها می توانیم LED را روشن یا خاموش کنیم، بلکه سطح ولتاژ آن را کنترل کنیم. این کار با استفاده از تابع انجام می شود آنالوگ رایت. بیایید مطمئن شویم که LED ما بین رنگ های رنگین کمان نه به طور ناگهانی، بلکه به آرامی تغییر می کند. const byte rgbPins = (3،5،6); int dim = 1; void setup() ( for(byte i=0; i<3; i++){ pinMode(rgbPins[i], OUTPUT); } // начальное состояние - горит красный цвет analogWrite(rgbPins, 255); analogWrite(rgbPins, 0); analogWrite(rgbPins, 0); } void loop() { // гасим красный, параллельно разжигаем зеленый for(int i=255; i>=0; i--)( analogWrite(rgbPins, i/dim); analogWrite(rgbPins, (255-i)/dim); delay(10); ) // سبز را خاموش کنید، آبی را موازی برای (int i=255) روشن کنید ؛ i> =0؛ i--)( analogWrite(rgbPins, i/dim)؛ analogWrite(rgbPins, (255-i)/dim); delay(10); ) // آبی را خاموش کنید، قرمز را به صورت موازی روشن کنید for(int i=255; i>=0; i--) (analogWrite(rgbPins, i/dim); analogWrite(rgbPins, (255-i)/dim); delay(10); ) ) متغیر dim تعیین می کند روشنایی درخشش در dim = 1 حداکثر روشنایی را داریم. برنامه را روی آردوینو بارگذاری کنید. مرورگر شما ویدئو با این پسوند را پشتیبانی نمی کند.

وظایف

  1. نشانگر دما بیایید یک ترمیستور به مدار اضافه کنیم و آن را به ورودی آنالوگ وصل کنیم. LED باید بسته به دمای ترمیستور تغییر رنگ دهد. هر چه دما کمتر باشد رنگ آبی تر و هر چه دما بیشتر باشد قرمزی بیشتر می شود.
  2. لامپ RGB با رگولاتور. بیایید سه مقاومت متغیر به مدار اضافه کنیم و آنها را به ورودی های آنالوگ وصل کنیم. برنامه باید به طور مداوم مقادیر مقاومت را بخواند و رنگ جزء RGB LED مربوطه را تغییر دهد.

در درس های قبلی با ساده ترین مدارها آشنا شدیم - مونتاژ و. امروز ما در حال مونتاژ یک مدل با پتانسیومتر (مقاومت متغیر) و LED هستیم. از چنین مدلی می توان برای کنترل ربات استفاده کرد.

پتانسیومتریک متغیر است مقاومت با مقاومت قابل تنظیمپتانسیومترها در رباتیک به عنوان تنظیم کننده پارامترهای مختلف - حجم صدا، توان، ولتاژ و غیره استفاده می شوند. در مدل مااز چرخاندن دستگیره پتانسیومترروشنایی LED بستگی دارد. این نیز یکی از طرح های اساسی است.

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

برای مونتاژ مدل نیاز داریم:

  • برد آردوینو (یا آنالوگ)؛
  • تخته نان;
  • 6 سیم و/یا جامپرهای نر به نر.
  • دیود ساطع نور؛
  • پتانسیومتر (مقاومت متغیر)؛
  • مقاومت 220 اهم؛
  • Arduino IDE که از سایت آردوینو قابل دانلود است.

برای اتصال پتانسیومتر و LED به آردوینو به چه چیزهایی نیاز دارید؟

نمودار اتصال مدل آردوینو با پتانسیومتر و LED:

نمودار اتصال مدل آردوینو با پتانسیومتر و LED

برنامه زیر برای این مدل مناسب است (شما می توانید به سادگی برنامه را در Arduino IDE کپی کنید):

// نام پین ها را با LED ذکر کنید
// و پتانسیومتر
#define led 9
#تعریف گلدان A0
void setup()
{
// پین با LED - خروجی
pinMode (led، OUTPUT)؛
// پین با پتانسیومتر - ورودی
pinMode (گلدان، INPUT)؛
}
حلقه خالی()
{
// متغیر x را اعلام کنید
int x;
// ولتاژ را از پتانسیومتر بخوانید:
// عددی از 0 تا 1023 دریافت خواهد شد
// آن را بر 4 تقسیم کنید، یک عدد در محدوده بدست می آورید
// 0-255 (قسمت کسری کنار گذاشته می شود)
x = analogRead(pot) / 4;
// خروجی نتیجه به LED
analogWrite(led، x);
}

مدل آردوینو مونتاژ شده پتانسیومتر با LED به این صورت است:

مدل آردوینو با پتانسیومتر و LED مونتاژ شده

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

پست های درس:

  1. درس اول: .
  2. درس دوم: .
  3. درس سوم: .
  4. درس چهارم: .
  5. درس پنجم: .
  6. درس ششم: .
  7. درس هفتم: .
  8. درس هشتم: .
  9. درس نهم:
اگر خطایی پیدا کردید، لطفاً یک متن را انتخاب کنید و Ctrl+Enter را فشار دهید.