Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC > Arduino
Ответ
 
Опции темы Опции просмотра
Старый 13.03.2017, 15:24   #26
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,853
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,634
Поблагодарили 3,271 раз(а) в 1,169 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3282)
По умолчанию

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
А delay() надо делать перед detach(
Хм. Скорее delay() - это зло для программ реального времени.

detach() надо делать после достижения сервой целевого угла, а достижение угла должно отрабатываться в фоновом режиме. иначе пока переводится одна стрелка - декодер может пропустить команды по остальным.
shalex на форуме  
Вверх
Старый 13.03.2017, 15:41   #27
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

Цитата:
Сообщение от Dampflok Посмотреть сообщение
И на 15 серв с одной платы возможно
я вам больше скажу, даже 40 можно. Но, куда вы кнопки и светодиоды подключать собрались?

Цитата:
Сообщение от kuli Посмотреть сообщение
3 ардуины?
пять. на одну уну три сервы.
Цитата:
Сообщение от Andrew78 Посмотреть сообщение
питание серв отдельную "шину" кинуть
Да, если количество серв большое - то их на отдельный источник нужно вешать.

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
У меня 2 сервы одновременно крутились
на видео у меня есть такой момент. специально делал, чтобы показать одновременную работу серв

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
А delay()
именно поэтому я и не люблю delay()

Цитата:
Сообщение от kudrdima Посмотреть сообщение
повернув её на 1 градус, "ардуина" обращается к следующей
совершенно верно. но поворачивает она не при каждом проходе цикла, а только если время предыдущего поворота меньше текущего на заданный интервал (таким образом регулируется скорость вращения)

---------- Сообщение добавлено в 15:37 ---------- Предыдущие сообщение было в 15:36 ----------

Цитата:
Сообщение от shalex Посмотреть сообщение
Скорее delay() - это зло для программ реального времени.
нет, не так. для многозадачных программ.
Поэтому, если нужна одновременная работа нескольких серв с раздельным управлением (многозадачность) - delay() зло

---------- Сообщение добавлено в 15:41 ---------- Предыдущие сообщение было в 15:37 ----------

Цитата:
Сообщение от мистер И.К.С. Посмотреть сообщение
у вас разве атмега8 ?
Нет. Вы схему смотрели? 3 кнопки, 6 светодиодов, 3 сервы итого: 4 выхода на один канал.
Ну еще можно аналоговые задействовать, еще одна серва будет.
BNSF9399 вне форума  
Вверх
Старый 13.03.2017, 15:45   #28
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

У меня стоит на меге такая на 16 серв:
Нажмите на изображение для увеличения
Название: PCA9685.jpg
Просмотров: 772
Размер:	158.6 Кб
ID:	141042
Их можно до 30 таких плат на одну Дуню. И джитера нет, проверял сразу 10 серв работали и после остановки полное спокойствие. Кнопки и диоды можно через сдвиговые регистры, тогда их количество не ограничено в разумных пределах.
AleksSF вне форума  
Вверх
Старый 13.03.2017, 15:46   #29
Andrew78
Заглянувший
 
Регистрация: 15.01.2012
Адрес: Минск
Сообщений: 30
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 7
Поблагодарили 12 раз(а) в 7 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: на пути к лучшему (12)
По умолчанию

Я уже нашел как делать. Перед "поворотом" сервы, запоминать момент времени, и потом просто сравнивать сколько времени прошло, и после этого отключать серву. Ну и вроде где то видел команду (или показалось), которая возвращает текущий угол сервы.
Andrew78 вне форума  
Вверх
Старый 13.03.2017, 15:49   #30
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Кнопки и диоды можно через сдвиговые регистры, тогда их количество не ограничено в разумных пределах.
вы это советуете камраду?
Цитата:
Сообщение от kuli Посмотреть сообщение
В вопросе ардуино ничего не понимаю
Цитата:
Сообщение от AleksSF Посмотреть сообщение
У меня стоит на меге такая на 16 серв:
неплохой вариант.
BNSF9399 вне форума  
Вверх
Старый 13.03.2017, 15:55   #31
kuli
Заглянувший
 
Регистрация: 09.01.2016
Адрес: Санкт-Петербург
Сообщений: 103
Сказал(а) 'не согласен(а)'!: 3
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 305
Поблагодарили 50 раз(а) в 29 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (50)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
джитера .................Кнопки и диоды можно через сдвиговые регистры..........................
Читаю и плачу. О чем он, кто это такие
Пойду мануал еще раз почитаю, может пойму...
А вопрос про 15 серв мне интересен. Может кто растолковать?
kuli вне форума  
Вверх
Старый 13.03.2017, 16:01   #32
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от kuli Посмотреть сообщение
Пойду мануал еще раз почитаю, может пойму...
Почитайте здесь. Через неделю все будет понятно.
http://wiki.iarduino.ru
http://arduino.ru/Reference
http://wiki.amperka.ru
AleksSF вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 13.03.2017, 16:08   #33
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

Цитата:
Сообщение от kuli Посмотреть сообщение
А вопрос про 15 серв мне интересен. Может кто растолковать?
любая плата имеет ограниченное количество входов/выходов.
Если вам не нужна индикация - вы на одну Arduino Uno можно подключить до 6-ти серв.
Если вы используете внешний модуль, по типу https://ru.aliexpress.com/item/Free-...568608562.html
то можно и 16-ть, но тоже без индикации.
BNSF9399 вне форума  
Вверх
Старый 13.03.2017, 16:17   #34
Dampflok
Заглянувший
 
Регистрация: 17.06.2013
Адрес: Санкт-Петербург
Сообщений: 227
Сказал(а) 'не согласен(а)'!: 8
Сказали 'не согласен'! 4 раз(а) в 2 сообщениях
Сказал(а) спасибо: 206
Поблагодарили 329 раз(а) в 99 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: как роза среди колючек (329)
По умолчанию

Цитата:
Сообщение от kudrdima Посмотреть сообщение
Если Вы внимательно посмотреть на предложенный скетч, то видно, что в каждый момент времени обращение идёт лишь к одной серве, и повернув её на 1 градус, "ардуина" обращается к следующей.
ПризнаЮсь, предложенный в посте #1 скетч я посмотрел и онМнеНеПонравился

Цитата:
Сообщение от kuli Посмотреть сообщение
А как не научите?
Издеваетесь?
Всё просто:
Вам нужно для начала
1. поставить перед собой какую-либо очень простую, элементарную цель
(например, мигание встроенным диодом с желаемой частотой, поворот вала сервомотора на 90°),
2. освоить самые азы программирования написания ардуиновых скетчей и
3. знать, что скетч заливается в ардуину через USB-кабель и ардуина может через оный же получать электропитание.
А дальше Вы будете усложнять Ваши скетчи и увидите сами - возврата предела нет...
Будут конкретные вопросы, задавайте!


Цитата:
Сообщение от kuli Посмотреть сообщение
Читаю и плачу. О чем он, кто это такие
А вопрос про 15 серв мне интересен. Может кто растолковать?
Не плачьте! Разберитесь сначала просто с работой самой ардуины,
а потом сами наприбавляете компонентов по вкусу (диодов, сервомоторов и сдвиговых регистров и прочего...).
Как справедливо написал коллега
Цитата:
Сообщение от AleksSF Посмотреть сообщение
Почитайте здесь. Через неделю все будет понятно.
.
Dampflok вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 13.03.2017, 16:23   #35
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,853
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,634
Поблагодарили 3,271 раз(а) в 1,169 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3282)
По умолчанию

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
Я уже нашел как делать. Перед "поворотом" сервы, запоминать момент времени, и потом просто сравнивать сколько времени прошло, и после этого отключать серву. Ну и вроде где то видел команду (или показалось), которая возвращает текущий угол сервы.
Хм, команда возвращает только целевое значение PWM, т.е. значение, которое серве надо достичь, но само положение сервы считать нельзя. Возможно и есть какие-то цифровые сервы с обратной связью, но у "обычной" сервы вроде как нельзя считать текущее положение.

