подскажите, а лучше на примере моём покажите как избавится от делэев и настроить щочик фор

ВладимирN
Offline
Зарегистрирован: 14.11.2019

спасибо за понимания. 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

ВладимирN пишет:

спасибо за понимания. 

А это если разберетесь вам поможет.

/**/
//---кнопки-----------------------------
typedef void (*pDo)();
class Cl_btn {
  protected:
    byte pin;
    bool state;
    unsigned long past;
    void set(bool s) {
      state = s;
      past = millis();
      if (s == true) Do();
    }
  public:
    Cl_btn(byte p): pin(p) {}
    pDo Do = [] {};
    void init() {
      pinMode(pin, INPUT_PULLUP);
      set(false);
    }
    void run() {
      if (millis() - past >= 100)
        switch (state) {
          case false:
            if (!digitalRead(pin))set(true);
            break;
          case true:
            if (digitalRead(pin))set(false);
            if (millis() - past >= 300)set(false);
            break;
        }
    }
};
Cl_btn    BtnS(/*пин*/2);  //кнопка селект
Cl_btn    BtnU(/*пин*/3);  //кнопка верх
//----------------------------------------------------------
class Cl_led {
  protected:
    static const byte led_OFF = 0;
    static const byte Blink_OFF = 1;
    static const byte Blink_ON = 2;
    byte pin;
    byte state;
    unsigned long past, time;
    void set(byte s) {
      state = s;
      past = millis();
      switch (state) {
        case led_OFF:
        case Blink_OFF:
          digitalWrite(pin, LOW);
          break;
        case Blink_ON:
          digitalWrite(pin, HIGH);
          break;
      }
    }
  public:
    Cl_led(byte p): pin(p) {}
    void init() {
      pinMode(pin, OUTPUT);
      set(led_OFF);
    }

    void OFF() {
      set(led_OFF);
    }
    void blink(unsigned long t) {
      if (t == 0) set(led_OFF);
      else {
        time = t;
        set(Blink_ON);
      }
    }
    void run() {
      switch (state) {
        case Blink_OFF:
          if (millis() - past >= time)set(Blink_ON);
          break;
        case Blink_ON:
          if (millis() - past >= time)set(Blink_OFF);
          break;
      }
    }
};
Cl_led led(/*пин*/13);
//--------------- меню---------------------------------------------
template <typename T> inline Print & operator << (Print &s, T n) {
  s.print(n);
  return s;
}
const byte page0 = 0;
const byte page1 = 10;
const byte page2 = 20;
const byte page3 = 30;
byte page;         //<--- вот про эту переменую состояния.
unsigned long past;
void goPage(byte p) { //<--- вот про эту переключающую функцию
  past = millis();
  page = p;
  switch (page) {
    case page0:
      BtnS.Do = [] {goPage(page1);};
      BtnU.Do = [] {led.OFF();};
      Serial << "\nno blink";
      break;
    case page1:
      BtnS.Do = [] {goPage(page2);};
      BtnU.Do = [] {led.blink(200);};
      Serial << "\nblink(200)";
      break;
    case page2:
      BtnS.Do = [] {goPage(page3);};
      BtnU.Do = [] {led.blink(500);};
      Serial << "\nblink(500)";
      break;
    case page3:
      BtnS.Do = [] {goPage(page0);};
      BtnU.Do = [] {led.blink(1000);};
      Serial << "\nblink(1000)";
      break;
  }
}
void menu_init() {
  Serial.begin(9600);
  goPage(page0);
}
void menu_run() {}
void setup() {
  BtnS.init();
  BtnU.init();
  led.init();
  menu_init();
}

void loop() {
  BtnS.run();
  BtnU.run();
  led.run();
  menu_run();
}

Конечно кнопки пин земля с программной подтяжкой.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

qwone пишет:

ВладимирN пишет:

спасибо за понимания. 

А это если разберетесь вам поможет.

/**/
//---кнопки-----------------------------
typedef void (*pDo)();
class Cl_btn {
  protected:
    byte pin;
    bool state;
    unsigned long past;
    void set(bool s) {
      state = s;
      past = millis();
      if (s == true) Do();
    }
  public:
    Cl_btn(byte p): pin(p) {}
    pDo Do = [] {};
    void init() {
      pinMode(pin, INPUT_PULLUP);
      set(false);
    }
    void run() {
      if (millis() - past >= 100)
        switch (state) {
          case false:
            if (!digitalRead(pin))set(true);
            break;
          case true:
            if (digitalRead(pin))set(false);
            if (millis() - past >= 300)set(false);
            break;
        }
    }
};
Cl_btn    BtnS(/*пин*/2);  //кнопка селект
Cl_btn    BtnU(/*пин*/3);  //кнопка верх
//----------------------------------------------------------
class Cl_led {
  protected:
    static const byte led_OFF = 0;
    static const byte Blink_OFF = 1;
    static const byte Blink_ON = 2;
    byte pin;
    byte state;
    unsigned long past, time;
    void set(byte s) {
      state = s;
      past = millis();
      switch (state) {
        case led_OFF:
        case Blink_OFF:
          digitalWrite(pin, LOW);
          break;
        case Blink_ON:
          digitalWrite(pin, HIGH);
          break;
      }
    }
  public:
    Cl_led(byte p): pin(p) {}
    void init() {
      pinMode(pin, OUTPUT);
      set(led_OFF);
    }

    void OFF() {
      set(led_OFF);
    }
    void blink(unsigned long t) {
      if (t == 0) set(led_OFF);
      else {
        time = t;
        set(Blink_ON);
      }
    }
    void run() {
      switch (state) {
        case Blink_OFF:
          if (millis() - past >= time)set(Blink_ON);
          break;
        case Blink_ON:
          if (millis() - past >= time)set(Blink_OFF);
          break;
      }
    }
};
Cl_led led(/*пин*/13);
//--------------- меню---------------------------------------------
template <typename T> inline Print & operator << (Print &s, T n) {
  s.print(n);
  return s;
}
const byte page0 = 0;
const byte page1 = 10;
const byte page2 = 20;
const byte page3 = 30;
byte page;         //<--- вот про эту переменую состояния.
unsigned long past;
void goPage(byte p) { //<--- вот про эту переключающую функцию
  past = millis();
  page = p;
  switch (page) {
    case page0:
      BtnS.Do = [] {goPage(page1);};
      BtnU.Do = [] {led.OFF();};
      Serial << "\nno blink";
      break;
    case page1:
      BtnS.Do = [] {goPage(page2);};
      BtnU.Do = [] {led.blink(200);};
      Serial << "\nblink(200)";
      break;
    case page2:
      BtnS.Do = [] {goPage(page3);};
      BtnU.Do = [] {led.blink(500);};
      Serial << "\nblink(500)";
      break;
    case page3:
      BtnS.Do = [] {goPage(page0);};
      BtnU.Do = [] {led.blink(1000);};
      Serial << "\nblink(1000)";
      break;
  }
}
void menu_init() {
  Serial.begin(9600);
  goPage(page0);
}
void menu_run() {}
void setup() {
  BtnS.init();
  BtnU.init();
  led.init();
  menu_init();
}

void loop() {
  BtnS.run();
  BtnU.run();
  led.run();
  menu_run();
}

Конечно кнопки пин земля с программной подтяжкой.

скачал в свободное время будим учится.

bwn
Offline
Зарегистрирован: 25.08.2014

qwone пишет:

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

У Клапы эстафету перенял?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

bwn пишет:

Поздно благодарить, он возможно уже ... злобой наливается

Да я, вроде, не очень злой.  Пакрайней мере, сильно стараюсь. 

Мы с котом, вапще, животные милые, добрые, и пушыстые, када у нас аццкого пламени в глазах нету.

bwn
Offline
Зарегистрирован: 25.08.2014

DetSimen пишет:

Да я, вроде, не очень злой.  Пакрайней мере, сильно стараюсь. 

Мы с котом, вапще, животные милые, добрые, и пушыстые, када у нас аццкого пламени в глазах нету.

Ну дык, ТС старался, но и хороший исход я не исключал. Может даже и сертификат пока не достан, тока пужал.))))

ВладимирN
Offline
Зарегистрирован: 14.11.2019

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

byte plity = 2;
byte jina = 10;

void setup() { 
pinMode(plity, OUTPUT );
pinMode(jina, INPUT );
}

void loop() {
 
   if (digitalRead(jina) == HIGH  ) {  // если жина сказала LOW поставь на 15 минут 
     digitalWrite( plity, HIGH );//включаем плиту
     delay(900000);//ждем 15 минут 
     digitalWrite( plity, LOW);
  
}}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

По коду сразу видно, что суп жена варит для пожарного.

Другие люди занимаются во время ожидания полезными делами, периодически поглядывая на часы.

 

b707
Offline
Зарегистрирован: 26.05.2017

ВладимирN пишет:

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

Владимир, цитирую просьбу ДетСимена:

Ты можешь своими словами написать алгоритм своих дествий после того как жена тебе скажет: "Выключи суп через 15 минут".

То, что вы написали выше - это что? "Своими словами"?

 

Но мое мнение - затея Деда в вашем случае смысла не имеет. Чтобы обьяснить вам миллис через алгоритм, вам для начала придется по буквам обьяснять, что такое алгоритмы и как они составляются, а также как правильно делить действия на отдельные стадии.

 

 

ВладимирN
Offline
Зарегистрирован: 14.11.2019

sadman41 пишет:

По коду сразу видно, что суп жена варит для пожарного.

Другие люди занимаются во время ожидания полезными делами, периодически поглядывая на часы.

 

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

ВладимирN
Offline
Зарегистрирован: 14.11.2019

b707 пишет:

ВладимирN пишет:

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

Владимир, цитирую просьбу ДетСимена:

Ты можешь своими словами написать алгоритм своих дествий после того как жена тебе скажет: "Выключи суп через 15 минут".

То, что вы написали выше - это что? "Своими словами"?

 

Но мое мнение - затея Деда в вашем случае смысла не имеет. Чтобы обьяснить вам миллис через алгоритм, вам для начала придется по буквам обьяснять, что такое алгоритмы и как они составляются, а также как правильно делить действия на отдельные стадии.

 

 

если вас не затруднит. буду благодарен.

sadman41
Offline
Зарегистрирован: 19.10.2016

ВладимирN пишет:

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

Для этого надо найти ответы на след. вопросы:

1) Где в ардуине хранится время?
2) Как вычислить уже прошедший отрезок времени?
 

bwn
Offline
Зарегистрирован: 25.08.2014

ВладимирN пишет:

спасибо за терпение

Исчо раз повторюсь, вас просили написать своими словами алгоритм, а не скетч. Все начинается с идеи, а далее, программа с алгоритма, расчет с поиска формул, путешествие с прокладки маршрута, etc.
Вот если вы захотите поехать в Австралию, прям так из дома выйдите и пойдете куда глаза глядят?

ВладимирN
Offline
Зарегистрирован: 14.11.2019

bwn пишет:

ВладимирN пишет:

спасибо за терпение

Исчо раз повторюсь, вас просили написать своими словами алгоритм, а не скетч. Все начинается с идеи, а далее, программа с алгоритма, расчет с поиска формул, путешествие с прокладки маршрута, etc.
Вот если вы захотите поехать в Австралию, прям так из дома выйдите и пойдете куда глаза глядят?

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

b707
Offline
Зарегистрирован: 26.05.2017

ВладимирN пишет:

единственная просьба может кто какую литературу подскажет прочесть. спасибо.

в прикрепленной теме в Песочнице богатая библиография, насколько я помню

ВладимирN
Offline
Зарегистрирован: 14.11.2019

спасибо сейчас глянем.

negavoid
Offline
Зарегистрирован: 09.07.2016
byte plity = 2;
byte jina = 10;

unsigned long interval = 900000;
unsigned long prev = 0;

void setup() {
  pinMode(plity, OUTPUT);
  pinMode(jina, INPUT);
}

void loop() {
  if (digitalRead(jina) == HIGH)
  {
    digitalWrite(plity, HIGH);  // включаем плиту
    prev = millis();  // сохраняем (время запуска плиты) на данный момент - допустим, это 100000
  }

  // сравниваем текущее время с прошедшим
  // например, сейчас значение millis() 300000 - сохранённые 100000 = значит, прошло 200000
  // 200000 >= 900000 ?
  // если нет - пропускаем этот блок
  // если да - заходим в него и останавливаем плиту
  if ( millis() - prev >= interval )
  {
    // обнуляем время, чтобы на следующем проходе цикла заново не останавливать плиту
    // НО - через interval мы снова попадём сюда
    prev = millis();
    digitalWrite(plity, LOW); // останавливаем плиту
    while (1) {}  // не люблю пожары, поэтому завершим скетч
  }
}

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Скачай в торрентах Саймон Монк, "Программируем Ардуино" из последних изданий.  Пока не прочтешь от корки до корки, не пиши пока сюда. 

bwn
Offline
Зарегистрирован: 25.08.2014

ВладимирN пишет:

единственная просьба может кто какую литературу подскажет прочесть. спасибо.

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

ВладимирN
Offline
Зарегистрирован: 14.11.2019

negavoid пишет:

byte plity = 2;
byte jina = 10;

unsigned long interval = 900000;
unsigned long prev = 0;

void setup() {
  pinMode(plity, OUTPUT);
  pinMode(jina, INPUT);
}

void loop() {
  if (digitalRead(jina) == HIGH)
  {
    digitalWrite(plity, HIGH);  // включаем плиту
    prev = millis();  // сохраняем (время запуска плиты) на данный момент - допустим, это 100000
  }

  // сравниваем текущее время с прошедшим
  // например, сейчас значение millis() 300000 - сохранённые 100000 = значит, прошло 200000
  // 200000 >= 900000 ?
  // если нет - пропускаем этот блок
  // если да - заходим в него и останавливаем плиту
  if ( millis() - prev >= interval )
  {
    // обнуляем время, чтобы на следующем проходе цикла заново не останавливать плиту
    // НО - через interval мы снова попадём сюда
    prev = millis();
    digitalWrite(plity, LOW); // останавливаем плиту
    while (1) {}  // не люблю пожары, поэтому завершим скетч
  }
}

 

спасибо это прям то что надо. я прям кипяточком сиканул. когда ваше сообщение прочёл. 

ВладимирN
Offline
Зарегистрирован: 14.11.2019

DetSimen пишет:

Скачай в торрентах Саймон Монк, "Программируем Ардуино" из последних изданий.  Пока не прочтешь от корки до корки, не пиши пока сюда. 

я понял вас огромное спасибо всем кто хоть как-то принял участие в моём обучение. и за подсрачники тоже. ещё раз спасибо. 

bwn
Offline
Зарегистрирован: 25.08.2014

ВладимирN пишет:

спасибо это прям то что надо. я прям кипяточком сиканул. когда ваше сообщение прочёл. 

А какой вам от этого смысл? Для решения сиюминутной задачи, годно, но пока не поймете, бесполезно. ИМХО.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ВладимирN пишет:

 ещё раз спасибо. 

Выклянчил код?  Ну, забей тогда, ничего читать уже и не надо. До следующего раза. 

ВладимирN
Offline
Зарегистрирован: 14.11.2019

DetSimen пишет:

ВладимирN пишет:

 ещё раз спасибо. 

Выклянчил код?  Ну, забей тогда, ничего читать уже и не надо. До следующего раза. 

нет что вы. я обязательно прочту. и без прочтения более вас не потревожу. вам отдельная благодарность. ведь это ваша заслуга. что кто-то прочёл ваше сообщение и сделал мне подсказку. с женой.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Ппц, вот ему написали как это работает, подробно в деталях.
Но не помогло (а как оно поможет, когда не читали?).
Клиника.
В итоге так и выклянчил код

b707
Offline
Зарегистрирован: 26.05.2017

Kakmyc пишет:
В итоге так и выклянчил код

да не переживай - чтобы переделать этот код под реальную задачу - ему придется все прочитать и разобраться

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Тогда, до встречи завтро, с очередным вопросом. 

ВладимирN
Offline
Зарегистрирован: 14.11.2019

DetSimen пишет:

Тогда, до встречи завтро, с очередным вопросом. 

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

ВладимирN
Offline
Зарегистрирован: 14.11.2019

и снова доброго дня вам. Извините за навязчивость. Просто хотел поинтересоваться, может ещё какого автора дадите имя почитать. А то читая данную книгу Монк Саймон . Я пока лишь понял что она про экономию питания и подводные камни в ардуино рассказывает. А мне так сказать букварь нужен. Где болия разжованно  о языке С,  С++ Спасибо за понимания. я вообще ЭВМ и тот на 2 с - чтоб понять почему если я ставлю цык в начале loop всеми  условиями if он работает но тормозит всю програму аля мой говно код. но при этом работает.

bwn
Offline
Зарегистрирован: 25.08.2014

Ну загляните в "Песочницу" наконец и возьмите там Ритчу с Керниганом.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

Спасибо...

ТинТин
Offline
Зарегистрирован: 31.01.2020

if (digitalRead(jina) == HIGH)

Если прочитать с вывода ЖЕНА состояние включена.....

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

Владимир, возможно вам поможет ЭТО. Мы там пытались понять что такое миллис и с чем его  едят.

Как я понимаю миллис на рабоче крестьянском:
Подал питание на ардуину-в ней пошел отсчет(сам по себе,не зависимо не от чего)1,2,3,4
Ты задаешь в коде переменную для хранения(lastTaim)
пока ардуина проверяет код,что то там делает,выполняя строчки кода-время идет 4,5,6,7
И вот доходит дело до той строчки кода,где нужно задействовать миллис, вместо делей
И ты говоришь ардуине: вычти время с момента включения(millis) и время которое ты потратила на что то там(7)

и сравни с временем,которое я тебе указал 15минут(900000 млС)
( millis() - LastTaime >= 900000)
В LastTaim по умолчанию 0 при первом проходе получится 7-0=7 это же не равно 900000.
И потом ты говоришь:что бы не забыть,запиши, что 7 уже было в колонку LastTaime

LastTaime = millis()
И так по кругу,пока на счетчике не наступит 90000=90000.
 

ВладимирN
Offline
Зарегистрирован: 14.11.2019

Спасибо за понимания... А чё с женой прикольно вышло))) сейчас это жизнь. К какой барышне не подойдёшь она так и говорит. Я так не могу заведи меня. Вот я и спрашиваю включена или нет:) А по сути (ЭТО) не работает отправляет меня на мою же страничку.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

И снова здравствуйте. Подскажите  как мне сделать аналоговый 6 выход цифровым. На Нано если это возможно. Так как всё что я нашёл что 6 и 7 вроде как не возможно, изменить на цифровой. Правда ли это??? 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

ВладимирN пишет:

И снова здравствуйте. Подскажите  как мне сделать аналоговый 6 выход цифровым. На Нано если это возможно. Так как всё что я нашёл что 6 и 7 вроде как не возможно, изменить на цифровой. Правда ли это??? 

В одесский автобус вошли два молдаванина. Один спрашивает: - Я до вокзала доеду? - Нет. - А я? - спрашивает второй.

ПС: А кто вы по национальности??

ВладимирN
Offline
Зарегистрирован: 14.11.2019

qwone пишет:

ВладимирN пишет:

И снова здравствуйте. Подскажите  как мне сделать аналоговый 6 выход цифровым. На Нано если это возможно. Так как всё что я нашёл что 6 и 7 вроде как не возможно, изменить на цифровой. Правда ли это??? 

В одесский автобус вошли два молдаванина. Один спрашивает: - Я до вокзала доеду? - Нет. - А я? - спрашивает второй.

ПС: А кто вы по национальности??

Я гражданин мира. по паспорту хохол а в душе Русский

ВладимирN
Offline
Зарегистрирован: 14.11.2019

А по сути ответ дадите???

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

ВладимирN пишет:

А по сути ответ дадите???

Даташит говорит однозначно нет. Но для некоторых личностей может пройти. Но этим личностям с наркотой надо завязывать.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

qwone пишет:

ВладимирN пишет:

А по сути ответ дадите???

Даташит говорит однозначно нет. Но для некоторых личностей может пройти. Но этим личностям с наркотой надо завязывать.

Вы конечно меня извините. Но  в датошите я не силён. Это то что я только познаю. Да и не всегда вспоминаю что есть такой. Так что огромное вам спасибо, за ответ. А с наркотикоми согласен. 

sadman41
Offline
Зарегистрирован: 19.10.2016

А 6/7 вообще выходами разве можно сделать?

ВладимирN
Offline
Зарегистрирован: 14.11.2019

Если вас не затруднит с этого места можно по подробнее. Спасибо

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

https://compacttool.ru/viewtovar.php?id=482  Открываем и читаем.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

Спасибо!!!

ВладимирN
Offline
Зарегистрирован: 14.11.2019

как я понял их вообще. лучше не трогать так как они связаны с I2C. Или я тупой.

 

ВладимирN
Offline
Зарегистрирован: 14.11.2019

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

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Сиреневые 0 -19 Это цифровые. Зеленые А0-А7 аналоговые.  А5,А4 это I2c . А вы спрашивали о А6 и А7 . Так они только аналоговые и все.

ПС: новичкам дуни лучше вообще не соединять.

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

Проще всего две Ардуины соединить IMHO последовательным портом. Но, учитывая, что в распространенных Uno/Nano последовательный порт занят USB (в отличие от Mega, Micro, Leonardo и Mini), выбирать приходится между softSerial и I2C.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

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

Kakmyc
Offline
Зарегистрирован: 15.01.2018

ВладимирN пишет:

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

 

Что тупой , это все поняли, приняли и смирились.

Раздражает, только то , что не кончаются у вас эти тупые вопросы ответы на которые можно  найти в Гугле за 2 мин.

ВладимирN
Offline
Зарегистрирован: 14.11.2019

можно и за хухлить конечно, но кто меня поправит в моей глупости. хухлу ведь пофиг. Да и как правильно задавать вопрос если я в ваших терминах не бу бум. А вот вы меня поправите где оскорбите конечно не без этого. Сам такой если человек не знает и тупит раздражает. Но как пословица гласит, язык до Киева доведёт. Так что прошу прошения за свою глупость. Но по другому я не умею, пока. Но думаю со временем это будет не так заметно либо вы привыкнете, к моей глупости:) шутка.