Скільки окремих вогнів може керувати ардуїно


19

Я хочу використовувати звичайну плату Arduino для управління світлодіодами - що таке найбільше вогнів, якими я можу керувати окремо з плати?

Чи є підручник, як його підключити?


3
Вам потрібно вказати, чи хочете ви керувати одним або кількома світлодіодами. Також я б додав "уникнення послідовного контролю та додаткових ІС". Відповідь, як правило, нескінченна, якщо частота оновлення або апаратні частини не є обмеженням.
ppvi

Відповіді:


26

Я вважаю, що за допомогою 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


сьогодні дізналися щось нове; у вас є мій висновок :-)
JonathanD

4
Пам'ятайте, що за допомогою цього методу можна одночасно включати лише світлодіоди N-1.
AngryEE

2
jimmieprodgers.comПосилання в цій відповіді завантажується з вірусами.
Vivek Maharajh

1
@vivekmaharajh: я замінив посилання на копію оригінальної сторінки archive.org.
Трейд Дейва

13

Ви можете використовувати регістри зсуву ( http://en.wikipedia.org/wiki/Shift_register ), щоб отримати стільки паралельних виходів з одного послідовного потоку, скільки вам потрібно.

Вам потрібно буде потурбуватися про свої обмеження влади. Я фактично ніколи не використовував Arduino сам, але я припускаю, що він має обмеження струму так само, як це роблять PIC. Також регістри зсуву самі матимуть обмеження струму. Якщо ви зіткнетеся з цим, вам потрібно буде переглянути щось на зразок MOSFET, що дозволяє вам керувати світлодіодами, не виймаючи багато енергії безпосередньо з мікроконтролера.


7

Будь-який контактний мікроконтролерний штифт 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 мА - зазвичай досить яскравий.


6

Там дуже хороший, докладний підручник тут , який включає в себе розділ з допомогою Arduino , щоб запустити 8x8x8 світлодіодний куб. (Не пропустіть фільм YouTube, який вони створили)

введіть тут опис зображення


Схоже, щось я бачив на виставці НЛО в Міннеаполісі приблизно в 1979 році, але я пам’ятаю це як близько 4096 мініатюрних лампочок. Хтось ще пам’ятає, що бачив щось подібне?
supercat

4

Існує багато розширювачів вводу-виводу, які використовують шини SPI або I2C. За допомогою одного модуля MSSP ви можете керувати майже нескінченною кількістю цифрових виходів, як світлодіоди.

Див. Таблиці даних Microchip або примітки до додатків для наступних частин:
SPI - MCP23S08
I2C - MCP23008


1

З 17 введеннями / виводами, сімнадцятьма транзисторами NPN (послідовниками випромінювачів для посилення струму) не повинно виникати особливих проблем, що показують 272 світлодіоди у довільних комбінаціях при робочому циклі 1/17, із середнім струмом або 0,7 мА (200mA / 272), обмеженим здатність чіпа знижувати 200 мА одночасно. Додавання діода для падіння 0,7 вольта дозволить додати ще 17 світлодіодів (зменшивши робочий цикл до 1/18), хоча яскравість не буде повністю відповідати іншим.


Чи можете ви уточнити, яку схему ви тут пропонуєте? Послідовник випромінювачів - топологія BJT.
Кевін Вермер

@reemrevnivek: Див. редагування вище. Я подумки обкидав кілька варіацій, і вони заплуталися разом. Якщо ви додаєте транзистори для посилення накопичувача на високій стороні, але не з низької сторони, вони повинні бути BJT. Якби один використовував транзистори для обох, мосфети можуть бути краще.
supercat

0

У той час як Вінделл Оскай робить хороший аргумент, що 104 світлодіодів - це максимум, не додаючи більше транзисторів, Том Іго розмістив фотографії матриці із 128 світлодіодів, безпосередньо керованих одним Arduino Mega - без зайвих транзисторів, дискретних чи інтегрованих.

Чи Том Ігуе "обманює", коротко перевищивши "абсолютний максимальний струм на штифт", вказаний у листі даних?


2
Ні, він обманює, використовуючи мега ардуїно. :) Мега має набагато більше штифтів IO, ніж звичайний ардуїно.
Крістофер Біггс

@unixbigot - Сумно, я сподівався побачити класний злом, пов'язаний з повторним використанням перезавантажувального штифта для керування світлодіодом або використання падіння діода ..
Кевін Вермер

1
Ваше посилання мертве, і ви, ймовірно, повинні посилатися на відповідь Уіндела Оская . Можливо, це не здається важливим, коли ви публікуєте повідомлення, але в міру появи нових відповідей ваша публікація стає віддаленою від інших.
Кевін Вермер

@KevinVermeer: ​​посилання виправлено вказівкою на копію оригінальної сторінки archive.org.
Трейд Дейва
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.