---------- Сообщение добавлено в 16:20 ---------- Предыдущие сообщение было в 16:18 ----------

Цитата:
Сообщение от BNSF9399 Посмотреть сообщение
нет, не так. для многозадачных программ.
Поэтому, если нужна одновременная работа нескольких серв с раздельным управлением (многозадачность) - delay() зло
Спасибо за уточнение, перефразирую - delay() крайне вреден для систем реального времени, включая многозадачные.

---------- Сообщение добавлено в 16:23 ---------- Предыдущие сообщение было в 16:20 ----------

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
Я уже нашел как делать. Перед "поворотом" сервы, запоминать момент времени, и потом просто сравнивать сколько времени прошло, и после этого отключать серву.
Совершенно верно, только еще и сам поворот выполняется дискретно, тоже на основе запоминания времени с последней итерации. Поэтому можно плавно (по шагам) поворачивать серву не используя delay() совсем и в определенных границах регулировать скорость перевода сервы/стрелки, если analogWrite, то 256 положений сервы возможно. Если задействовать PCA9685 - там, возможно, дискретность можно повысить, т.к. там, кажись, можно управлять шириной импульса в более широких пределах.
shalex на форуме  
Вверх
Старый 13.03.2017, 16:28   #36
vitaliyboch
Новичок
 
