Я хочу використовувати звичайну плату Arduino для управління світлодіодами - що таке найбільше вогнів, якими я можу керувати окремо з плати?
Чи є підручник, як його підключити?
Я хочу використовувати звичайну плату Arduino для управління світлодіодами - що таке найбільше вогнів, якими я можу керувати окремо з плати?
Чи є підручник, як його підключити?
Відповіді:
Я вважаю, що за допомогою N-ліній Charlie-plexing керують N * (N-1) світлодіодами. У Вікіпедії є добра стаття.
Мій друг Джиммі П. Роджерс встановив 126 світлодіодів на щиті Arduino. Він використовує шарлі-плексинг для управління світлодіодами. Деякі відомості на його дошці є за адресою - jimmieprodgers.com/2009/12/my-development-process/ (archive.org копія)
На останньому засіданні групи користувачів Бостонської Ардуїно Джиммі П. Роджерс намалював Чарлі-плексинг-діаграму як матрицю з мітками з сітками. Схеми, складені таким чином, здавалося, добре справляють концепцію. Я створив пару подібних схем - Дивіться http://wiblocks.luciani.org/FAQ/faq-charlie-plex.html
jimmieprodgers.com
Посилання в цій відповіді завантажується з вірусами.
Ви можете використовувати регістри зсуву ( http://en.wikipedia.org/wiki/Shift_register ), щоб отримати стільки паралельних виходів з одного послідовного потоку, скільки вам потрібно.
Вам потрібно буде потурбуватися про свої обмеження влади. Я фактично ніколи не використовував Arduino сам, але я припускаю, що він має обмеження струму так само, як це роблять PIC. Також регістри зсуву самі матимуть обмеження струму. Якщо ви зіткнетеся з цим, вам потрібно буде переглянути щось на зразок MOSFET, що дозволяє вам керувати світлодіодами, не виймаючи багато енергії безпосередньо з мікроконтролера.
Будь-який контактний мікроконтролерний штифт AVR може подавати джерело до 40 мА, а загальна потужність живлення, джерела чи затоплення мікросхеми (тобто в землі та штифтах Vcc), повинна бути нижче 200 мА.
Charlieplexing є відмінним рішенням для ситуацій , коли вам потрібно багато світлодіодів, але може обійтися тільки один світлодіод горить одночасно. Стандартна плата Arduino (як-от Duemilanove) забезпечує 17 "безкоштовних" вводу-виводу штифтів, не рахуючи TX, RX, Скидання або штифт 13. Отже, ви можете підключити 17 * 16 = 272 світлодіоди. Це може працювати добре, особливо якщо ви тримаєте один світлодіод або швидко скануєте лише декілька. Але якщо ви намагаєтеся освітлити всю матрицю візерунком, ви виявите, що кожна ввімкнена (трохи менше) 1/272 часу, тому якщо струм вашого приводу в будь-який момент був 30 мА, кожен світлодіод середній струм буде близько 0,1 мА-- досить тьмяний.
Якщо вам не потрібно стільки світлодіодів, але натомість потрібно більше яскравості, традиційний мультиплексування може бути кращим варіантом. У цьому випадку ви використовуєте деякі свої рядки як рядки, а деякі як стовпці в матриці. Якщо ви використовуєте світлодіодний струм потужністю 10 мА, ви можете визначити матрицю з 4 стовпців та 13 рядків, де одночасно можуть бути включені всі 4 світлодіоди в одному ряду, і ви скануєте їх через рядки. Тоді кожен ряд знаходиться на 1/13 часу при струмі 10 мА, тому середній світлодіодний струм може досягати 0,76 мА, АЛЕ ви отримуєте лише 4 * 13 = 104 світлодіоди. (Однозначно яскравіше на світлодіод, ніж у шарліплекс.)
Межа в останньому прикладі - 40 мА на штир на AVR - оскільки кожен ведучий штифт джерела 4х10 = 40 мА. Якщо ви дозволите додавати зовнішні транзистори (які можуть бути дешевими і невеликими) до рядкових виходів, то ви можете уникнути цього конкретного обмеження і піти яскравіше. Наприклад, ви можете створити масив 8x9 з 8 рядками та 9 стовпцями, загалом 72 світлодіодами. Один з 8 рядів включений за один раз, вибраний через транзистор. До всіх 9 світлодіодів у заданому ряду можна вмикати одночасно, приводячись у напругу 20 мА, тому 180 мА виходить з транзистора, і ви залишаєтесь за поточними межами АВР. Середній струм на світлодіод зараз 20 мА / 8 = 2,5 мА - зазвичай досить яскравий.
Там дуже хороший, докладний підручник тут , який включає в себе розділ з допомогою Arduino , щоб запустити 8x8x8 світлодіодний куб. (Не пропустіть фільм YouTube, який вони створили)
З 17 введеннями / виводами, сімнадцятьма транзисторами NPN (послідовниками випромінювачів для посилення струму) не повинно виникати особливих проблем, що показують 272 світлодіоди у довільних комбінаціях при робочому циклі 1/17, із середнім струмом або 0,7 мА (200mA / 272), обмеженим здатність чіпа знижувати 200 мА одночасно. Додавання діода для падіння 0,7 вольта дозволить додати ще 17 світлодіодів (зменшивши робочий цикл до 1/18), хоча яскравість не буде повністю відповідати іншим.
У той час як Вінделл Оскай робить хороший аргумент, що 104 світлодіодів - це максимум, не додаючи більше транзисторів, Том Іго розмістив фотографії матриці із 128 світлодіодів, безпосередньо керованих одним Arduino Mega - без зайвих транзисторів, дискретних чи інтегрованих.
Чи Том Ігуе "обманює", коротко перевищивши "абсолютний максимальний струм на штифт", вказаний у листі даних?