[image]

Arduino

Перенос из темы «Идеи для Arduino»
 
1 2 3 4 5 6
RU Balancer #12.12.2014 22:35  @Валентин_НН#12.12.2014 22:28
+
-
edit
 

Balancer

администратор
★★★★★
В.Н.> ага. ясно. если заморочиться, то можно управлять яркостью этих сегментов, посредством ШИМ модуляции. так?

Если хватит скорости передачи данных по интерфейсу, чтобы сильно не мигало.

...

Если хочется совсем гибко рулить изображением и яркостью, закажи что-то типа такого:

1.8 " серийный SPI TFT жк модуль + печатной платы адаптер питания IC SD 128 X 160, принадлежащий категории ЖК-модули и относящийся к Электронные компоненты на сайте AliExpress.com | Alibaba Group

Дешевое 1.8 " серийный SPI TFT жк модуль + печатной платы адаптер питания IC SD 128 X 160, Купить Качество ЖК-модули непосредственно из китайских фирмах-поставщиках:     Бесплатная доставка! 20 шт./лот Нью-LED Mushroom Нажмите Вниз сенсорный лампа ночник подарок // www.aliexpress.com
 


А ещё такие штуки есть для индикации уровня:

1 шт. желтый, Синий цвет 128 X 64 OLED из светодиодов для Arduino 0.96 " I2C IIC SPI последовательный новый оригинальный, принадлежащий категории ЖК-модули и относящийся к Электронные компоненты на сайте AliExpress.com | Alibaba Group

Дешевое 1 шт. желтый, Синий цвет 128 X 64 OLED из светодиодов для Arduino 0.96 " I2C IIC SPI последовательный новый оригинальный, Купить Качество ЖК-модули непосредственно из китайских фирмах-поставщиках: Желтый , синий двойной цвет 128X64 OLED LCD модуль Светодиодный дисплей для Arduino 0,96 " I2C IIC SPI последовател // www.aliexpress.com
 
   3838
RU Валентин_НН #12.12.2014 22:37  @Серокой#12.12.2014 22:30
+
-
edit
 

Валентин_НН

литератор
★★☆
В.Н.>> ага. ясно. если заморочиться, то можно управлять яркостью этих сегментов, посредством ШИМ модуляции. так?
Серокой> Если не жалко вычислительных ресурсов, которые будут заняты на постоянное дёргание ногами, то можно. :)

пока важен принцип. это просто задача для программирования
   39.0.2171.9539.0.2171.95
RU Серокой #12.12.2014 22:42  @Валентин_НН#12.12.2014 22:37
+
-
edit
 

Серокой

координатор
★★★★
В.Н.> пока важен принцип. это просто задача для программирования

Кстати, если есть аппаратный ШИМ, то можно его завести на ключ, который питает всю линейку. Тогда ресурсы высвободятся.
   
RU Валентин_НН #12.12.2014 22:47  @Серокой#12.12.2014 22:42
+
-
edit
 

Валентин_НН

литератор
★★☆
В.Н.>> пока важен принцип. это просто задача для программирования
Серокой> Кстати, если есть аппаратный ШИМ, то можно его завести на ключ, который питает всю линейку. Тогда ресурсы высвободятся.

ну, тогда мы будем регулировать яркость всей линейки одновременно. а меня интересует яркость каждого сегмента в отдельности
   39.0.2171.9539.0.2171.95
RU Balancer #13.12.2014 04:58  @Валентин_НН#12.12.2014 22:47
+
-
edit
 

Balancer

администратор
★★★★★
В.Н.> ну, тогда мы будем регулировать яркость всей линейки одновременно. а меня интересует яркость каждого сегмента в отдельности

Тогда можно взять исходный индикатор в чистом виде и повесить не на 4 проводка, а на 11 и ШИМить каждый сегмент :)

Visual Network Threat Level Indicator using Arduino -

Network monitoring is very important in todays world. The internet is a scary place. People have taken steps to raise their awareness by installing Intrusion Detection Systems(IDS) such as SNORT. The problem with most of these systems is that upon first installing them they are vigilantly watched. After a week the allure wears off and … // duino4projects.com
 

Paul's Electronics | Arduino projects: LED 10-bar array

