#2 Re: Программирование Arduino » Для меня сложно, а для вас нет) » 2018-03-14 16:41:15

Вячеслав Азаров пишет:
NEW_NOOB пишет:

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

...
 if (val==1 && analogRead(Photorez)==500) {        //Сработает вечером
...
 if (analogRead(Photorez)==200) {
...                                                           //Если темно, вкл режим "ночь"
 if (analogRead(Photorez)==800) {
...                                                           //Если светло, вкл режим "день"
 }

Для начала неплохо. Только не используйте равенство при определении порога освещенности, такого в природе не бывает.

А как же тогда ?
Так?
if (800>analogRead(Photorez)>810)

#3 Re: Программирование Arduino » Для меня сложно, а для вас нет) » 2018-03-14 16:27:44

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

const int ledPin = 13;  
long previousMillis = 0;
int Photorez = A6;
long interval = 1000*60*60*6; 
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(button, INPUT); 
  int val = 1;                                                          //Если день, val=1. Если ночь, val=0. 
} 
void loop() {
 if (val==1 && analogRead(Photorez)==500) {        //Сработает вечером
  digitalWrite(ledPin, 1);                                         //Вкл свет
  unsigned long currentMillis = millis();
  if(millis() - previousMillis > interval) {                   //Подождать 6 часов
    previousMillis = currentMillis; 
     digitalWrite(ledPin, 0);                                      //Выкл свет
   }
  } else { digitalWrite(ledPin, 0);              
 }
 if (analogRead(Photorez)==200) {
  val = 0 }                                                            //Если темно, вкл режим "ночь"
 if (analogRead(Photorez)==800) {
  val = 1 }                                                            //Если светло, вкл режим "день"
 }

#4 Re: Программирование Arduino » Для меня сложно, а для вас нет) » 2018-03-14 13:56:44

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

#5 Re: Программирование Arduino » Для меня сложно, а для вас нет) » 2018-03-14 00:00:16

vvr пишет:

а как вы автополив сделаете, если это осилить не можете.

if (A1 < 500) {
  digitalWrite(13, 1);
}
if (A1 > 800) {
  digitalWrite(13, 0);
Вот автополив
А для автовыключение света, нужно сделать задержку, причем без влияния на работу остального кода

#7 Программирование Arduino » Для меня сложно, а для вас нет) » 2018-03-13 19:30:15

NEW_NOOB
Ответов: 25

В общем не могу вместить в голове всё это... Только начал разбираться... Вот что нужно: При значении 500 с фоторезистора (Вечером)
включается подсветка на n-времени, после сама выключается. Скетч нужен с функцией milis а не delay. Нужно всё это для автодосвета растения. delay не подходит, потому что будет реализован ещё и автополив, так бы и сам написал).

Подвал раздела