#1 Re: Програмування Arduino » Не працює вкладена функція millis() » 2020-10-08 20:16:24

Дійсно.... як елегантно і просто...Велике ДЯКУЮ !
Працює все так,як треба ,і зовсім не обов'язково городити цілу купу тих вкладених міллісів...
Вчитися! Скільки мені ще треба вчитися!  Але добре, що є на форумі добрі люди smile  smile
Дякую.

#2 Re: Програмування Arduino » Не працює вкладена функція millis() » 2020-10-08 16:54:06

Дякую за допомогу! Спробував. Не помогло.... Тільки священний delay() працює так, як треба... Якщо розкоментовую делей - вологість така,як треба. 40
Без делей якогось милого 174 -175, навіть не зважаючи на  sensor = map(sensor, MIN, MAX, 0, 100). І не працюєякраз отой другий, вкладений мілліс()...

Може це такий баг Ардуіно IDE ??

#3 Програмування Arduino » Не працює вкладена функція millis() » 2020-10-07 21:31:04

VictorZ
відповідей: 4

Привіт усім. Не можу зрозуміти, чому не працює вкладена функція millis(), тобто одна функція millis() є вкладена в іншу millis().
Проблема така - є датчик вологи, підключений до аналогового входу. Дані з датчика читаються, наприклад, 1 раз в 10 хв., живлення на датчик подається в момент читання даних, але там повинна бути затримка мінімум 50-60 мс, для чого і служить друга функція millis(). По одинці ці дві функції працюють нормально, дві - ніяк. Питання, можливо, трохи дурне, за що прошу не дуже сварити )))
deay(60) допомагає одразу, але хотілося б обійтись без неї...

#define  SENSOR   A1                     ..
#define  Vcc      A2                     

#define  MIN        747                    // мінімальні показники вологості
#define  MAX        330                   //  максимальні   ----/ -----------
uint16_t sensor;
unsigned long stat_time;
unsigned long previousMillis = 0;
unsigned long previousMillis2 = 0;
void setup(){
  Serial.begin(57600);                   
  pinMode     (Vcc,    OUTPUT);           //   вивід для живлення датчика вологості
digitalWrite(Vcc,    LOW   );           
}
void loop(){
  unsigned long currentMillis = millis();
  unsigned long currentMillis2 = millis();
  if(currentMillis-previousMillis>=5000){                // замість delay 5 хв = 300 000 мс
  previousMillis = currentMillis;

  digitalWrite(Vcc,    HIGH  );           //   Включаємо датчик
  if(currentMillis2-previousMillis2>=60){                // замість delay
  previousMillis2 = currentMillis2;

//  delay(60);           
    sensor = analogRead(SENSOR);             // Читаємо дані з датчика,
 
   sensor = map(sensor, MIN, MAX, 0, 100);  // адаптуємо значення від 0 до 100,

  Serial.println(sensor); 
 
  digitalWrite(Vcc,    LOW   );           //   Виключаємо датчик
  }
  }

Якщо розкоментувати делей, то показники - такі, як треба, напр. 45. Без делей - 171.

Вибачте за багато тексту. Прошу допомогти.

#4 Re: Програмування Arduino » Arduino NANO + ESP8266 - як отримати дані з Ардуіно на смартфон ? » 2020-08-05 19:34:05

г0сть пише:

На смежном форуме прочитал что вы используете esp-link. Ну так там вроде как есть mqtt. Вот и используйте его.

Так, але я використоую esp-link для прошивки ардуіно і там таки, на суміжному форумі написали, що нема таких прошивок для ESP8266, щоб одночасно була можливість і прошивати ардуіно без кабеля, і отримувати з неї необхідні мені дані.
При використанні mqtt це можливо ?

#6 Re: Програмування Arduino » Arduino NANO + ESP8266 - як отримати дані з Ардуіно на смартфон ? » 2020-07-29 23:07:23

Тому що  ардуіно керує двома вкнтиляторами, платою з 4-х реле і задіяно 3 аналогових входи + І2с для індикатора, etc...
Але найголовніше - під це  все зроблені друковані плати, вже скомпоноване і працює.
А це просто як додаткова сервісна можливість, ну крім можливості дистанційної прошивки. Хай би було ...

#7 Програмування Arduino » Arduino NANO + ESP8266 - як отримати дані з Ардуіно на смартфон ? » 2020-07-29 19:53:19

VictorZ
відповідей: 5

Всім привіт,
маю таке питання  - є Ардуіно нано з підключенимим датчиками, вентиляторми і т.д. Підключив ESP8266 для прошивки Ардуїнки без кабеля, все нормально працює., але хотілося б отримувати ще й дані з ардуїнки на смартфон, наприклад. Ардуіно виводить дані про температуру, вологість і ще деякі речі на диспле по шинв ІІС, чи можна якимось чином ці дані продублювати на смартфон по wi-fi ?

Підвал форуму