помогите переписать код ардуино пожалуйста

Обсуждаем контроллеры компании Atmel.
Термостат
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Пт мар 10, 2023 17:01:17

Re: помогите переписать код ардуино пожалуйста

Сообщение Термостат »

[uquote="java",url="/forum/viewtopic.php?p=4389798#p4389798"]заменил в 7 строке слово RTC time; на RTC_DS1307 RTC[/uquote]

time это переменная типа RTC.
После замены вы получили переменную RTC типа RTC_DS1307
Аватара пользователя
Eats
Потрогал лапой паяльник
Сообщения: 309
Зарегистрирован: Сб фев 18, 2023 21:51:01
Откуда: Санкт-Петербург

Re: помогите переписать код ардуино пожалуйста

Сообщение Eats »

[uquote="java",url="/forum/viewtopic.php?p=4389798#p4389798"]заменил в 7 строке слово RTC time; на RTC_DS1307 RTC[/uquote]А зачем???
теперь не нравится строчка 30
Совершенно правильно не нравится. Библиотеки нет. Ссылки на неё тоже нет. Так откуда же взяться модулю time?
что делать-то
Делать правильные шаги и не делать неправильные. Вот ведь человек указал на источник ошибки и даже сказал, как это исправить:
[uquote="electroget",url="/forum/viewtopic.php?p=4389733#p4389733"]программа-компилятор просто не может найти подключаемый файл RTC.h
Убедитесь, что такой файл действительно существует в указанной папке.[/uquote]А я добавлю: не просто убедитесь, а положите её туда. И пока не положите, последующих вопросов не задавайте. Делайте всё пошагово. Не бегите впереди паровоза.
есть тут кто может помочь?
Да, есть.
codenamehawk писал(а):Тогда уж попробуйте RTC_DS1307 time;
В многих библиотеках (возможно и в этой) есть примеры, начните с них.
Вот зачем советовать человеку, который в программировании ни в зуб ногой, другую библиотеку? И зачем ему советовать другие примеры, когда у него уже есть нужный ему пример, а он просто не может его запустить? Ему нужна библиотека RTC, а он не может её найти. Вот и надо её найти и положить в libraries, а не предлагать ему то, чего он не понимает.
Всего доброго.
Евгений.
Термостат
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Пт мар 10, 2023 17:01:17

Re: помогите переписать код ардуино пожалуйста

Сообщение Термостат »

В 30 строчке вы обращайтесь к переменной time которой уже нет, собственно и ошибка об этом говорит

Добавлено after 5 minutes 17 seconds:
А вообще вам просто надо через менеджер библиотек установить баблиотеку RTC
Снимок.PNG
(61.71 КБ) 82 скачивания
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

да в том то и дело, что у меня ни в библиотеке, ни слева в колонке нет баблиотеки RTC, а в инете находится только iarduino_RTC.h, я её вставил, а она не работает. Есть ещё RTCZero.h, но она тоже не работает. Куда деласьта библиотека, раньше же всё загружалось, а теперь её просто нигде нет.
Изображение
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Термостат
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Пт мар 10, 2023 17:01:17

Re: помогите переписать код ардуино пожалуйста

Сообщение Термостат »

Вы в поиск слева вверху вводили ее название?

Добавлено after 2 minutes 22 seconds:
Выбираете управление библиотеками, ищите ее по названию и загружаете.
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

Да, вот так нашёл, только он устанавливается как #include <I2C_RTC.h> а не #include <RTC.h> и тоже не работает.

Добавлено after 16 minutes 8 seconds:
может всё же не мучится с этой библиотекой, если её нет.
Попробовал загрузить другую, #include <iarduino_RTC.h>, изменил 4 строчку на RTC_DS1307 RTC; затем вот эту iarduino_RTC time(RTC_DS1307,5,7,6); и теперь я так понял осталось поменять только одну - сейчас она выглядит так dataFile.print(time.gettime("d-m-Y, H:i")); и вот она зараза даёт ошибку, что тут делать я уже не знаю, перепробовал кучу вариантов - не угодал.
пишет:
Compilation error: 'time' was not declared in this scope