янв172010 Published by paul at 19:39 under Arduino | LED Projects | Example Code | Example Movies I finally had some time over the last two days to play with the Arduino board I picked up late last year. The Arduino is a pretty neat concept - wrapping a microcontroller up in a neat board that makes playing with sensors, displays, motors, etc and prototyping very simple. It's all open source and you can read more about it on their homepage (which also has a freeware IDE to use for programming. The board I have uses Amtel's ATmega328P processor, with 32K of flash memory and can do 20MIPS. // Дальше — www.sqlskills.com
 

10 Segment LED Bar Graph (SKU:FIT0188) - Robot Wiki

These 10 segment bar graph LEDs have many uses. With a compact footprint, and a simple hookup, they are easy for prototyping or finished products. Essentially, they are 10 individual red LEDs housed together. Please note that the connection diagram shows the pins connected in reverse order for the sake of clarity. When you run the sample code included here you might notice a reverse order sequence. If you wish to wire the LEDs in the correct order you should wire: Arduino D2 to PIN1 Arduino D3 to PIN2 Arduino D4 to PIN3 Arduino D5 to PIN4 and so on... // Дальше — www.dfrobot.com
 
   39.0.2171.7139.0.2171.71
RU GOGI #13.12.2014 06:15  @Валентин_НН#12.12.2014 22:28
+
-
edit
 
В.Н.> ага. ясно. если заморочиться, то можно управлять яркостью этих сегментов, посредством ШИМ модуляции. так?
Теоретически можно. Особенно если подключить этот сдвиговый регистр к аппаратному SPI контроллера, а не к произвольным пинам.
   34.034.0
RU Валентин_НН #15.12.2014 08:26  @GOGI#12.12.2014 21:09
+
-
edit
 

Валентин_НН

литератор
★★☆
GOGI> Не, он работает не так. В него ты загружаешь число по последовательному интерфейсу, а выводит он его на параллельный. ТО есть загрузил ты в него 10010001 то у него на 0, 4 и 7 ноге параллельного интерфейса появятся единички (плюсы). Так что ты можешь зажигать элементы совершенно произвольно.
Идея в цикле загружать в сдвиговый регистр поочередно 10010001 и 10000001, чтобы получить два ярких светодиода и один с 50% яркостью, - очень смешная?

а этим сдвиговым регистром получается можно рулить, скажем, восемью шаговыми двигателями? Считая, сколько раз мы послали единицу на каждый разряд(?) мы сможем узнать, в каком положении у нас находится манипулятор. Так?
Ну или можно рулить четырьмя двигателям. каждый из которых управляется двумя ногами: 01 - крутим вправо, 10 - влево, 00 - стоп.

мда. фигово объясняться, не зная даже базовой терминологии. Поищу какую-нить книжку "микропроцессоры для чайников"
   39.0.2171.9539.0.2171.95
RU Balancer #15.12.2014 08:45  @Валентин_НН#15.12.2014 08:26
+
-
edit
 

Balancer

администратор
★★★★★
В.Н.> Идея в цикле загружать в сдвиговый регистр поочередно 10010001 и 10000001, чтобы получить два ярких светодиода и один с 50% яркостью, - очень смешная?

Я писал выше — зависит от скорости I2C канала. Сейчас глянул — 128кбит/с должно быть. Если у нас один байт только управляет, тогда скорость мерцания будет килогерцовых частот, что отлично.

В.Н.> а этим сдвиговым регистром получается можно рулить, скажем, восемью шаговыми двигателями? Считая, сколько раз мы послали единицу на каждый разряд(?) мы сможем узнать, в каком положении у нас находится манипулятор. Так?

В общем, да.
   39.0.2171.9539.0.2171.95
RU GOGI #15.12.2014 09:00  @Валентин_НН#15.12.2014 08:26
+
-
edit
 
В.Н.> Идея в цикле загружать в сдвиговый регистр поочередно 10010001 и 10000001, чтобы получить два ярких светодиода и один с 50% яркостью, - очень смешная?
Да нет, вполне нормальная, если в конкретном случае хватает скорости.
Все что ты написал можно. Но, пока у тебя есть ноги самого контроллера - не нужно. У тебя и так около 20 входов-выходов, неужели мало? Теми же светодиодами можно рулить очень малым числом выходов, используя мультиплексирование, например, простая матрица 4*4 займет 8 ножек и может управлять 16 светодиодами. А используя более продвинутые техники, например:

Charlieplexing - Wikipedia, the free encyclopedia

