Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC > Arduino
Ответ
 
Опции темы Опции просмотра
Старый 08.08.2016, 21:24   #51
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Вот канонический пример делея без Delay:
Скрытый текст

Arduino код:
/* Blink without Delay

 Turns on and off a light emitting diode (LED) connected to a digital
 pin, without using the delay() function.  This means that other code
 can run at the same time without being interrupted by the LED code.

 The circuit:
 * LED attached from pin 13 to ground.
 * Note: on most Arduinos, there is already an LED on the board
 that's attached to pin 13, so no hardware is needed for this example.

 created 2005
 by David A. Mellis
 modified 8 Feb 2010
 by Paul Stoffregen
 modified 11 Nov 2013
 by Scott Fitzgerald


 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
 */

// constants won't change. Used here to set a pin number :
const int ledPin =  13;      // the number of the LED pin

// Variables will change :
int ledState LOW;             // ledState used to set the LED

// Generally, you should use "unsigned long" for variables that hold time
// The value will quickly become too large for an int to store
unsigned long previousMillis 0;        // will store last time LED was updated

// constants won't change :
const long interval 1000;           // interval at which to blink (milliseconds)

void setup() {
  
// set the digital pin as output:
  
pinMode(ledPinOUTPUT);
}

void loop() {
  
// here is where you'd put code that needs to be running all the time.

  // check to see if it's time to blink the LED; that is, if the
  // difference between the current time and last time you blinked
  // the LED is bigger than the interval at which you want to
  // blink the LED.
  
unsigned long currentMillis millis();

  if (
currentMillis previousMillis >= interval) {
    
// save the last time you blinked the LED
    
previousMillis currentMillis;

    
// if the LED is off turn it on and vice-versa:
    
if (ledState == LOW) {
      
ledState HIGH;
    } else {
      
ledState LOW;
    }

    
// set the LED with the ledState of the variable:
    
digitalWrite(ledPinledState);
  }



Delay() вешает всю систему. Проц тупо крутится в цикле, при этом ничего больше не работает.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 08.08.2016, 21:27   #52
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

Я с СИ не знаком, только с делфи
YMOR2012 вне форума  
Вверх
Старый 08.08.2016, 21:30   #53
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Дык, а причем тут си? Тут логика. С Delay ничего работать не будет.

Вот пример, как лучше реализовать команды для лока в таком скетче (обратите внимание на миллис):

Скрытый текст

Arduino код:
/*
Пример использования библиотеки XpressNet
*/

//----------------------------------------------------------------------------
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define SerialSerial 1 //Для ардуино мега 2650 - использовать Serial0 для отладки и Serial1 для комуникации с рокомышью
#endif

// подключаем библиотеку X-Bus
#include <XpressNet.h>

// создаем объект x-Bus
XpressNetClass XpressNet;

// Служебные переменные:
int MarshrutGotov 0// переменная, что бы переключить стрелки один раз в цикле
int LokRun 0// переменная для подтвержденяи, что лок уже поехал

void setup() { // Функция setup должна присутсвовать в любом скетче. Запускается один раз в начале работы программы
//ИНициализируем X-Bus
XpressNet.start(303); // Первое - адрес нашего устройства с системе. Пусть будет 30. Второе - управляющий пин. По нашей схеме это пин 3.
XpressNet.setPower(csNormal); // включаем питание в норму (если, например, на мыше нажата кнопка стоп, то эта команда переводит систему в нормальный режим
}

void loop() { //Функция loop (петля") должна присутсвовать в любом скетче. Выполняетс после сетапа в бесконечном цикле. 

// Обрабатываем X-Bus - пнинимаем и отправляем команды.
XpressNet.receive(); // нам нужно крутить эту функцию в бесконечном цикле, как можно чаще, что бы не пропустить команды с Рокомыши

// Создаем маршррут из стрелок, если не делали еще этого.
if (MarshrutGotov == 0) {
XpressNet.setTrntPos (0x0011);    //переключаем стрелку с адресом 1 в позицию 1
XpressNet.setTrntPos (0x0071);    //переключаем стрелку с адресом 7 в позицию 1
XpressNet.setTrntPos (0x00100);//переключаем стрелку с адресом 10 в позицию 0
MarshrutGotov 1// запоминаем, что мы уже деали маршрут, что бы не сделать его снова
}
XpressNet.receive(); // еще раз, как можно чаще, помните?

// Запускаем локомотив с адресом 3, если он еще не запущен и не запускаем, если он уже запущен
if (LokRun == 0) {
XpressNet.setLocoDrive (0x0031468); // запускаем лок с адресом 3, с декодером настроенным на 14 шагов, на скорости 4 шага по направлению назад

// 68 = 0100 0100, где первые 6 бит справа = скорость (1-128), в нашем случае это 4, а бит 7 - это направление движения.

LokRun 1// запоминаем, что мы уже запустили лок, что бы в следующем цикле не запустить его снова
}
XpressNet.receive();

// Ждем 20 секунд (20 000 миллисекунд) и останавливаем лок. "Нажимаем" СТОП.

if ( millis() > 20000) { // millis() - встроенная функция ардуино, возвращающая количество миллисекунд с начала работы скетча

XpressNet.setLocoDrive (0x003140); // останавливаем лок
XpressNet.setHalt(); // нажимаем СТОП, на всякий пожарный, для примера.
XpressNet.receive();
for (;;) {} 
// останавливаем выполенние скеча
}

__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 08.08.2016, 21:41   #54
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

А можно запитать ардуину от шилды?
YMOR2012 вне форума  
Вверх
Старый 08.08.2016, 21:50   #55
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Можно, если на входе у шилда до 12 Вольт. Если больше, то дуня помрет. Нужно будет городить контур питания на стабилизаторе питания.
Скрытый текст

Нажмите на изображение для увеличения
Название: Снимок экрана 2016-08-08 в 21.51.15.jpg
Просмотров: 883
Размер:	57.6 Кб
ID:	129231
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 09.08.2016, 19:45   #56
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

Что-то не могу найти примера как подключать/управлять датчики/стрелками. Кто знает?
YMOR2012 вне форума  
Вверх
Старый 09.08.2016, 22:15   #57
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Описание работы с ипнами на выход - в файле Outputs.cpp

Описание работы с сенсорами - в файлах Sensors.h и Sensors.cpp.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 09.08.2016, 22:16   #58
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от YMOR2012 Посмотреть сообщение
Что-то не могу найти примера как подключать/управлять датчики/стрелками. Кто знает?
http://wiki.rocrail.net/doku.php?id=dccpp:dccpp-en
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 10.08.2016, 18:01   #59
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
http://wiki.rocrail.net/doku.php?id=dccpp:dccpp-en
Не информативно. Не понятно как стрелки подключать через декодер или напрямую.
YMOR2012 вне форума  
Вверх
Старый 10.08.2016, 18:46   #60
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от YMOR2012 Посмотреть сообщение
Не информативно.
На странице есть строка: 32 GCA Interfaces compatible I/O. - это ссылка на модули, некоторые из которых можно подключить к данной станции.

Цитата:
Сообщение от YMOR2012 Посмотреть сообщение
Не понятно как стрелки подключать через декодер или напрямую.
В любом случае через декодер. Другое дело, что декодеры бывают разные.
Alexmit вне форума  
Вверх
Старый 10.08.2016, 20:21   #61
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
В любом случае через декодер.
Не, Лёш, можно тупо к пинам, если привода на сервах.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 10.08.2016, 20:35   #62
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Не, Лёш, можно тупо к пинам, если привода на сервах.
В данной теме, только через какую-то схему.
Alexmit вне форума  
Вверх
Старый 10.08.2016, 20:40   #63
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Да не, Леш, +5В и GND - от регуля, управляющий провод сразу на пин, подключить библиотеку Серво и дописать кусочек управления сервами.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 10.08.2016, 20:46   #64
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
подключить библиотеку Серво и дописать кусочек управления сервами.
Так это будет совершенно другой скетч. Грубо говоря, под каждый макет свой.
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 10.08.2016, 20:52   #65
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
В любом случае через декодер
А с motorshield не судьба? Там же есть силовые выходы для серв и свободные пины.

---------- Сообщение добавлено в 22:52 ---------- Предыдущие сообщение было в 22:51 ----------

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Так это будет совершенно другой скетч. Грубо говоря, под каждый макет свой.
Этот вариант мне близок
YMOR2012 вне форума  
Вверх
Старый 10.08.2016, 21:11   #66
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

или более простой вариант:
http://ru.aliexpress.com/item/one-1-...5-93c8bc10e988
вот такой штукой можно управлять электромагнитными роковскими приводами?
YMOR2012 вне форума  
Вверх
Старый 10.08.2016, 21:20   #67
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от YMOR2012 Посмотреть сообщение
вот такой штукой можно управлять электромагнитными роковскими приводами?
И в один прекрасный момент спалить его ******.
Т.ч. минимум 2 реле и схема которая будет подавать импульс на реле. Получаем декодер.

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

Цитата:
Сообщение от YMOR2012 Посмотреть сообщение
А с motorshield не судьба? Там же есть силовые выходы для серв и свободные пины.
Вот я даже не знаю как отвечать.
Alexmit вне форума  
Вверх
Старый 10.08.2016, 21:31   #68
YMOR2012
Заглянувший
 
Регистрация: 16.08.2012
Адрес: Ржев
Сообщений: 60
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 5
Поблагодарили 63 раз(а) в 17 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (63)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
И в один прекрасный момент спалить его ******.
А я и не говорю что напряжение надо подавать постоянно.
YMOR2012 вне форума  
Вверх
Старый 11.08.2016, 05:33   #69
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Юмор,

Разъемы для серв на шилде это выведеные пины ардуины. По этому что от шилда, что не от шилда - один хрен.

Вопрос, откуда там берется 5 вольт сервы. Скорее всего с 5В ардуины. А сепры жрут много. Нудно отдельное питание на них.

Что касается переключения роковских приводов, то там нужно перебрасывать плюс по двум проводам, имея еще и землю.

По этому каждый привод будет съедать 2 пина ардуины, а их там и так не много.

Что касается схемы, то там все просто: это драйвер двигателя (или же самодельный мост) + схема согласования из мануала на декодер AJL местный. Но это надо паять.

Проще, как говорит Алекс, купить местные декодеры и не мять известный предмет. Либо сервы, что проще и дешевле гораздо.

---------- Сообщение добавлено в 07:33 ---------- Предыдущие сообщение было в 07:27 ----------

Причем с сервами можно сделать вообще красиво: взять еще одну мегу, как большой аксесуарный декодер, к ней подключить очень много серв, а DCC сигнал на нее подать не 16 вольтовый, а 5ти вольтовый напрямую с меги, где у нас комстанция. И не нужно будет входную оптопару городить!

Вывод: для управления кучей стрелок тупо понадобиться одна плата, безо всяких обвязок!
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 11.08.2016, 07:50   #70
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 456
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Причем с сервами можно сделать вообще красиво: взять еще одну мегу, как большой аксесуарный декодер, к ней подключить очень много серв, а DCC сигнал на нее подать не 16 вольтовый, а 5ти вольтовый напрямую с меги, где у нас комстанция. И не нужно будет входную оптопару городить!

Вывод: для управления кучей стрелок тупо понадобиться одна плата, безо всяких обвязок!
Как вариант, автор проекта закладывая свободные пины для управления стрелками или еще чем, подразумевал, что человек использует в периферии "бесхозные микроконтроллеры"... управляя ими по одному проводу, где например 0 - команда перевода стрелки в лево, а 1 - в право.
Qvan22 вне форума  
Вверх
Старый 11.08.2016, 08:48   #71
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Qvan22 Посмотреть сообщение
управляя ими по одному проводу, где например 0 - команда перевода стрелки в лево, а 1 - в право.
Так работать не будет.

Вы же не будете постоянно подавать на соленоид питание. Он сгорит. А вот на серву нужен 1 пин.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 11.08.2016, 09:30   #72
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от Qvan22 Посмотреть сообщение
Как вариант, автор проекта закладывая свободные пины для управления стрелками или еще чем, подразумевал, что человек использует в периферии "бесхозные микроконтроллеры"... управляя ими по одному проводу, где например 0 - команда перевода стрелки в лево, а 1 - в право.
Уже разработанные модули.
Цитата:
Сообщение от BR95009 Посмотреть сообщение
Так работать не будет.
Будет. (по ссылке лень сходить?)
модуль для моторных приводов
модуль для сервоприводов
Всё это можно сделать на НАНО или МИКРО, и для соленоидов тоже.
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 11.08.2016, 09:42   #73
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Будет. (по ссылке лень сходить?)
модуль для моторных приводов
Леш, этот - для приводов со сменой полярности, аля LGB. Для роковских приводой не подойдет.

Так то понятно, что если отдельный контролер городить, то его вообще можно I2C или SPI сделать.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 11.08.2016, 10:12   #74
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Леш, этот - для приводов со сменой полярности, аля LGB. Для роковских приводой не подойдет.
Я про то, что стоит отдельный контроллер, который отрабатывает временные задержки и куда послать сигнал.
На выходы драйверов прицепить реле и для роковских пойдёт. (L293 сам соленоид не дёрнет, в защиту уйдёт. я делал.)
Цитата:
Сообщение от BR95009 Посмотреть сообщение
то его вообще можно I2C или SPI сделать.
И всю базу задержек и взаимосвязей хранить на основном контроллере?
Опять получается индивидуальный скетч. Да и ресурсы отъедает.
Alexmit вне форума  
Вверх
Старый 11.08.2016, 10:12   #75
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

А ты какую задержку делал? У меня fan8082 дергает LGB шный соленоид за 80 мс. Даже нагреться не успевает.

При том, что у него рейтинг 15В, а подаю я на него все 18.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Ответ

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Декодер для стрелки LGB на Ардуино BR95009 Arduino 42 25.10.2016 16:13
Самодельная Командная станция Васёк Электрика и DCC 58 16.12.2010 16:11
Командная станция ESU VRD Электрика и DCC 4 13.05.2010 17:17


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


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