вот целиком скетч
#include <iarduino_RTC.h>
#include <SPI.h>
#include <SD.h>
RTC_DS1307 RTC;

//Set by default for the SD card library
//MOSI = Pin 11
//MISO = Pin 12
//SCLK = PIN 13
//We always need to set the CS Pin
const int CS_PIN =10;
long datet;
//We set this high to provide power
const int POW_PIN =8;

int boiler = 14;
int light = 15;
int motion = 16;

void setup()
{
pinMode(boiler, INPUT_PULLUP);
pinMode(light, INPUT_PULLUP);
pinMode(motion, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);

iarduino_RTC time(RTC_DS1307,5,7,6);

time.settime(0, 44, 15, 22, 03, 23); // секунды, минуты, часы, дата, месяц, год // вводить

//CS pin is an output
pinMode(CS_PIN, OUTPUT);

//Card will draw power from pin 8, so set it high
pinMode(POW_PIN, OUTPUT);
digitalWrite(POW_PIN, HIGH);

if (!SD.begin(CS_PIN))
{
return;
}
}

void loop()
{
int boiler_status = 0;
int light_status = 0;
int motion_status = 0;

boiler_status = digitalRead(boiler);
light_status = digitalRead(light);
motion_status = digitalRead(motion);

//Open a file and write to it.
File dataFile = SD.open("log.csv", FILE_WRITE);
if (dataFile)
{
dataFile.print(time.gettime("d-m-Y, H:i")); ВОТ ЭТА СВОЛОЧ НЕ ПРАВИЛЬНО
dataFile.print("| ");

if(!boiler_status){
dataFile.print("Печь включена | ");
}else {
dataFile.print("Печь выключена | ");
}


if(!light_status){
dataFile.print("Свет включен | ");
}else {
dataFile.print("Свет выключен | ");
}

if(!motion_status){
dataFile.print("Движение");
}else {
dataFile.print("Нет движения");
}

dataFile.println("");
dataFile.close();
}

digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(200); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(200); // wait for a second

delay(600000); //10 минут в миллисекундах
}
Последний раз редактировалось java Чт мар 23, 2023 00:10:27, всего редактировалось 1 раз.
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Термостат
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Пт мар 10, 2023 17:01:17

Re: помогите переписать код ардуино пожалуйста

Сообщение Термостат »

А если эта?
https://github.com/lstoll/arduino-libra ... /RTC/RTC.h

Добавлено after 4 minutes 49 seconds:
[uquote="java",url="/forum/viewtopic.php?p=4389893#p4389893"]Compilation error: 'time' was not declared in this scope

#include <iarduino_RTC.h>
#include <SPI.h>
#include <SD.h>
RTC_DS1307 RTC;

//Set by default for the SD card library
//MOSI = Pin 11
//MISO = Pin 12
//SCLK = PIN 13
//We always need to set the CS Pin
const int CS_PIN =10;
long datet;
//We set this high to provide power
const int POW_PIN =8;

int boiler = 14;
int light = 15;
int motion = 16;

void setup()
{
pinMode(boiler, INPUT_PULLUP);
pinMode(light, INPUT_PULLUP);
pinMode(motion, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);

iarduino_RTC time(RTC_DS1307,5,7,6);

time.settime(0, 44, 15, 22, 03, 23); // секунды, минуты, часы, дата, месяц, год // вводить

//CS pin is an output
pinMode(CS_PIN, OUTPUT);

//Card will draw power from pin 8, so set it high
pinMode(POW_PIN, OUTPUT);
digitalWrite(POW_PIN, HIGH);

if (!SD.begin(CS_PIN))
{
return;
}
}