Charlieplexing is a technique proposed in early 1995 by Charlie Allen at Maxim Integrated for driving a multiplexed display in which relatively few I/O pins on a microcontroller are used to drive an array of LEDs. The method uses the tri-state logic capabilities of microcontrollers in order to gain efficiency over traditional multiplexing. Although it is more efficient in its use of I/O, there are issues that cause it to be more complicated to design and render it impractical for larger displays. These issues include duty cycle, current requirements and the forward voltages of the LEDs. // Дальше — en.wikipedia.org
 

теми же 8 ножками ты можешь управлять 56 светодиодами.
   34.034.0
Balancer> Я писал выше — зависит от скорости I2C канала.
Роман, зачем сдвиговому регистру I2C?
   34.034.0

Balancer

администратор
★★★★★
GOGI> У тебя и так около 20 входов-выходов, неужели мало?

Если будет мало, можно взять Arduino Mega 2560 за $11 с 54 цифровыми ногами и 16 аналоговыми :)

Бесплатная доставка мега 2560 R3 Mega2560 REV3 ATmega2560 16AU + USB кабель совместимость для arduino высокое качество низкая цена, принадлежащий категории Прочие электронные компоненты и относящийся к Электронные компоненты на сайте AliExpress.com | Alibaba Group

Дешевое Бесплатная доставка мега 2560 R3 Mega2560 REV3 ATmega2560 16AU + USB кабель совместимость для arduino высокое качество низкая цена, Купить Качество Прочие электронные компоненты непосредственно из китайских фирмах-поставщиках: мега 2560+1pcs 1 шт usb кабельмикроконтроллерatmega2560 рабочее напряжение5v входного напряжения рекоменд // www.aliexpress.com
 

Кстати, про I²C и экономию ножек/проводов. Такая штука недавно пришла за $2.5:

W110 4 бит цифровой трубки из светодиодов модуль с часами табло для Arduino DIY, принадлежащий категории Прочие электронные компоненты и относящийся к Электронные компоненты на сайте AliExpress.com | Alibaba Group

Дешевое W110 4 бит цифровой трубки из светодиодов модуль с часами табло для Arduino DIY, Купить Качество Прочие электронные компоненты непосредственно из китайских фирмах-поставщиках:                                                                           Модуль пре // www.aliexpress.com
 

Лежит в запасе :)
   39.0.2171.9539.0.2171.95
RU Валентин_НН #15.12.2014 09:54  @Balancer#15.12.2014 09:05
+
-
edit
 

Валентин_НН