Аватар для vitaliyboch
 
Регистрация: 28.12.2016
Адрес: Нижний Новгород
Сообщений: 48
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 12
Поблагодарили 34 раз(а) в 15 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: на пути к лучшему (34)
По умолчанию

Я тоже на Ардуине хочу замутить управление блок-участками, светофорами и стрелками.
В первом приближении у меня получается так.
Входы 21 штука:
- 16 кнопок без фиксации для перевода стрелок
- 5 датчиков тока с путевых блок-участков
Выходы 41 штука (силовые через реле):
- 8 стрелок на соленоидах (16 выходов)
- 5 путевых блок участков с датчиками тока (5 выходов)
- 10 присветофорных блок участков, завязанных на сигнал светофора - при красном свете нет питания на коротком участке перед светофором.
- 10 светофоров, завязанных на занятости последующего блок-участка и положении стрелки.
Черновик схемки проводки (не электрическая, а блок-схемка) есть у меня в блоге, но я постоянно перерисовываю схему, поэтому пока не хочу публиковать тут.

Так вот. Проблему с количеством входов-выходов я думаю решить несколькими платами конвертации сигналов в шину IIC (ссылка на eBay). Но это только теория. Платы IIC и блоки реле я пока не получил, чтобы посмотреть, как это вживую работает.

Буду ждать свои элементы и следить за вашей темой, отличие в реализации у нас только в типе приводов стрелок. У меня проще вариант, так как просто надо подать питание на электромагнит на секунду и снять приние. Не нужен модуль управления сервоприводом.
vitaliyboch вне форума  
Вверх
Старый 13.03.2017, 16:44   #37
мистер И.К.С.
Ĩ.Ĉ.Š.ҧрѻҫҭҩ мӥҫҭҿӄѣӤ.Ҟ.Ҫ
 
Аватар для мистер И.К.С.
 
Регистрация: 10.07.2006
Адрес: 13 верста У.Г.Ж.Д. HOe.N.Z? . . G.Oe.HO!
Сообщений: 2,408
Сказал(а) 'не согласен(а)'!: 466
Сказали 'не согласен'! 135 раз(а) в 123 сообщениях
Сказал(а) спасибо: 3,317
Поблагодарили 7,245 раз(а) в 2,851 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (7874)
По умолчанию

Цитата:
Сообщение от BNSF9399 Посмотреть сообщение
Нет. Вы схему смотрели? 3 кнопки, 6 светодиодов, 3 сервы итого: 4 выхода на один канал.
Ну еще можно аналоговые задействовать, еще одна серва будет.
смотрел и повторю вслед за товарищем:
Цитата:
Сообщение от Dampflok Посмотреть сообщение
и онМнеНеПонравился
вы дефицитные выходы с ШИМ №№ 9,10,11 отняли у ещё 3 сервомашинок и разбазарили под светодиоды, которые можно посадить на другие выходы (включая аналоговые) или все светики на один с внешней мелкосхемой.
Кстати светодиоды у вас парные (один горит, другой нет) значит можно использовать один выход на пару. схема простая.

Кнопки от 2 до 5 штук через резисторы, легко сажаются на один аналоговый выход. итого умещаемся по количеству ног.
мистер И.К.С. вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 13.03.2017, 16:57   #38
kudrdima
Местный
 
Аватар для kudrdima
 
Регистрация: 14.02.2014
Адрес: Санкт-Петербург, Пушкин, Александровская
Сообщений: 1,968
Сказал(а) 'не согласен(а)'!: 118
Сказали 'не согласен'! 26 раз(а) в 22 сообщениях
Сказал(а) спасибо: 3,182
Поблагодарили 5,754 раз(а) в 1,222 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (5775)
По умолчанию

Цитата:
Сообщение от мистер И.К.С. Посмотреть сообщение
вы дефицитные выходы с ШИМ №№ 9,10,11 отняли у ещё 3 сервомашинок и разбазарили под светодиоды
А зачем сервомашинкам выходы с ШИМ?
Кроме того:
Цитата:
! Обратите внимание:
На платах, отличных от Mega, использование библиотеки отключает возможность использования analogWrite() (PWM) на пинах 9 и 10 (вне зависимости подключены к этим пинам сервы или нет)
kudrdima вне форума  
Вверх
Старый 13.03.2017, 17:13   #39
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 456
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от kudrdima Посмотреть сообщение
А зачем сервомашинкам выходы с ШИМ?
Это такая "городская легенда" для ардуино