void loop()
{
int boiler_status = 0;
int light_status = 0;
int motion_status = 0;

boiler_status = digitalRead(boiler);
light_status = digitalRead(light);
motion_status = digitalRead(motion);

//Open a file and write to it.
File dataFile = SD.open("log.csv", FILE_WRITE);
if (dataFile)
{
dataFile.print(time.gettime("d-m-Y, H:i")); ВОТ ЭТА СВОЛОЧ НЕ ПРАВИЛЬНО
dataFile.print("| ");

if(!boiler_status){
dataFile.print("Печь включена | ");
}else {
dataFile.print("Печь выключена | ");
}[/uquote]

Красным выделена не правильная строка, из-за нее ошибка. Здесь должно быть объявление time как в первоначальном варианте. Попробуйте скачать библиотеку та что по ссылке.
LEVV2006
Грызет канифоль
Сообщения: 286
Зарегистрирован: Сб фев 06, 2010 20:39:59

Re: помогите переписать код ардуино пожалуйста

Сообщение LEVV2006 »

У меня компилируется....
Спойлер

Код: Выделить всё

#include <Arduino.h>

#include <iarduino_RTC.h>
#include <SPI.h>
#include <SD.h>
iarduino_RTC time(RTC_DS1307);

// Set by default for the SD card library
// MOSI = Pin 11
// MISO = Pin 12
// SCLK = PIN 13
// We always need to set the CS Pin
#define CS_PIN 10
long datet;
// We set this high to provide power
#define POW_PIN  8

#define boiler 14
#define light 15
#define motion 16

void setup()
{
  pinMode(boiler, INPUT_PULLUP);
  pinMode(light, INPUT_PULLUP);
  pinMode(motion, INPUT_PULLUP);
  pinMode(LED_BUILTIN, OUTPUT);

  time.begin();
  time.settime(0,51,21,27,10,15,2); // секунды, минуты, часы, дата, месяц, год // вводить

  // CS pin is an output
  pinMode(CS_PIN, OUTPUT);

  // Card will draw power from pin 8, so set it high
  pinMode(POW_PIN, OUTPUT);
  digitalWrite(POW_PIN, HIGH);

  if (!SD.begin(CS_PIN))
  {
    return;
  }
}

void loop()
{
  uint8_t boiler_status = 0;
  uint8_t light_status = 0;
  uint8_t motion_status = 0;

  boiler_status = digitalRead(boiler);
  light_status = digitalRead(light);
  motion_status = digitalRead(motion);

  // Open a file and write to it.
  File dataFile = SD.open("log.csv", FILE_WRITE);
  if (dataFile)
  {
    dataFile.print(time.gettime("d-m-Y, H:i"));
    dataFile.print("| ");

    (!boiler_status) ? dataFile.print("Печь включена | ") : dataFile.print("Печь выключена | ");
    (!light_status) ? dataFile.print("Свет включен | ") : dataFile.print("Свет выключен | ");
    (!motion_status) ? dataFile.print("Движение") : dataFile.print("Нет движения");

    dataFile.println("");
    dataFile.close();
  }

  digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
  delay(200);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);  // turn the LED off by making the voltage LOW

  delay(600000); // 10 минут в миллисекундах
}
Библиотека iarduino_RTC 2.0 Скачивал отсюда
Термостат
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Пт мар 10, 2023 17:01:17

Re: помогите переписать код ардуино пожалуйста

Сообщение Термостат »

iarduino_RTC time(RTC_DS1307);
Это больше похоже на правду чем у автора :)
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

[uquote="Термостат",url="/forum/viewtopic.php?p=4389896#p4389896"]А если эта?
https://github.com/lstoll/arduino-libra ... /RTC/RTC.h[/uquote]
я не могу это скачать. я не нашёл кнопки, чтобв скачать, тупо нажимая на всё подряд результатов не дало :shock:
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: помогите переписать код ардуино пожалуйста

Сообщение Martian »

кнопка Raw
можно кликнуть и потом сохранить. можно вызвать контекстное меню на ней и выбрать "Сохранить ссылку как..."
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

[uquote="LEVV2006",url="/forum/viewtopic.php?p=4390173#p4390173"]У меня компилируется....[/uquote]

LEVV2006 О да! Огромное вам спасибо, это и у меня скомпелировалось, залилось в плату и отлично всё работает! Не знаю что вы там сделали, но вы волшебник! Ещё раз благодарю!!!

Добавлено after 5 minutes 28 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4390196#p4390196"]кнопка Raw[/uquote]
нажимая кнопку Raw появляется просто чистая страница и на ней скетч. Его копировать надо?
Изображение
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Термостат
Потрогал лапой паяльник
Сообщения: 342
Зарегистрирован: Пт мар 10, 2023 17:01:17

Re: помогите переписать код ардуино пожалуйста

Сообщение Термостат »

[uquote="java",url="/forum/viewtopic.php?p=4390208#p4390208"]нажимая кнопку Raw появляется просто чистая страница и на ней скетч. Его копировать надо?[/uquote]

Правой кнопкой мыши нажимаете и выбираете "Сохранить как..."
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

[uquote="Термостат",url="/forum/viewtopic.php?p=4390209#p4390209"]Правой кнопкой мыши[/uquote]
вот же блин! Кто мог подумать :)) Спасибо большое за подсказку, я нифига не догадался. Всё получилось!
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

Здравствуйте. в процессе эксплуатации нарисовалась новая проблема, которой раньше не было. Если вытащить карту, чтобы посмотреть что на ней записано, а потом опять вставить, то на неё перестаёт писать показатели. Если нажать кнопку на плате адруинки, то писать начинает, но дату и время устанавливает ту, которая была записана при програмировании. Как это можно исправмть?
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: помогите переписать код ардуино пожалуйста

Сообщение roman.com »

java писал(а):Как это можно исправмть?
выше писали как...
выкинуть все библиотеки ардуины...
А лучше вместе с ардуиной ))
и написать всё самому...
microSD.c
(12.04 КБ) 60 скачиваний
у меня ничего не глючит)) потому что у меня нет ни библиотеки для ардуины, ни самой ардуины))
:))
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: помогите переписать код ардуино пожалуйста

Сообщение Morroc »

[uquote="roman.com",url="/forum/viewtopic.php?p=4395233#p4395233"]и написать всё самому...[/uquote]
Вот бы люди, задающие вопросы по готовым библиотекам, запросто писали свои :))
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Аватара пользователя
java
Держит паяльник хвостом
Сообщения: 962
Зарегистрирован: Вт янв 04, 2011 13:26:17
Откуда: Лен.Обл.

Re: помогите переписать код ардуино пожалуйста

Сообщение java »

[uquote="roman.com",url="/forum/viewtopic.php?p=4395233#p4395233"]и написать всё самому...[/uquote]
Открыл в CodeVision AVR, я так понял вы для меня написали програмку на меге 128! Огромное вас спасибо! Обязательно соберу и посмотрю что у меня получится.
А сейчас насчёт косяка - ларчик просто открвывлся. когда заливаешь в адруину программу, перед этим выставляешь время и дату, но нужно выставить на пару минут вперёд, и с этой датой залить программу в адруинку, потом сразу же перед строкоё время дата ставить нужно две косые полоскт // и сразу же залить ещё раз. Теперь после того, как вытащил карту, посмотрел что там написано, опять её вставляешь и нажимаешь кнопку сброса на адруинке, данные продолжают записыватся и время тикает дальше, как пололжено. сли кнопку не нажать, писать не будет.
Вот такая хитрость!
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: помогите переписать код ардуино пожалуйста

Сообщение roman.com »

java писал(а):я так понял вы для меня написали програмку на меге 128! Огромное вас спасибо!
меге 128 ?
а какая разница ?
у них производители разные ?
:)))
ну если не нравится мега 128... перепишем под других производителей))
:)))
переписал программу под ардуино mini...
Ардуино_mini_microSD.c
(12.03 КБ) 58 скачиваний
переписал программу под ардуино UNO...
Ардуино_UNO_microSD.c
(12.04 КБ) 59 скачиваний
и т.д.

это пипец какой-то...))
:)))
OKF
Это не хвост, это антенна
Сообщения: 1385
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: помогите переписать код ардуино пожалуйста

Сообщение OKF »

А мини от Уно чем отличается?
Ответить

Вернуться в «AVR»