литератор
★★☆
GOGI>> У тебя и так около 20 входов-выходов, неужели мало?
Balancer> Если будет мало, можно взять Arduino Mega 2560 за $11 с 54 цифровыми ногами и 16 аналоговыми :)
тут да, надо понять выгоду между готовой Meg`ой и самопальным решением с регистрами, мультиплексорами и пр.
повторяюсь - вопросы пока сугубо теоретические. Даже несколько неудобно отвлекать многоуважаемое сообщество от вопросов умножения вектора на матрицу 20млн раз в секунду
Просто кажется несколько расточительным истратить почти половину ног только на то, чтобы зажигать линейку диодов.
   39.0.2171.9539.0.2171.95
RU GOGI #15.12.2014 12:38  @Валентин_НН#15.12.2014 09:54
+
-
edit
 
В.Н.> Просто кажется несколько расточительным истратить почти половину ног только на то, чтобы зажигать линейку диодов.
От этого надо сразу отвыкать.
   34.034.0
+
-
edit
 

StSgt

опытный

Balancer> Лежит в запасе :)

гусеничного шасси-робота для ардуино случайно в запасе не лежит? всё порывалси купить да вот протянул.. :(
   34.034.0
+
-
edit
 

Balancer

администратор
★★★★★
StSgt> гусеничного шасси-робота для ардуино случайно в запасе не лежит? всё порывалси купить да вот протянул.. :(

Нет, я зубы точил на такое шасси:

Бесплатная доставка! Салона автомобиля управления по радио интеллектуальный робот учебные программы на основе небольшой черепаха для arduino, принадлежащий категории Интегральные схемы и относящийся к Электронные компоненты на сайте AliExpress.com | Alibaba Group

Дешевое Бесплатная доставка! Салона автомобиля управления по радио интеллектуальный робот учебные программы на основе небольшой черепаха для arduino, Купить Качество Интегральные схемы непосредственно из китайских фирмах-поставщиках: параметры:1. диапазон напряжения: 1,5-12v, вал длина: 10мм, 6.0v 50100 об/мин.2. l298n выбора управления двигателем моду // www.aliexpress.com
 

Но тоже так и не успел взять :)
   3939
RU Валентин_НН #15.12.2014 15:47  @GOGI#15.12.2014 12:38
+
-
edit
 

Валентин_НН

литератор
★★☆
В.Н.>> Просто кажется несколько расточительным истратить почти половину ног только на то, чтобы зажигать линейку диодов.
GOGI> От этого надо сразу отвыкать.
это почему ещё? В своё время луноход ездил, небось, на паре транзисторов. А мы тут с барского плеча половину интерфейса отдаём только на мигание лампочками. Как-то это не по-совеццки
   39.0.2171.9539.0.2171.95
RU GOGI #15.12.2014 18:43  @Валентин_НН#15.12.2014 15:47
+
-
edit
 
В.Н.> это почему ещё? В своё время луноход ездил, небось, на паре транзисторов.
Но у него не было второй пары транзисторов, которую он возил просто так. Нет смысла не использовать то, что есть на борту МК, а ставить дополнительные детали.
   34.034.0
EU Татарин #15.12.2014 18:48  @Валентин_НН#15.12.2014 09:54
+
-
edit
 

Татарин

координатор
★★★★★
В.Н.> Просто кажется несколько расточительным истратить почти половину ног только на то, чтобы зажигать линейку диодов.
Тут должна быть совсем иная психология при проектировании. В дело должны идти только критерии "хватает/не хватает".
А что до "расточительности", то лучше мнимая "расточительность", чем абсурдная скаредность, которая заставляет ПОМИМО корпуса контроллера втыкать ещё кучу рассыпухи (которая по нынешним временам не сильно-то дешевле самого МК, а ещё - жрёт энергию, занимает место и вообще требует дополнительной возни с монтажом).

Правильный советский подход - это искать такие решения, которые дают максимум надёжности и эффективности при минимуме затрат.
И если ног контроллеру на всё потребное хватает, то именно запитка линейки диодов от половины ног - самый верный выбор.
А если не хватает, чаще всего правильным будет взять контроллер с бОльшим количеством ног.
   39.0.2171.9539.0.2171.95
EU Татарин #15.12.2014 18:51  @Татарин#15.12.2014 18:48
+
-
edit
 

Татарин

координатор
★★★★★
Татарин> А если не хватает, чаще всего правильным будет взять контроллер с бОльшим количеством ног.
А ещё "хуже" то, что по нынешним временам взять дополнительный контроллер и организовать взаимодействие с первым будет часто дешевле (и при производстве, и в разработке), быстрее и надёжнее, чем ваять жёсткую логику на рассыпухе. :)
   39.0.2171.9539.0.2171.95
RU Валентин_НН #15.12.2014 21:17  @Татарин#15.12.2014 18:51
+
-
edit
 

Валентин_НН

литератор
★★☆
и всё-таки истина где-то рядом.
естественно, не надо рассматривать крайние случаи, когда для того чтобы организовать четыре светодиодных столба надо задействовать два Ардуино. Равно как и другой случай, когда на макетке рядом с МК собирается такой-же контроллер, но из рассыпухи.
Речь идёт о том, что для того, чтобы выбрать оптимальное решение для данной задачи, надо обладать палитрой инструментов.
Поскольку в моей палитре пока есть только сдвиговый регистр, то я пытаюсь выжать из него максимум. Ну, по крайней мере, понять на что он способен. Возможно, когда-нибудь эти знания пригодятся.

а наращивание "железячной" мощи в лоб- ну, это как-то моветон (опять-же, не всегда). Вон, АХТ парится задачей тридцатикратного повышения производительности расчётов. Чё-то никто не советует ему докупить двадцать девять системников.

В своё время меня подивили "демосцены". ещё в досовские времена. Люди в какие-то килобайты ухитрялись чуть-не трёхмерную графику запихивать. ещё и с музыкой.
щас нигде не смог найти примеров. нашёл только на Лурке, но это немного не то.

Демосцена — Lurkmore

Демосцена — это сообщество людей (сценеров), которые занимаются созданием демо: компьютерных программ как вида искусства, главной особенностью которого является выстраивание видеоряда с музыкальным сопровождением, выводимых компьютером в реальном времени. Всё это создается на некоммерческой основе и потому, как нетрудно догадаться, большую часть сценеров составляют ботаны и гики. Впрочем, в конце концов обычно сабжевые люди взрослеют и попадают на позиции технических специалистов в EA, Lucas Arts и SCEE, где используют свое умение заставлять графическое железо плакать кровью и срать кирпичами. // Дальше — lurkmore.to
 
   39.0.2171.9539.0.2171.95
RU Balancer #15.12.2014 22:49  @Валентин_НН#15.12.2014 21:17
+
-
edit
 

Balancer

администратор
★★★★★
В.Н.> щас нигде не смог найти примеров

Под современными ОС старые классические демо не запустить. Они были очень жёстко прибиты гвоздями к железу.

Сегодня в моде демо на Java, JS и т.п. Но старый дух был утерян.
   3939
RU Валентин_НН #16.12.2014 08:45  @Balancer#15.12.2014 22:49
+
-
edit
 

Валентин_НН

литератор
★★☆
Balancer> Они были очень жёстко прибиты гвоздями к железу.
для микроконтроллеров действует такое-же правило? Прога написанная на ассемблере пол конкретный МК будет меньше и эффективней, чем написанная на С+?
   39.0.2171.9539.0.2171.95
RU GOGI #16.12.2014 08:49  @Валентин_НН#16.12.2014 08:45
+
-
edit
 
В.Н.>Прога написанная на ассемблере пол конкретный МК будет меньше и эффективней, чем написанная на С+?
Прога, написанная хорошим программистом. Ну или совсем маленькая, типа помигать светодиодом. И, разве в Ардуино C++? Там же вроде C.
   34.034.0

Balancer

администратор
★★★★★
GOGI> И, разве в Ардуино C++? Там же вроде C.

Там модифицированный C++. 

Язык программирования Ардуино является стандартным C++ (используется компилятор AVR-GCC) с некоторыми особенностями, облегчающими новичкам написание первой работающей программы.
  • Программы, написанные программистом Ардуино(также называются наброски или иногда скетчи - варваризм от англ. sketch) и сохраняются в файлах с расширением ino. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы C++.
  • Обязательную в C++ функцию main() препроцессор Ардуино создает сам, вставляя туда необходимые «черновые» действия.
  • Программист должен написать две обязательные для Ардуино функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.
  • В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Ардуино в соответствии с конфигурацией проекта. Однано пользовательские библиотеки нужно указывать.
  • Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки и они вносятся в список компиляции.
  • Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск проблем.
Простейшая Ардуино-программа состоит из двух функций:
  • setup(): функция вызывается однократно при старте микроконтроллера.
  • loop(): функция вызывается после setup() в бесконечном цикле все время работы микроконтроллера.
 
   39.0.2171.9539.0.2171.95
EU Татарин #16.12.2014 14:32  @Валентин_НН#16.12.2014 08:45
+
-
edit
 

Татарин

координатор
★★★★★
Balancer>> Они были очень жёстко прибиты гвоздями к железу.
В.Н.> для микроконтроллеров действует такое-же правило? Прога написанная на ассемблере пол конкретный МК будет меньше и эффективней, чем написанная на С+?
В принципе, да.
Скажем, ещё 10 лет назад на некоторых МК один только С-рантайм занимал почти половину ПЗУ программ. То есть, ты ещё ничего не написал, а пол-ПЗУ уже сожрано. Ну и любовь компиляторов С хранить на стеке всё подряд быстро выжирала микроскопический стек мелких МК, делая невозможным написание чего-то хоть сколько-то сложного.

Сейчас принципиально - всё то же, но ситуация количественно настолько отличается, что смысла возиться с ассемблером уже нет, разве что в исключительнех случаях и ради ОЧЕНь большой любови к искусству. Та же самая история, что и с ногами: ну сэкономить ты пять ног (или 500 байт ПЗУ), и нафига они тебе, сэкономленые и незадействованные, в готовом устройстве? :)
А если проект уже настолько большой, что реально не хватает памяти, то переписывать его на ассемблер уж точно - безумие, и самое правильное - взять МК побольше.

Наверное, кто-то, кто делает ОЧЕНЬ крупносерийную продукцию (типа мышек) ещё мог бы сейчас возиться с НУ-программированием... но и то сомнительно...
   39.0.2171.9539.0.2171.95
1 2 3 4 5 6

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru