помогите переписать код ардуино пожалуйста
Re: помогите переписать код ардуино пожалуйста
[uquote="java",url="/forum/viewtopic.php?p=4389798#p4389798"]заменил в 7 строке слово RTC time; на RTC_DS1307 RTC[/uquote]
time это переменная типа RTC.
После замены вы получили переменную RTC типа RTC_DS1307
time это переменная типа RTC.
После замены вы получили переменную RTC типа RTC_DS1307
- Eats
- Потрогал лапой паяльник
- Сообщения: 309
- Зарегистрирован: Сб фев 18, 2023 21:51:01
- Откуда: Санкт-Петербург
Re: помогите переписать код ардуино пожалуйста
[uquote="java",url="/forum/viewtopic.php?p=4389798#p4389798"]заменил в 7 строке слово RTC time; на RTC_DS1307 RTC[/uquote]А зачем???
[uquote="electroget",url="/forum/viewtopic.php?p=4389733#p4389733"]программа-компилятор просто не может найти подключаемый файл RTC.h
Убедитесь, что такой файл действительно существует в указанной папке.[/uquote]А я добавлю: не просто убедитесь, а положите её туда. И пока не положите, последующих вопросов не задавайте. Делайте всё пошагово. Не бегите впереди паровоза.
Совершенно правильно не нравится. Библиотеки нет. Ссылки на неё тоже нет. Так откуда же взяться модулю time?теперь не нравится строчка 30
Делать правильные шаги и не делать неправильные. Вот ведь человек указал на источник ошибки и даже сказал, как это исправить:что делать-то
[uquote="electroget",url="/forum/viewtopic.php?p=4389733#p4389733"]программа-компилятор просто не может найти подключаемый файл RTC.h
Убедитесь, что такой файл действительно существует в указанной папке.[/uquote]А я добавлю: не просто убедитесь, а положите её туда. И пока не положите, последующих вопросов не задавайте. Делайте всё пошагово. Не бегите впереди паровоза.
Да, есть.есть тут кто может помочь?
Вот зачем советовать человеку, который в программировании ни в зуб ногой, другую библиотеку? И зачем ему советовать другие примеры, когда у него уже есть нужный ему пример, а он просто не может его запустить? Ему нужна библиотека RTC, а он не может её найти. Вот и надо её найти и положить в libraries, а не предлагать ему то, чего он не понимает.codenamehawk писал(а):Тогда уж попробуйте RTC_DS1307 time;
В многих библиотеках (возможно и в этой) есть примеры, начните с них.
Всего доброго.
Евгений.
Евгений.
Re: помогите переписать код ардуино пожалуйста
В 30 строчке вы обращайтесь к переменной time которой уже нет, собственно и ошибка об этом говорит
Добавлено after 5 minutes 17 seconds:
А вообще вам просто надо через менеджер библиотек установить баблиотеку RTC
Добавлено after 5 minutes 17 seconds:
А вообще вам просто надо через менеджер библиотек установить баблиотеку RTC
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
да в том то и дело, что у меня ни в библиотеке, ни слева в колонке нет баблиотеки RTC, а в инете находится только iarduino_RTC.h, я её вставил, а она не работает. Есть ещё RTCZero.h, но она тоже не работает. Куда деласьта библиотека, раньше же всё загружалось, а теперь её просто нигде нет.

Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Re: помогите переписать код ардуино пожалуйста
Вы в поиск слева вверху вводили ее название?
Добавлено after 2 minutes 22 seconds:
Выбираете управление библиотеками, ищите ее по названию и загружаете.
Добавлено after 2 minutes 22 seconds:
Выбираете управление библиотеками, ищите ее по названию и загружаете.
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
Да, вот так нашёл, только он устанавливается как #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 минут в миллисекундах
}
Добавлено 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 раз.
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
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 как в первоначальном варианте. Попробуйте скачать библиотеку та что по ссылке.
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 как в первоначальном варианте. Попробуйте скачать библиотеку та что по ссылке.
Re: помогите переписать код ардуино пожалуйста
У меня компилируется....
Библиотека iarduino_RTC 2.0 Скачивал отсюда
Спойлер
Код: Выделить всё
#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 минут в миллисекундах
}Re: помогите переписать код ардуино пожалуйста
Это больше похоже на правду чем у автораiarduino_RTC time(RTC_DS1307);
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
[uquote="Термостат",url="/forum/viewtopic.php?p=4389896#p4389896"]А если эта?
https://github.com/lstoll/arduino-libra ... /RTC/RTC.h[/uquote]
я не могу это скачать. я не нашёл кнопки, чтобв скачать, тупо нажимая на всё подряд результатов не дало
https://github.com/lstoll/arduino-libra ... /RTC/RTC.h[/uquote]
я не могу это скачать. я не нашёл кнопки, чтобв скачать, тупо нажимая на всё подряд результатов не дало
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Re: помогите переписать код ардуино пожалуйста
кнопка Raw
можно кликнуть и потом сохранить. можно вызвать контекстное меню на ней и выбрать "Сохранить ссылку как..."
можно кликнуть и потом сохранить. можно вызвать контекстное меню на ней и выбрать "Сохранить ссылку как..."
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
[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 появляется просто чистая страница и на ней скетч. Его копировать надо?

LEVV2006 О да! Огромное вам спасибо, это и у меня скомпелировалось, залилось в плату и отлично всё работает! Не знаю что вы там сделали, но вы волшебник! Ещё раз благодарю!!!
Добавлено after 5 minutes 28 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4390196#p4390196"]кнопка Raw[/uquote]
нажимая кнопку Raw появляется просто чистая страница и на ней скетч. Его копировать надо?
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Re: помогите переписать код ардуино пожалуйста
[uquote="java",url="/forum/viewtopic.php?p=4390208#p4390208"]нажимая кнопку Raw появляется просто чистая страница и на ней скетч. Его копировать надо?[/uquote]
Правой кнопкой мыши нажимаете и выбираете "Сохранить как..."
Правой кнопкой мыши нажимаете и выбираете "Сохранить как..."
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
[uquote="Термостат",url="/forum/viewtopic.php?p=4390209#p4390209"]Правой кнопкой мыши[/uquote]
вот же блин! Кто мог подумать
Спасибо большое за подсказку, я нифига не догадался. Всё получилось!
вот же блин! Кто мог подумать
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
Здравствуйте. в процессе эксплуатации нарисовалась новая проблема, которой раньше не было. Если вытащить карту, чтобы посмотреть что на ней записано, а потом опять вставить, то на неё перестаёт писать показатели. Если нажать кнопку на плате адруинки, то писать начинает, но дату и время устанавливает ту, которая была записана при програмировании. Как это можно исправмть?
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Re: помогите переписать код ардуино пожалуйста
выше писали как...java писал(а):Как это можно исправмть?
выкинуть все библиотеки ардуины...
А лучше вместе с ардуиной ))
и написать всё самому... у меня ничего не глючит)) потому что у меня нет ни библиотеки для ардуины, ни самой ардуины))
Re: помогите переписать код ардуино пожалуйста
[uquote="roman.com",url="/forum/viewtopic.php?p=4395233#p4395233"]и написать всё самому...[/uquote]
Вот бы люди, задающие вопросы по готовым библиотекам, запросто писали свои
Вот бы люди, задающие вопросы по готовым библиотекам, запросто писали свои
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: помогите переписать код ардуино пожалуйста
[uquote="roman.com",url="/forum/viewtopic.php?p=4395233#p4395233"]и написать всё самому...[/uquote]
Открыл в CodeVision AVR, я так понял вы для меня написали програмку на меге 128! Огромное вас спасибо! Обязательно соберу и посмотрю что у меня получится.
А сейчас насчёт косяка - ларчик просто открвывлся. когда заливаешь в адруину программу, перед этим выставляешь время и дату, но нужно выставить на пару минут вперёд, и с этой датой залить программу в адруинку, потом сразу же перед строкоё время дата ставить нужно две косые полоскт // и сразу же залить ещё раз. Теперь после того, как вытащил карту, посмотрел что там написано, опять её вставляешь и нажимаешь кнопку сброса на адруинке, данные продолжают записыватся и время тикает дальше, как пололжено. сли кнопку не нажать, писать не будет.
Вот такая хитрость!
Открыл в CodeVision AVR, я так понял вы для меня написали програмку на меге 128! Огромное вас спасибо! Обязательно соберу и посмотрю что у меня получится.
А сейчас насчёт косяка - ларчик просто открвывлся. когда заливаешь в адруину программу, перед этим выставляешь время и дату, но нужно выставить на пару минут вперёд, и с этой датой залить программу в адруинку, потом сразу же перед строкоё время дата ставить нужно две косые полоскт // и сразу же залить ещё раз. Теперь после того, как вытащил карту, посмотрел что там написано, опять её вставляешь и нажимаешь кнопку сброса на адруинке, данные продолжают записыватся и время тикает дальше, как пололжено. сли кнопку не нажать, писать не будет.
Вот такая хитрость!
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
Re: помогите переписать код ардуино пожалуйста
меге 128 ?java писал(а):я так понял вы для меня написали програмку на меге 128! Огромное вас спасибо!
а какая разница ?
у них производители разные ?
ну если не нравится мега 128... перепишем под других производителей))
переписал программу под ардуино mini... переписал программу под ардуино UNO... и т.д.
это пипец какой-то...))
Re: помогите переписать код ардуино пожалуйста
А мини от Уно чем отличается?