помогите с проектом начинающему ардуинщику.

Lelik
Offline
Зарегистрирован: 02.12.2016

Приветствую Вас друзья.
Предисловие опущу, дабы лишней болтовнёй не заниматься.
Прикупил ардуину уно, шилд в5100 и 8и канальный блок реле. Кому-то это покажется проще простого, но мне начинающему многое не понятно. Пересмотрел кучу уроков, так как учителя там народ не очень, что куда впихнуть говорят, а почему то или иное втыкается именно в то, а не в это, хрен поймёшь, так ещё раз повторюсь, как начинающему, читать мысли тех, кто это все уже давно "съел" тяжело.
... В общем суть, управлять этими восемью каналами через локальную сеть и только, никаких кнопок, выключателей дополнительно не будет. Чистое управление с локальной сети без интернета... Простейший вроде бы проект, но вот что-то запутался я со страницей с которой буду управлять всеми этими каналами. Посоветуйте с этим что-нибудь. Думаю сделать на css. Но опять же, пересмотрел кучу видео, кучу статей перечитал, запутался основательно. В общем прошу совета и помощи.
Ещё в пути из Китая часы (DS1302) к этому ардуино, возможно ли включение или отключение двух - трех каналов, при достижении определённой времени?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

"Предисловие опущу, дабы лишней болтовнёй не заниматься" У Вас два варианта

1. Делать самому, а если не получается, выкладывать здесь свой код/схему и задавать вопросы

2. Идити в раздел "Ищу исполнителя" и заказывать эту работу за деньги.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Помогаю: прочтите информацию по ссылке.

ЗЫ: один из линков по ссылке, о чудо! - на этот форум. Ровно с таким же вопросом.

Lelik
Offline
Зарегистрирован: 02.12.2016

Исполнитель ненужен, самому нужно доверять. С чего начать скажите имея платы

Lelik
Offline
Зарегистрирован: 02.12.2016

Надеюсь не будете давать советов что и куда подключать))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

начинать надо с прогона тестовых примеров, от блинка до сервера на w5100. Просто примеров, из библиотек. С попытками разобраться и модифицировать. Потом написать, на основе примеров, что-то свое, И ТОЛЬКО ПОТОМ прийти сюда с вопросами.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Lelik пишет:
Надеюсь не будете давать советов что и куда подключать))

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

----

Ставьте ИДЕ, гоняйте примеры, читайте книги. Другого пути нет.

Вы выбрали не самый удачный проект для начинающего. 

Лучше бы все тоже самое, но на WiFi модуле. Иначе столкнетесь с нехваткой памяти вот-прям-сразу. А у WiFi модуля - своя память.

Lelik
Offline
Зарегистрирован: 02.12.2016

С примерами поигрался. Я более месяца читал ту или иную информацию.
Не пойму как страницу index.html и файл стилей css связать с кодом... Без шилда в5100 все понятно, указал переменные, прописал скейч , скомутировал все соответственно коду и все

Lelik
Offline
Зарегистрирован: 02.12.2016

wdrakula] </p> <p>[quote=Lelik пишет:
А у WiFi модуля - своя память.


Так на в5100 флешку поставить можно

Lelik
Offline
Зарегистрирован: 02.12.2016

Кстати Вай фай модуль тоже в пути

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lelik пишет:
Надеюсь не будете давать советов что и куда подключать))

Нет, не будем

Lelik пишет:
Исполнитель ненужен, самому нужно доверять. С чего начать скажите имея платы

Сесть, подумать и чётко расписать функционал, а за ним и структурную схему устройства.

Lelik
Offline
Зарегистрирован: 02.12.2016

Евгений, вроде четко описал что требуется и в чем затык

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, если Вы считаете это чёткой постановкой задачи, то успехов Вам в реализации.

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

Lelik пишет:
Евгений, вроде четко описал что требуется и в чем затык

вроде теперь Евгению, после твоего чёткого описалова затыка, требуется тебя усыновить или жениться.

Lelik
Offline
Зарегистрирован: 02.12.2016

Заметил такую закономерность, на каком бы это небыло форуме, какой бы только вопрос не задавал, ходят вокруг да около "умники" и ничего по существу... Без обид ребят но это констатация. Сами то хоть до этого сами доперли?

Lelik
Offline
Зарегистрирован: 02.12.2016

Я правильно понимаю, если записать HTML файл и скопировать на карту памяти в5100, то при обращении к сетевому адресу, будет открываться как раз этот HTML файл с именем index

Lelik
Offline
Зарегистрирован: 02.12.2016

Lelik пишет:
Я правильно понимаю, если записать HTML файл и скопировать на карту памяти в5100, то при обращении к сетевому адресу, будет открываться как раз этот HTML файл с именем index

Читай
Вы вообще все читаете, или через строчку?

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

Lelik пишет:
Lelik пишет:
Я правильно понимаю, если записать HTML файл и скопировать на карту памяти в5100, то при обращении к сетевому адресу, будет открываться как раз этот HTML файл с именем index
Читай Вы вообще все читаете, или через строчку?

не читаю вопросы, ответы на которые есть в свободном доступе сети Интернет

Lelik
Offline
Зарегистрирован: 02.12.2016

На любой вопрос есть в сети ответ
Нахрен тогда подобные форумы, да темы? Потролить?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Лелик. Тут у нас такие традиции: В этом разделе помогают ТОЛЬКО тем, кто предъявляет СВОЙ код и задает по нему вопросы.

Без кода - в "Ищу исполнителя". В общем - общие вопросы, но не рекомендации по коду, так ясно?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Lelik пишет:
Я правильно понимаю, если записать HTML файл и скопировать на карту памяти в5100, то при обращении к сетевому адресу, будет открываться как раз этот HTML файл с именем index

нет, не правильно.

и если ты написал это, после МЕСЯЦА изучения документации, то мой совет - смени хобби. Не нужно себя мучить.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Lelik пишет:
На любой вопрос есть в сети ответ Нахрен тогда подобные форумы, да темы? Потролить?

Такие форумы нужна нам, для общения по интересам. Ключевое слово - "интересам".

Такие темы - нахер никому тут не нужны, в этом ты прав.

Еще раз - общение по интересам. Станешь нам интересен - велкам!

А пока: или вежливо просишь или идешь, куда Клапауций послал.

Lelik
Offline
Зарегистрирован: 02.12.2016

Ясно,
но с чего начать я не пойму. Без эзернет шилда знаю с чего и как начать и как реализова на тех же кнопках, я нихера не пойму с чего и как код начать с этим гребаные шилдом. Знал бы ни слова здесь не писал
Как я его начну если не знаю как и. С Чего (((
Капуцкий сам пусть туда идет

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

в ссылке по моему первому, шутливому комментарию, есть  гугль выдача со ссылкой НА ЭТОТ ФОРУМ на год-два назад. там есть ровно ваша задача.

Lelik
Offline
Зарегистрирован: 02.12.2016

В общем сегодня -завтра предоставлю код и надеюсь поможете его доработать

Lelik
Offline
Зарегистрирован: 02.12.2016

wdrakula пишет:

в ссылке по моему первому, шутливому комментарию, есть  гугль выдача со ссылкой НА ЭТОТ ФОРУМ на год-два назад. там есть ровно ваша задача.


Видел, но там не очень понятно что да как пока для меня, я же только вникаю в эту тему, поэтому вопросы растут в прогрессии

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Lelik пишет:
Без эзернет шилда знаю с чего и как начать и как реализова на тех же кнопках, я нихера не пойму с чего и как код начать с этим гребаные шилдом.

Ну так в чем проблема - делайте без шилда. Заодно сэкономите на оборудовании.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Вот пример, который забирает в ХТМЛ из дуины, а ей останется только щёлкать 8 релюхами и сформировать состояние (в виде JSON). Если недоступно кнопки останутся серыми, включенные зелёные, откл красные, состояние показывается, фон синенький, работает на jQuery.

Адрес сервера 192.168.0.40, указывается в двух местах main.js - в функциях setstate(), getstate(). Скетч там же. Мой ЯД 410011919696337, но это если есть желание профинансировать мне, скажем, пару экранов 1602, так то я ни к чему не обязываю. Пример из моего проекта по квестоманам, они там управляли каменными челюстями с компьютера.

Если этот вариант не устраивает (локально хранимый потребитель JSON данных, имеющий доступ к jQuery), то надо будет затолкать текст и стиль страницы (содержимое style.css и control.html) внутрь флеш- (если оно меньше 15 кБ) или внешней EEPROM-памяти (если меньше 128 кБ) и переписать обе функции запросов на чистый JS (у ЕвгенийП есть своего рода форк для этого), потому что jQuery во флеш не поместится. Если картинки и т. п. и в общем более 128 кБ, то логичнее использовать SD или TF флешку.

Lelik
Offline
Зарегистрирован: 02.12.2016

Думаю обойтись без картинок как таковых, что не нагружать железо, а то оно как-то медленно работает с картинками, думается мне, что на css нужно делать, флэшка есть на два гига если что

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Вы слышали про "два в одном"? Типа видал-сосун вош-энд-гоу....

Модуль SDcard просто на одной плате с w5100 они не вместе, они рядом. Никак друг с другом не связаны.

Б....мля. Да Вы правда документацию читали? Или гугль перевод и по диагонали?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lelik пишет:
Думаю обойтись без картинок
А как же тема сисек? Не понимаю!

А по "с чего начать", я Вам уже писал - продумать постанвку задачи, но Вы отказываетесь - дело Ваше.

Тогда начните с того, что возьмите пример из библиотеки, который выдаёт страницу с надпьсю "Hello, world", благо там три строчки и пяльтесь в этот пример пока не перестанете писать бред типа как посте №15. Когда Вам покажется что Вы что-то поняли, попробуйте поменять пример и посмотрите ожидаемо ли он поменялся.

Так со временем и раберётесь.

Вы поймите, написать за Вас я молу (теоретически), а вот понять за Вас я не могу даже если бы очень хотел.

-----------

Вы же ведёте себя как ребёнок - хороших советов не слушаете, зато выносите высоконаучные суждения о том, какой тут форум неправильный.

Lelik
Offline
Зарегистрирован: 02.12.2016

Voodoo Doll пишет:

Вот пример, который забирает в ХТМЛ из дуины, а ей останется только щёлкать 8 релюхами и сформировать состояние (в виде JSON). Если недоступно кнопки останутся серыми, включенные зелёные, откл красные, состояние показывается, фон синенький, работает на jQuery.

Адрес сервера 192.168.0.40, указывается в двух местах main.js - в функциях setstate(), getstate(). Скетч там же. Мой ЯД 410011919696337, но это если есть желание профинансировать мне, скажем, пару экранов 1602, так то я ни к чему не обязываю. Пример из моего проекта по квестоманам, они там управляли каменными челюстями с компьютера.

Профинансировал немного)) Залил ваш скейч, предварительно изменив адрес сервера на 192.168.1.115 и изменил его в двух местах в файле main.js. Все файлы закинул на флешку, и установил в шилд 5100 при обращению на адрес сервера выдаёт

{"s1":0,"s2":0,"s3":0,"s4":0,"s5":0,"s6":0,"s7":0,"s8":0}

Это может быть из-за того что адрес сервера поменял или то что блок реле не подключал к ардуине? Сильно правда не разбирался ещё, работа все не даёт.

Logik
Offline
Зарегистрирован: 05.08.2014

Из любопытства глянул, а че Voodoo Doll, у 5100 mac менять обязательно? Как бы странно это.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Lelik, так и нужно, оно для control.html. Если переписать его с js, css файлами на телефон, или запустить с компьютера, будет страница с кнопками. То есть ардуина выдает только данные, а сама страница отдельно в html файле. Эти файлы должны быть у клиента, ардуине только скетч. Я ж говорю, чтобы сама дуина выдавала страницу, надо

- выдавать её HTML код после 200 HTTP OK заголовка

- отучить от jQuery, ибо эта либа слишком здоровая (ЕвгенийП занимался, вроде назвал microAJAX или как-то наподобие)

либо

- оставить файлы на флешке, но control.html переместить в сам скетч. После HTTP 200 OK и остальных заголовков

- JSON убрать, сделать в цикле вывода HTML систему условий, которые будут смотреть state[] и назначать кнопке нужный класс

- добавить код сервера файлов (вторичные запросы, когда обозреватель/клиент требует файлы js, css, включенные в код страницы), который будет читать с флешки и отдавать.

Второй вариант труднее. Но всё возможно. Скопированное на телефон/комп будет работать прямо так, без флешки.

Logik, взято из примера.

UPD. У меня ближайшие 38 часов будет выходной. Могу заняться перепихиванием внутрь скетча, но сначала посплю, пока что башка трещит. FYI, all, DotA - зло, не начинайте...

UPD2. jQuery независимый HTML выглядит примерно так:

<!doctype html>
<html>
<head>
<meta charset=windows-1251>
<script type=text/javascript>
var state=new Array(0,0,0,0,0,0,0,0);
var o=new XMLHttpRequest();
function initproc(){
  statecmd(0,0);
  for(var i=0;i<8;i++) document.getElementById("r"+i).onclick=function(){statecmd(i,1);};
}
function statecmd(n,dd){
  if(dd) o.open("GET","http://192.168.1.115?state"+n);
  else o.open("GET","http://192.168.1.115?data="+Math.random(),1);
  o.onload=function(){
    var d=JSON.parse(this.responseText);
    for(var i=0;i<8;i++) if(d[i]) showstate(i,1); else showstate(i,0);
  }
  o.send();
}
function showstate(n,m){
  if(n<0 || n>7) return;
  state[n]=1;
  var targ=document.getElementById("r"+n);
  if(m) targ.className="cbtn e"; else targ.className="cbtn d";
}
</script>
<style>
.cbtn{
  display: inline-block;
  width: 40px;
  text-align: center;
  font: 20pt arial;
  border-radius: 5px;
  border: 2px solid #ddd;
}
.n{background: linear-gradient(#fff, #999);}
.e{background: linear-gradient(#efe, #3d3);}
.d{background: linear-gradient(#fee, #e44);}
html{
  background: linear-gradient(#77f, #002);
  height: 100%;
}
</style>
</head>
<body onload=initproc()>
<a class="cbtn n" id=r0>1</a>
<a class="cbtn n" id=r1>2</a>
<a class="cbtn n" id=r2>3</a>
<a class="cbtn n" id=r3>4</a>
<a class="cbtn n" id=r4>5</a>
<a class="cbtn n" id=r5>6</a>
<a class="cbtn n" id=r6>7</a>
<a class="cbtn n" id=r7>8</a>
</body>
</html>

А вот как затолкать его в скетч (там немного убраны переводы строк):

#include <String.h>
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEE };
IPAddress ip(192,168,1,115);
EthernetServer server(80);
bool state[8]={0,0,0,0,0,0,0,0};

void setup(){
//  Serial.begin(9600);
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop() {
  String req;
  char c;
  EthernetClient client=server.available();
  if (client){
    boolean currentLineIsBlank=true;
    while (client.connected()){
      if (client.available()){
        char c = client.read();
        req+=c;
        if (c == '\n' && currentLineIsBlank) {
//          if (req.indexOf("?")>-1) Serial.println(req.substring(6,req.indexOf(" HTTP")));
//      DEBUG: Dump query
          if(req.indexOf("?state0")>-1)       setrelay(0);
          if(req.indexOf("?state1")>-1)       setrelay(1);
          if(req.indexOf("?state2")>-1)       setrelay(2);
          if(req.indexOf("?state3")>-1)       setrelay(3);
          if(req.indexOf("?state4")>-1)       setrelay(4);
          if(req.indexOf("?state5")>-1)       setrelay(5);
          if(req.indexOf("?state6")>-1)       setrelay(6);
          if(req.indexOf("?state7")>-1)       setrelay(7);

//          Serial.println(req);                       // DEBUG: Dump full HTTP data
          client.println("HTTP/1.1 200 OK");                     // header
          if(req.indexOf("?data")>-1) client.println("Content-Type: application/json");
          else client.println("Content-Type: text/html");
//          client.println("Access-Control-Allow-Origin: *");    // SHIT: no CORS disable required
          client.println("Connection: close");
          client.println();

          if(req.indexOf("?data")>-1){
            client.print("[");
            client.print(state[0]);
            for(byte i=1;i<8;i++){
              client.print(",");
              client.print(state[i]);
            }
            client.println("]");
          }else{
            client.println("<!doctype html><html><head><meta charset=windows-1251><script type=text/javascript>var state=new Array(0,0,0,0,0,0,0,0);var o=new XMLHttpRequest();");
            client.println("function initproc(){statecmd(0,0);for(var i=0;i<8;i++) document.getElementById(\"r\"+i).onclick=function(){statecmd(i,1);};}");
            client.println("function statecmd(n,dd){if(dd) o.open(\"GET\",\"http://192.168.1.115?state\"+n);else o.open(\"GET\",\"http://192.168.1.115?data=\"+Math.random(),1);");
            client.println("o.onload=function(){var d=JSON.parse(this.responseText);for(var i=0;i<8;i++) if(d[i]) showstate(i,1); else showstate(i,0);}o.send();}");
            client.println("function showstate(n,m){if(n<0 || n>7) return;state[n]=1;var targ=document.getElementById(\"r\"+n);if(m) targ.className=\"cbtn e\"; else targ.className=\"cbtn d\";}");
            client.println("</script><style>.cbtn{display: inline-block;width: 40px;text-align: center;font: 20pt arial;border-radius: 5px;border: 2px solid #ddd;}");
            client.println(".n{background: linear-gradient(#fff, #999);}.e{background: linear-gradient(#efe, #3d3);}.d{background: linear-gradient(#fee, #e44);}");
            client.println("html{background: linear-gradient(#77f, #002);height: 100%;}</style></head><body onload=initproc()><a class=\"cbtn n\" id=r0>1</a>");
            client.println("<a class=\"cbtn n\" id=r1>2</a><a class=\"cbtn n\" id=r2>3</a><a class=\"cbtn n\" id=r3>4</a><a class=\"cbtn n\" id=r4>5</a>");
            client.println("<a class=\"cbtn n\" id=r5>6</a><a class=\"cbtn n\" id=r6>7</a><a class=\"cbtn n\" id=r7>8</a></body></html>");
          }

          req="";
          break;
        }
        if (c == '\n') currentLineIsBlank = true;
         else if (c != '\r') currentLineIsBlank = false;
      }
    }
    delay(1);
    client.stop();
  }
  writerelay();
}

void setrelay(byte n){
  state[n]=!state[n];
}

void writerelay(){
  digitalWrite(2,!state[0]);
  digitalWrite(3,!state[1]);
  digitalWrite(4,!state[2]);
  digitalWrite(5,!state[3]);
  digitalWrite(6,!state[4]);
  digitalWrite(7,!state[5]);
  digitalWrite(8,!state[6]);
  digitalWrite(9,!state[7]);
}

Видно что добавилось условие, ищущее "?data" в запросе (после того как кончились заголовки), оно выдаёт две версии страницы, первая версия это данные, по прежнему в формате JSON, (ЕвгенийП, ты уж не обижайся но регулярные выражения твои, да ещё адресация не просто по i, а обязательно чётное кол-во i, короче моск свихнуть можно, мой код проще, имхо разумеется), только без имён (проще адресовать циклом -> короче код обработчика). Вторая версия это собсно сама страница (HTML документ, со стилями, обработчиком и кнопачьками). И наверху такое же условие в заголовках, оно переназначает тип содержимого, для страницы text/html, для массива с состояниями application/json.

Ессно это всё ещё надо проверять, у меня Wiznet нет (батя на работу свой утащил), а переписывать под ENC28J60 лень, тем более там заголовки не на поверхности, в самом скетче библиотечными функциями можно выдавать только HTML код, а заголовки не, это библа сама. Короче разбираться надо, сейчас впадлу.

UPD3. Бл█████й сценарий форума считает себя обязанным, найдя httр://, вставить туда ссылку. Строка 65 выглядит вот так:

Lelik
Offline
Зарегистрирован: 02.12.2016

Здравствуйте уважаемые. Подскажите, что может быть такое. Попробую описать ситуацию: подсоединил релейный модуль к ардуино, заливаю скейч из примеров, пин на вход делаю, третий например, и восьмой пин на выход (включение реле), в общем подаю питание на третий пин, реле срабатывает, подаю ещё раз, отключается, ну и так в общем хоть сто раз, но если оставить реле включенным, то через каждые 32 секунды оно переклацывает. Опробовал на двух UNO, одна из которых оригинал и на одной nano, на всех трех одно и то же, из-за чего это происходит?

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

От переполнения до зависания, неоднозначно. Код сюда.

Или попробовать такой:

1. (включает если жать кнопку, отпустить - выкл)

void setup(){
  pinMode(1,INPUT_PULLUP);
  pinMode(2,OUTPUT);
}
void loop(){
  digitalWrite(2,!digitalRead(1));
}

2. (раз в 1 сек проверять кнопку, если жмут - менять реле)

bool s=0;
unsigned long ts=millis();
void setup(){
  pinMode(1,INPUT_PULLUP);
  pinMode(2,OUTPUT);
}
void loop(){
  if(millis()-ts>=1000){
    if(!digitalRead(1)) s=!s;
    ts=millis();
  }
  digitalWrite(2,!s);
}

Если релейная плата "активный ноль" (включаются низким уровнем), то убрать восклицательный знак у digitalWrite()

Второй пример не должен щёлкать реле если не нажимать на кнопку. Если это происходит, значит вход ловит какие-то наводки, их можно увидеть осциллографом, или если нету - светодиодом

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А реле не напрямую к пину, случаем?

Lelik
Offline
Зарегистрирован: 02.12.2016

ЕвгенийП пишет:

А реле не напрямую к пину, случаем?


Выход с ардуино на вход реле

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Клапауций 234 пишет:

вроде теперь Евгению, после твоего чёткого описалова затыка, требуется тебя усыновить или жениться.

Я подозревал это...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lelik пишет:
ЕвгенийП пишет:

А реле не напрямую к пину, случаем?

Выход с ардуино на вход реле

А-а-а, ну тогда понятно. Вход-то ещё жив?

Схема подключения реле на стр.3 верхняя-левая.

Lelik
Offline
Зарегистрирован: 02.12.2016

Евгений, на прямую ток большой получается?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Там не только ток, там дохрена всего - это "индуктивная нагрузка". Погуглите по сочетанию в кавычках.

Lelik
Offline
Зарегистрирован: 02.12.2016

Так там же на оптопаре развязка...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lelik пишет:
Выход с ардуино на вход реле
Lelik пишет:
Так там же на оптопаре развязка...

Поскольку эти высказывания быть одновременно истинными  не могут, значит, как минимум, одно из них  - ложь.

Давайте Вы определитесь что у Вас там, оптопара, развязка или распределительная станция, а потом выложите сюда схему подключяения, а то у меня впечатление, что мой мозг насилуют, а я этого не люблю.

Lelik
Offline
Зарегистрирован: 02.12.2016

Возможно я неправильно выразился... ))) Евгений, вот смотрю схему на третей странице сверху слева, и смотрю на свои релейные модули (одна 8и канальная, другая 4х) по совпадению номиналов элементов не скажу точно, но соединения и расположение этих элементов на схеме и на реле одинаковы. И ещё по дорожкам вижу что всё это идёт через оптрон dp817c. Вход на реле (который с ардуино), идёт через светодиод на одну ножку оптрона, другая нога через резистор на gnd. Сейчас ещё раз посмотрел ролики по подключению, никто дополнительно через транзистор не подключают. Прошу сильно не пинать меня, наверное сильно вникать пытаюсь.))

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016
Оба хороши. ЕвгенийП, в первом посте тащемта упоминалась релейная плата. А Lelik, если задают конкретный но явно слишком простой вопрос, не надо торопиться тут же ответить на него так же кратко, потому что это может создать неоднозначность. Считайте любую практическую задачу математической, как уравнение. И избавляйтесь от неоднозначностей. Чем меньше неизвестных, тем ближе решение.
 
Негласно здесь принято:
 
1. Писать в МК программу именно в том виде, как она обсуждается в теме (для нубов), ну или либо если кто-то указывает какие конкретно строки поменять - это и делать. Ничего своего в программе, не посвящая в это all, не добавлять. Вставлять в таком виде, как оно приведено в теме. Выкладывать в том виде, как оно в .ino файле.
 
2. Приводить схемы. Вы бы хоть макет сфоткали...
 
Две программы было уже, для выяснения, что там с реле происходит. Прошили? Работает? Да, нет, незнаю?
Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Lelik, словом "реле" называют вот это устройство:

 

 

"Реле" - это только электромагнитная катушка с размыкающимися контактами в корпусе, который имеет 4 или 5 выводов. Это название не подразумевает какой-либо обвязки.

==========

А вот это называется "модуль реле", или"релейный модуль", или "релейная плата" или ещё как... но только не одним словом "реле". Разницу видите?

     

Lelik
Offline
Зарегистрирован: 02.12.2016
Voodoo Doll, спасибо за скейч, наверное что-то где-то или не досмотрел, или накосячил, скейч загрузил, увидел его в браузере, кнопки не реагируют, сижу чейчас на примерах тренируюсь. еще я разобрался с переклацыванием релюшек, питание слабое было, запитал от адаптера 12v 2А, проблема ушла
Jeka_M, исправил :) думал вы поймете...
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lelik пишет:

питание слабое было, запитал от адаптера 12v 2А, проблема ушла
 
Вот, как раз о чём Вам и говорят. Если бы Вы потрудились выложить схему, Вам бы на это указали сразу. Но Вы же не выложили,у Вас даже и не спросили, потому что никому и в голову не придёт её от ардуины питать. Всегда выкладывайте схему - не насилуйте наши мозги :)
Lelik
Offline
Зарегистрирован: 02.12.2016

Евгений, в основном приходится общаться с телефона, иногда нет возможности эту схему выложить, домой оной раз поздно прихожу, жена гоняет меня, :) говорит что я громко шубуршу :)))

Евгений, расскажите как лучше питание развести на ардуину с эзернет шилдом и реллейным модулем имея блок питание выше упомянутый на 12v и 2А, хватит того что я запитаю ардуину, а питание на релейный модуль возьму от 5v ардуины?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

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