Если открыть фаил Servo.h, то там написано, что на каждые 12 сервоприводов нужен один 16-ти битный таймер:

#define SERVOS_PER_TIMER 12 // the maximum number of servos controlled by one timer
#define MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER)
Скрытый текст

A servo is activated by creating an instance of the Servo class passing
the desired pin to the attach() method.
The servos are pulsed in the background using the value most recently
written using the write() method.

Note that analogWrite of PWM on pins associated with the timer are
disabled when the first servo is attached.
Timers are seized as needed in groups of 12 servos - 24 servos use two
timers, 48 servos will use four.
The sequence used to sieze timers is defined in timers.h

У уно такой один, а у мега2560 их уже 4 (4*12=48).
Qvan22 вне форума  
Вверх
3 пользователя(ей) сказали cпасибо:
Старый 13.03.2017, 17:40   #40
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

Цитата:
Сообщение от мистер И.К.С. Посмотреть сообщение
вы дефицитные выходы с ШИМ №№ 9,10,11
Цитата:
Сообщение от Qvan22 Посмотреть сообщение
Это такая "городская легенда" для ардуино
Так что, ни чего дефицитного ни у кого не отнял

Цитата:
Сообщение от мистер И.К.С. Посмотреть сообщение
Кнопки от 2 до 5 штук через резисторы, легко сажаются на один аналоговый выход. итого умещаемся по количеству ног.
Согласен. И сидим вычисляем номиналы, так чтобы при одновременном нажатии на две-три копки было понятно, что нажаты именно эти три кнопки...
КМК, при стоимости платы 200р - слишком много геморроя...
Я не против оптимизации. Но я за разумную оптимизацию.
BNSF9399 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 13.03.2017, 18:59   #41
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

Цитата:
Сообщение от мистер И.К.С. Посмотреть сообщение
Кстати светодиоды у вас парные (один горит, другой нет) значит можно использовать один выход на пару. схема простая.
Полчаса голову ломал. Ни чего в голову не приходит...
Поделитесь схемой.
Если что - это не троллинг, на самом деле ума не хватает.
Вроде все очевидно, но рабочей не получается.
BNSF9399 вне форума  
Вверх
Старый 13.03.2017, 19:36   #42
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от BNSF9399 Посмотреть сообщение
Поделитесь схемой.
Держите
Нажмите на изображение для увеличения
Название: Снимок4.jpg
Просмотров: 883
Размер:	138.8 Кб
ID:	141043
AleksSF вне форума  
Вверх
5 пользователя(ей) сказали cпасибо:
Старый 13.03.2017, 21:16   #43
Andrew78
Заглянувший
 
Регистрация: 15.01.2012
Адрес: Минск
Сообщений: 30
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 7
Поблагодарили 12 раз(а) в 7 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: на пути к лучшему (12)
По умолчанию

По поводу легенд ШИМа. 28-30-32, если верить интернету, то ШИМ: пины 2–13 и 44–46.

Ща малые спать пойдут, буду экспериментировать дальше.

Andrew78 вне форума  
Вверх
Старый 14.03.2017, 06:38   #44
мистер И.К.С.
Ĩ.Ĉ.Š.ҧрѻҫҭҩ мӥҫҭҿӄѣӤ.Ҟ.Ҫ
 
Аватар для мистер И.К.С.
 
Регистрация: 10.07.2006
Адрес: 13 верста У.Г.Ж.Д. HOe.N.Z? . . G.Oe.HO!
Сообщений: 2,408
Сказал(а) 'не согласен(а)'!: 466
Сказали 'не согласен'! 135 раз(а) в 123 сообщениях
Сказал(а) спасибо: 3,317
Поблагодарили 7,245 раз(а) в 2,851 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (7874)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Цитата:
Сообщение от BNSF9399
Поделитесь схемой.
Держите
+100. схема в центре, если посадить на цифровой выход, получим "резкое" переключение светодиодов, а если на аналоговый, то меняя постепенно напругу на выходе, можно сделать плавное "перетекание" яркости с одного светодиода на другой, на средних значениях будут светится оба, но не ярко.
Цитата:
Сообщение от Qvan22 Посмотреть сообщение
"городская легенда" для ардуино
Если открыть фаил Servo.h, то там написано,
вот жеж гады , во всех статьях видимо не глядя перепечатывают, оффтопик
мистер И.К.С. вне форума  
Вверх
Старый 14.03.2017, 08:41   #45
Andrew78
Заглянувший
 
Регистрация: 15.01.2012
Адрес: Минск
Сообщений: 30
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 7
Поблагодарили 12 раз(а) в 7 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: на пути к лучшему (12)
По умолчанию

Поигрался еще ночью. Возник вопрос. Если нажать одновременно на 2 кнопки, то работает только одна серва, если успеть поочередно нажать, с полным отпусканием первой, то работают 2 сервы.

Да, Servo.Read() возвращает значение угла поданное командой Write, а не реальное.
Переписал Delay() на Millis(). Светодиоды горят в то время, когда серва подключена, пока выставил на 750 мс, вроде хватает для оборота 90 градусов. Ну и подрубил экранчик, жутко тормозной.

Andrew78 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 14.03.2017, 09:17   #46
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
Если нажать одновременно на 2 кнопки, то работает только одна серва,
Нужно смотреть скетч. Видимо обработка нажатия кнопки блокирует чтение на входах Дуни.
AleksSF вне форума  
Вверх
Старый 14.03.2017, 10:08   #47
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

AleksSF,
мистер И.К.С.,
Спасибо. Все элементарно... Это надо же было так мозг "засрать" в понедельник.

Сидел пытался пристроить пулап/пушдаун резисторы на выход

Цитата:
Сообщение от мистер И.К.С. Посмотреть сообщение
во всех статьях видимо не глядя перепечатывают
во всех примерах именно на ШИМ выходы цепляют...

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
Если нажать одновременно на 2 кнопки, то работает только одна серва
Код покажите. Очевидно, опрос одной кнопки блокирует опрос другой.

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
Servo.Read() возвращает значение угла поданное командой Write, а не реальное.
о чем и написано в описании
Цитата:
Servo
read()
Description
Read the current angle of the servo (the value passed to the last call to write()).
BNSF9399 вне форума  
Вверх
Старый 14.03.2017, 10:21   #48
Andrew78
Заглянувший
 
Регистрация: 15.01.2012
Адрес: Минск
Сообщений: 30
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 7
Поблагодарили 12 раз(а) в 7 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: на пути к лучшему (12)
По умолчанию

Цитата:
Сообщение от BNSF9399 Посмотреть сообщение
Код покажите. Очевидно, опрос одной кнопки блокирует опрос другой.
Вечером скину код, но там вроде нет блокировки, сначала одну опрашиваю, а следом другую.
А Вы у себя пробовали, нажать одну кнопку, и не отпуская ее, нажать вторую кнопку?


ЗЫ. Возможно из за того что я использую Bounce.h , а не Bounce2.h
Andrew78 вне форума  
Вверх
Старый 14.03.2017, 10:59   #49
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
Возможно из за того что я использую Bounce.h , а не Bounce2.h
По-моему это библиотеки для устранения дребезга кнопок программным способом и в них идет задержка обработки кнопки. Если хотите чтобы одновременно несколько кнопок опрашивалось, лучше сделать аппаратную стабилизацию.
http://wiki.amperka.ru/видеоуроки:10...я-стабилизация
AleksSF вне форума  
Вверх
Старый 14.03.2017, 11:27   #50
BNSF9399
Местный
 
Аватар для BNSF9399
 
Регистрация: 06.03.2014
Адрес: Москва
Сообщений: 1,741
Сказал(а) 'не согласен(а)'!: 5
Сказали 'не согласен'! 9 раз(а) в 7 сообщениях
Сказал(а) спасибо: 553
Поблагодарили 2,794 раз(а) в 755 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (2791)
По умолчанию

Цитата:
Сообщение от Andrew78 Посмотреть сообщение
я использую Bounce.h , а не Bounce2.h
не принципиально. смысл в них один и тотже
Цитата:
Сообщение от Andrew78 Посмотреть сообщение
А Вы у себя пробовали, нажать одну кнопку, и не отпуская ее, нажать вторую кнопку?
ХМ... Хороший вопрос. Нет. Вечерком попробую.

Цитата:
Сообщение от AleksSF Посмотреть сообщение
и в них идет задержка обработки кнопки.
там нет задержки в виде паузы и (теоретически) одновременное нажатие на несколько кнопок должно нормально обрабатываться.
Вопрос в том, как это в программе опрашивается.
BNSF9399 вне форума  
Вверх
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простой блок управления освещением аналогового макета на базе Ардуино Нано morshamenn Arduino 13 10.12.2022 22:51
Пульт аналогового управления макетом SergiyW Электрика и DCC 46 10.05.2016 00:00
Управление траверсером Crown Электрика и DCC 34 13.11.2012 22:35
Управление на ик лучах GOGA Электрика и DCC 38 29.12.2008 00:56
Цифровое управление Илья Электрика и DCC 26 15.07.2008 19:52


Текущее время: 12:53. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -