این آموزش نحوه اتصال هشت LED به آردوینو را با استفاده از تنها دو پین آردوینو نشان می دهد. این کار با استفاده از آی سی منبسط کننده ورودی/خروجی PCF8574 امکان پذیر است. یک نمایشگر "Knight Rider" روی LED ها نشان داده می شود.
پیش نیازها
آموزش کامل 4 – Arduino Knight Rider . بتوانید از بسته های DIP IC استفاده کنید، به عنوان مثال از آموزش 17 .
اجزاء
علاوه بر برد آردوینو Uno، کابل USB، پیوندهای سیمی و برد برد، به موارد زیر نیاز دارید:
تعداد | قسمت | طراح | یادداشت | تایپ کنید |
---|---|---|---|---|
2 | مقاومت های 2k2 (قرمز – قرمز – قرمز) | R9، R10 | 1/4W 5% یا بهتر | مقاومت ها |
8 | مقاومت های 470 اهم (زرد – بنفش – قهوه ای) | R1 تا R8 | ||
1 | خازن 100n | C1 | خازن غیر پولریزه | خازن |
1 | PCF8574P | U1 | آی سی 4047 به عنوان مثال CD4047 (IC 14 پین) | نیمه هادی ها |
8 | ال ای دی ها | D1 تا D8 | ال ای دی ها – ال ای دی های پراکنده 3 یا 5 میلی متری قرمز یا سبز |
مدار
در این نمودار مدار، برد آردوینو نشان داده نشده است. فقط برچسب های پین پین های آردوینو که باید به PCF8574 (U1) متصل شوند نشان داده می شوند. نقاط با علامت +5V باید به پین 5V آردوینو متصل شوند. مثلث معکوس (GND) باید به یکی از پایه های آردوینو GND متصل شود.
ساخت مدار
عکس زیر مدار کامل ساخته شده بر روی تخته نان را نشان می دهد. برای تصویر بزرگتر روی عکس کلیک کنید.
دنباله پیشنهادی برای ساخت مدار به صورت زیر است:
- آی سی PCF8574 را وارد کنید
- اتصالات برق و زمین را به آی سی انجام دهید
- پایه 1، 2 و 3 آی سی (U1) را به زمین وصل کنید
- خازن C1 (100n) را وارد کنید و آن را بین برق (5 ولت) و زمین (GND) وصل کنید.
- هشت LED را با آند (پین بلندتر) در سمت چپ قرار دهید
- مقاومت های R1 را به R8 بین آندهای LED و ریل تخته نان بالایی (5 ولت) وصل کنید.
- کاتد هر LED را به پین های صحیح روی آی سی وصل کنید
- R9 و R10 را وصل کنید
- دو سیم پین های A4 و A5 آردوینو را به آی سی وصل کنید
- آردوینو 5 ولت را به ریل بالای تخته نان و GND را به ریل تخته نان پایینی وصل کنید
ممکن است متوجه شده باشید که مدار تخته نان موقعیت LED ها و مقاومت ها را از نمودار مدار عوض می کند - به عنوان مثال موقعیت های تعویض R1 و D1. این هیچ تفاوتی در نحوه عملکرد مدار نخواهد داشت. این فقط برای ساده کردن مدار برد برد انجام شده است.
برنامه نویسی آردوینو
طرح two_wire_knight_rider را در زیر کپی کرده و در IDE آردوینو قرار دهید.
/*-------------------------------------------------------------- Program: two_wire_knigh_rider Description: Uses a PCF8574 IO Expander IC on the Arduino TWI bus to interface 8 LEDs. A "knight rider" display is shown on the LEDs. Date: 25 April 2012 Author: W.A. Smith, http://startingelectronics.com --------------------------------------------------------------*/ #include <Wire.h> // address of PCF8574 IC on TWI bus #define IO_ADDR (0x40 >> 1) void setup() { Wire.begin(); // initialize the I2C/TWI interface } void loop() { static unsigned char data = 0x01; // data to display on LEDs static unsigned char direc = 1; // direction of knight rider display // send the data to the LEDs Wire.beginTransmission(IO_ADDR); Wire.write(~data); Wire.endTransmission(); delay(70); // speed of display // shift the on LED in the specified direction if (direc) { data <<= 1; } else { data >>= 1; } // see if a direction change is needed if (data == 0x80) { direc = 0; } if (data == 0x01) { direc = 1; } }
برای جزئیات بیشتر: Two Wire Arduino Knight Rider