Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Stunt
Сообщения: 39
Зарегистрирован: Вс мар 16, 2014 8:17 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stunt » Чт апр 17, 2014 5:56 pm

Использовать противоположный контакт реле можно, но тогда нужно будет отключать все "потребители", если надумал обесточить ардуину.
Это не всегда удобно, да и держать все реле постоянно под напряжением не есть правильно.
Я надеялся что это можно поправить в скетче, что бы реле стартовали в выключенном состоянии..
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение sergejey » Чт апр 17, 2014 7:09 pm

Stunt писал(а):С IP все понятно. Проблема была в net-шилде, точнее в контакте, прижал поплотнее - помогло! ;)
Релюшки на нажатие кнопок в интерфейсе реагируют...
Но, как обычно, есть одно НО :)
При подаче питания на ардуину, все реле переходят в состояние "ЗАМКНУТО" - открываются ворота, перезагружаются роутер и WiFi, включается NAS и фонарь на парковке. :lol:
А 220 у нас частенько "моргает"...
Так, а в чём проблема при запуске всем релюшкам устанавливать состояние разомкнуто при старте?

У меня в каком-то из скетчей в setup есть такой код:

Код: Выделить всё

 for (i = 0; i < TOTAL_OUTPUTS; i = i + 1) {
   digitalWrite(outputPins[i], HIGH);  
   pinMode(outputPins[i],OUTPUT);
   digitalWrite(outputPins[i], HIGH);  
 } 
Замечу, что HIGH в моём случае означает разомкнуто. А два раза (до pinMode и после) даже не помню зачем, но когда-то пришлось именно так делать, так что так и отавил. Для надёжности )

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Stunt
Сообщения: 39
Зарегистрирован: Вс мар 16, 2014 8:17 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stunt » Чт апр 17, 2014 7:38 pm

"Проблема" в том что ардуино приобрел только вчера :roll:
sergejey писал(а):

Код: Выделить всё

 for (i = 0; i < TOTAL_OUTPUTS; i = i + 1) {
   digitalWrite(outputPins[i], HIGH);  
   pinMode(outputPins[i],OUTPUT);
   digitalWrite(outputPins[i], HIGH);  
 } 
А если надо не все выходы (< TOTAL_OUTPUTS;), а только эти "инвертировать":

Код: Выделить всё

// Настройки выходов
int startPin=3;
int endPin=9; 
Код вставлять сразу после?
Простите за ламерские вопросы :oops:
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение sergejey » Пт апр 18, 2014 10:07 am

Stunt писал(а): А если надо не все выходы (< TOTAL_OUTPUTS;), а только эти "инвертировать":

Код: Выделить всё

// Настройки выходов
int startPin=3;
int endPin=9;
Код вставлять сразу после?
Простите за ламерские вопросы :oops:
как-то так:

Код: Выделить всё

 for (i = startPin; i <= endPin; i = i + 1) {
   digitalWrite(i, HIGH);  
   pinMode(i,OUTPUT);
   digitalWrite(i, HIGH);  
 } 

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Stunt
Сообщения: 39
Зарегистрирован: Вс мар 16, 2014 8:17 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stunt » Пт апр 18, 2014 7:19 pm

Что-то не заработало =(
Спотыкается при компиляции:
error.jpg
error.jpg (71.74 КБ) 13999 просмотров

Код: Выделить всё

sochkasov_apr17a:41: error: expected unqualified-id before 'for'
sochkasov_apr17a:41: error: expected constructor, destructor, or type conversion before '<=' token
sochkasov_apr17a:41: error: expected constructor, destructor, or type conversion before '=' token
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение binladin » Сб апр 19, 2014 6:54 am

Stunt писал(а):Что-то не заработало =(
Спотыкается при компиляции:
Так в какое место скетча вы его впендюрили ? Как я понимаю, инициализация выполняется в void_setup.
Stunt
Сообщения: 39
Зарегистрирован: Вс мар 16, 2014 8:17 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stunt » Сб апр 19, 2014 9:54 am

Попробовал в void setup:
error_2.jpg
error_2.jpg (183.8 КБ) 13963 просмотра
После чего методом "вдумчивого копипаста" дошел до такого:

Код: Выделить всё

// Настройка портов на вывод
 
  for (int thisPin = startPin; thisPin <=endPin; thisPin++)  {
    digitalWrite(thisPin, HIGH);
    pinMode(thisPin, OUTPUT);
    digitalWrite(thisPin, HIGH);   
  }
  // Настройки 1-wire 
  sensors.begin(); // Инициализация шины 1-wire (для датчиков температуры)
  sensors.requestTemperatures(); // Перед каждым получением температуры надо ее запросить   
Вот это скомпилировалось и залилось! :)
При старте все релюшки в состоянии ВЫКЛ - что и требовалось.

НО! :? теперь при отправке команды (и любых других команд)

Код: Выделить всё

// Кратковременная "1" на порту 1сек (время настраивается) (вызов http://xx.xx.xx.xx/command?8=CLICK )    
реле переходит в состояние ЗАМКНУТО и далее все работает как и раньше - реле отрабатывает все команды, но "базовое" положение у него "под нагрузкой".
binladin
Сообщения: 143
Зарегистрирован: Чт фев 06, 2014 9:32 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение binladin » Вс апр 20, 2014 11:56 am

Stunt писал(а):реле переходит в состояние ЗАМКНУТО и далее все работает как и раньше - реле отрабатывает все команды, но "базовое" положение у него "под нагрузкой".
То есть при перезагрузке пины не переинициализируются ?
Stunt
Сообщения: 39
Зарегистрирован: Вс мар 16, 2014 8:17 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение Stunt » Вс апр 20, 2014 6:42 pm

При загрузке (перезагрузке) пины в состоянии HIGH, реле в состоянии РАЗОМКНУТО - что и требовалось.
А вот при выполнении любой команды из скетча, относящейся к реле (пинам реле), пины снова встают в состояние LOW, а реле в состояние ЗАМКНУТО.
Т.е, в скетче есть команда CLICK (переключает пин в противоположное состояние на одну секунду), теперь после первого, выполнения этой команды, пин остается в состоянии HIGH и далее все команды выполняются как и ранее - при посыле CLICK реле на секунду выключается и снова включается, оставаясь постоянно под нагрузкой.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Скетч Arduino + W5100 обсуждаем, пишем, тестируем

Сообщение sergejey » Пн апр 21, 2014 10:32 am

Меняем в нужных местах HIGH на LOW и всё. У меня в блоке релюшек LOW означает включено, а HIGH выключено (разомкнуто). Хотя когда "руками" отдельное реле подключал, то было логичней, т.е. наоборот. Но это дело житейское...

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить