rtc и реле

artmob
Offline
Зарегистрирован: 03.05.2019

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

//  Пример считывания текущего времени                      //
                                                            //
//  Раскомментируйте для программной реализации шины I2C:   //
//  #define pin_SW_SDA 3                                    // Назначение любого вывода Arduino для работы в качестве линии SDA программной шины I2C.
//  #define pin_SW_SCL 9                                    // Назначение любого вывода Arduino для работы в качестве линии SCL программной шины I2C.
//  Раскомментируйте для совместимости с большинством плат: //
//  #include <Wire.h>                                       // Библиотека iarduino_RTC будет использовать методы и функции библиотеки Wire.
//  Ссылки для ознакомления:                                //
//  Подробная информация о подключении модуля к шине I2C:   // http://wiki.iarduino.ru/page/i2c_connection/
//  Подробная информация о функциях и методах библиотеки:   // http://wiki.iarduino.ru/page/chasy-realnogo-vremeni-rtc-trema-modul/
                                                            //
#include <iarduino_RTC.h>                                   // Подключаем библиотеку iarduino_RTC для работы с модулями реального времени.
//  iarduino_RTC time(RTC_DS1302, 1, 2, 3);                 // Объявляем объект time для работы с RTC модулем на базе чипа DS1302, указывая выводы Arduino подключённые к выводам модуля RST, CLK, DAT
  iarduino_RTC time(RTC_DS1307);                          // Объявляем объект time для работы с RTC модулем на базе чипа DS1307, используется аппаратная шина I2C
//    iarduino_RTC time(RTC_DS3231);                          // Объявляем объект time для работы с RTC модулем на базе чипа DS3231, используется аппаратная шина I2C
                                                            //
void setup(){                                               //
    delay(300);                                             // Ждем готовности модуля отвечать на запросы
    Serial.begin(9600);                                     // Инициируем передачу данных в монитор последовательного порта на скорости 9600 бод.
    time.begin();                                           // Инициируем работу с модулем.
    time.settime(0,51,21,27,10,15,2);                       // Записываем время в модуль: 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник.
}                                                           //
void loop(){                                                //
    if(millis()%1000==0){                                   // Если прошла 1 секунда.
      Serial.println(time.gettime("d-m-Y, H:i:s, D"));      // Выводим время.
      delay(1);                                             // Приостанавливаем скетч на 1 мс, чтоб не выводить время несколько раз за 1мс.
    }                                                       //
}                                                           //
   

 

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

В коде криминала не вижу.

dmitron1036
Offline
Зарегистрирован: 10.01.2016

В гроубокс ртс лишний.

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

А автор скечча чо говорит?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Скетч тут не при чём, это что-то на компе. Для начала перезагрузи его. Потом проверь виден ли в диспетчере устройств (при подключённой ардуине) виртуальный COM-порт.

UPD: На всякий случай - на компе к порту одновременно может подключаться не более одной программы (одного терминала).

UPD2: И что за ардуина? Стоит ли там отдельная микросхема USB-UART моста или ATmega8U2(16U2).

artmob
Offline
Зарегистрирован: 03.05.2019

Как тогда регулировать свет?

dmitron1036
Offline
Зарегистрирован: 10.01.2016

миллис даёт тебе время.

Время в гроубоксе как в соседней вселенной - если течёт быстрее, то и огурцы быстрее растут.

И день там другой длины....

Теоретически, конечное. 

+ остальные параметры.