Извиняюсь,что сразу не описал комплектацию таймера, а она такова:
Использовать суточный таймер всего на одной микросхеме аттини13. Я понимаю конечно, что можно в качестве опорного сигнала использовать DC3231, либо построить на другом AVR с внешним кварцем, но повторюсь - реализовать задачу для цикличного суточного таймера с индикацией работы самого таймера (мигание светодиода) на одной аттини, из-за её габаритов и потребления.
Думаю, что вчера путем долгих экспериментов и вычислений для корректировки значения millis, добился ухода +2сек за 10 мин. Я думаю этого вполне хватит для моей задачи. Вчера вечером в 20:30 включил таймер. Сегодня вечером посмотрю во сколько сработает, а завтра - во сколько отключится.
Я не умею корректировать внутренний коэффициент деления с помощью каких-либо программ. Если кто-то сможет, а главное - ЗАХОЧЕТ помочь мне с этим, ценой своего личного времени - буду очень признателен.
Помогаю: выкинь Tiny13, купи Tiny85, туда влезет всё, и в габаритах не проиграешь, только чучуть в цене.
А как же спортивный интерес?
Советую 2 кнопки +/- для оскала и чем то измерять на выходе временной интервал, сформированный миллис или делей. Ну а сам оскал сохранять в еепром при этом.
Я без частотомера проверяю. Ставлю миллис 1000 = 1 сек. Выставляю 10 минут, потом смотрю на сколько ушло, перевожу в проценты и корректирую 10 минут на эти проценты...
а ведь и правда, с частотомером побыстрее будет. Сам что-то не допёр. Спасибо.
Не надо программировать с помощью программ. Добавь кнопку, при коротком нажатии добавляешь десятки в регистр, при длинном убавляешь единчки. За день настроишь точность лучше 10 минут.
Добавь кнопку, при коротком нажатии добавляешь десятки в регистр, при длинном убавляешь единчки. За день настроишь точность лучше 10 минут.
Тоже вариант. Заряжаешь таймер на какой то промежуток, час например, и считаешь расхождение. Корректируешь кнопкой (кнопками) и по новой, пока не получишь результат.
чот наткнулся, что в тини 85 внутренний кварц.. похоже лажа какая-то. скорее всего RC - генератор. Поправьте если это не так.
"Отличия attiny25 от 45 и 85 - объем памяти: 2, 4, 8 кб соответственно. Так же есть 13, 1 кб.
Из функций - пара независимых таймеров для ШИМ, 5(6) портов ввода вывода (6 потому что RESET тоже можно настроить, как порт ввода вывода, но для сброса понадобится специальное устройство), и самое приятное - внутренний кварц на 128 кГц, 1, 8 или 16 МГц, то есть внешний резонатор не нужен, а частоту работы можно изменить прямо в"
Неправильно прочитано. 85, в отличие от 13, позволяет иметь внешний кварц. Стабильность RC у всех одинакова. Внутренних кварцев не бывает. У ds3231 разве что.
Если таймер суточный, то можно обойтись совсем без МК использую DS3231 с его будильниками
И кроме выставления времени и будильников вообще ничего не нужно
такой вариант прорабатывался.. в DC3231 нет возможности цикла, нужна еще микросхема.. нужен вариант: сутки на выходе МК присутствует - 0, а через сутки - 1, и так постояно пока есть питание..
Итак: вечером 06.11.20 в 20:30 включил таймер. 07.11.20 в 20:35 таймер переключился с 0 на 1 (всё как и рассчитал - за 10 мин +2сек, как раз на пять минут за сутки убежали). Спать ложился уже около 00:00 часов - таймер работал, т.е на выходе была - 1., а сегодня утром встал, а там опять на выходе - 0. Когда переключился таймер ума не приложу. Сначала подумал, что сеть ночью пропадала, но нет, часы на плите не сбросились. Выходит, что с программой что-то не то?. Я вот и не знаю, что там внутри происходит, какие алгоритмы и процессы? Может в какой-то период таймер сбрасывается? или со счетчиками переполнения происходят? Тут уже помощь требуется - код который зашит в Аттини13 не может сбиваться через определенное время? Помогите, кто может!
на всякий случай еще проверил галочку на Watch-dog Timer - галочки нет..
Если таймер суточный, то можно обойтись совсем без МК использую DS3231 с его будильниками
И кроме выставления времени и будильников вообще ничего не нужно
такой вариант прорабатывался.. в DC3231 нет возможности цикла, нужна еще микросхема.. нужен вариант: сутки на выходе МК присутствует - 0, а через сутки - 1, и так постояно пока есть питание..
И эта микросхема давно существует.
Называется она D триггер,
155ТМ2 или по новому 7474 с множеством вариаций ТТЛ КМОП
При соединении инверсного выхода и входа данных получается делитель на 2
ну пока народ думал, что форум вам ПОМОГАЕТ делать таймер - были предложения вариантов. А как выяснилось, что вы в коде ничего не смыслите и делать нужно за вас - думаю и интерес к теме пропал.
ну да, в коде я ничего не смыслю, поэтому к местным Гуру и обратился, чтобы проблему разобрать. Код взят от другого Гуру, с другого сайта..Туда написал - никто не отвечает, поэтому сюда и обратился...
Доброго времени суток. Встала проблема измерения напряжения на ATTiny13. В ARDUINO скетч прекрасно работает, заливаю
в ТИНЬКУ, никакой реакции на изменения напряжения нет, вернее есть, динамик отрабатывает сигналы, а на повышение
напряжения до 15 вольт не реагирует, сигнализация продолжается. Напряжение 15 вольт подаю через резистивный делитель.
Уж простите в программировании мало опыта, а в электронике ещё меньше. Может надо как-то конфигурировать порты АЦП
тиньки, я прописывал вместо А0 номер порта ATTiny13. Подскажите в чём дело . Решаю эту проблему 8 часов. поиск
решения в интернете результатов не даёт, так как мало кто заливает скетчи через Ардуино в тиньку13.
Вот код:
#define VREF 5 // точное напряжение на пине 5V (в данном случае зависит от стабилизатора на плате Arduino)
#define DIV_R1 10000 // точное значение 10 кОм резистора
#define DIV_R2 5000 // точное значение 4.7 кОм резистора
void setup() {
//Serial.begin(9600);
pinMode(A0, INPUT); // пин A0 будет входом
pinMode(3, OUTPUT);// BUZZER
}
void loop() {
float voltage = (float)analogRead(A0) * 5 * ((DIV_R1 + DIV_R2) / DIV_R2) / 1024; // Эту строку писал не я
// и с трудом её понимаю
// Serial.println(voltage);
if (voltage < 11.9){
for (int w=0; w <= 2;){ // Сигнализация что напряжение упало до 11.9 вольт
digitalWrite(3, HIGH);
delay(100); // этот блок для ACTIVE BUZZER 5V
digitalWrite(3, LOW);
delay(100);
}
}
}
Естественно я вписывал не RESET все другие ноги. Вечно пищать? там же условие if (voltage < 11.9). На Arduino Pro Mini всё прекрасно работает, пищит только когда напряжение опускается ниже 11.9 и прекращает как только напряжение поднимается.
Ну да, будет вечно пищать, если напряжение однажды станет ниже 11.9.
Все вписывать не надо. Нужно одну конкретную. Показывайте схему и скетч. Иначе ещё будете решать 8 часов.
Да с возрастом не только единицы плохо записываются, но видимо и нули отличаются от стандарта. Сам такой, увлёкся на старости лет, в моей молодости не было таких умных микроконтроллеров.
Green; Игорь Я; Спасибо что ответили, но проблемы то и нет! Дело в Китайских ATTiny13, Заменил на другую и всё работает! А вот книжки читать надо, потому как на этом Arduino Wiring в мои любимые 13тые мало что помещается, например этот код что написан занял 98% памяти Тиньки, я даже не пойму почему? Раньше раз в 5 больше кода помещалась. Теперь не знаю хватит ли 2% на команды обработки полученных данных...
Ну вот здрасссте Закоментировл цикл и после компиляции пишет "Скетч использует 246 байт (24%) памяти устройства. Всего доступно 1024 байт." Это как понимать? С циклом как я писал занимал (98%)
#define VREF 5 // точное напряжение на пине 5V (в данном случае зависит от стабилизатора на плате Arduino)
#define DIV_R1 10000 // точное значение 10 кОм резистора
#define DIV_R2 5000 // точное значение 4.7 кОм резистора
void setup() {
//Serial.begin(9600);
pinMode(3, INPUT); // пин A0 будет входом
pinMode(4, OUTPUT);// BUZZER
}
void loop() {
float voltage = (float)analogRead(3) * 5 * ((DIV_R1 + DIV_R2) / DIV_R2) / 1024;
//Serial.println(voltage);
if (voltage < 11.9){
/*for (int w=0; w <= 1; w++){ // Сигнализация что напряжение упало до 11.9 вольт
digitalWrite(4, HIGH);
delay(100); // этот блок для ACTIVE BUZZER 5V
digitalWrite(4, LOW);
delay(100);
}*/
}
}
совсем забыл - это что бы с lightning кабеля питание получать. ну а что делей 1000? по хорошему нужно читать ответ кабеля и прекращать отправку, но для упрощения и так работает
Хочу сразу предупредить, что в программировании я полный ноль, но так вышло, что очень нужно реализовать проект с attiny13(13a), dht11, rf433. То есть считываются показатели температуры и влажности с dht11, отправляются при помощи передатчика rf433, а приемник в идеале соединен с ардуино уно и выводит уже в монитор порта. Хотела уточнить, это вообще реально? Просто столкнулась с проблемой катастрофически маленькой памяти у attiny13. Прошивать attiny при помощи Arduino UNO и Arduino IDE наловчилась, но как дальше быть? Излазила уйму сайтов и перепробовала разные варианты, ничего толкового так и не вышло :(
Схема подключения:
Заявлено, что от 3 В. Дальность в проекте не особо важна, главное - чтоб передавал/принимал, дальность 20 см (или даже меньше) вполне устроит
Скажем так, свой протокол Вы вряд-ли будете писать, а если использовать готовые библиотеки, то в 1кб точно не впишетесь, для 433 сожрет только килобайт 5-6, не говоря что надо еще добавить для dht.
Господа. Есть ли у кого реальный опыт использования ATtiny 13/45/85 + софтСериал + JDY-40? Если есть, отпишитесь пожалуйста.
Хочу соорудить датчик уровня воды в емкости с автономным питанием. Тиньки подходят по всем параметрам, смущает термостабильность RC-генератора. Пишут разное, поэтому и прошу совета. Температура в помещении, где планирую использовать +1-+25. Или смотреть на что другое с кварцем?
Господа. Есть ли у кого реальный опыт использования ATtiny 13/45/85 + софтСериал + JDY-40?
У мня уличный даччик на 85+SoftSerial+JDY40. Раз в минуту шлёт данные. На компе я их ловлю, и на рабочий стол ложу. Скорость 9600, стабильность - ну примерно один пакет из 20 приходит битый.
Спасибо Всем за высказанные мысли и идеи.
Извиняюсь,что сразу не описал комплектацию таймера, а она такова:
Использовать суточный таймер всего на одной микросхеме аттини13. Я понимаю конечно, что можно в качестве опорного сигнала использовать DC3231, либо построить на другом AVR с внешним кварцем, но повторюсь - реализовать задачу для цикличного суточного таймера с индикацией работы самого таймера (мигание светодиода) на одной аттини, из-за её габаритов и потребления.
Думаю, что вчера путем долгих экспериментов и вычислений для корректировки значения millis, добился ухода +2сек за 10 мин. Я думаю этого вполне хватит для моей задачи. Вчера вечером в 20:30 включил таймер. Сегодня вечером посмотрю во сколько сработает, а завтра - во сколько отключится.
Я не умею корректировать внутренний коэффициент деления с помощью каких-либо программ. Если кто-то сможет, а главное - ЗАХОЧЕТ помочь мне с этим, ценой своего личного времени - буду очень признателен.
Помогаю: выкинь Tiny13, купи Tiny85, туда влезет всё, и в габаритах не проиграешь, только чучуть в цене.
И что это даст?
Внутренний генератор Тини85 намного точнее Тини 13?
При исходном коде программирования в конечном итоге будет какая-то разница?
Помогаю: выкинь Tiny13, купи Tiny85, туда влезет всё, и в габаритах не проиграешь, только чучуть в цене.
Советую 2 кнопки +/- для оскала и чем то измерять на выходе временной интервал, сформированный миллис или делей. Ну а сам оскал сохранять в еепром при этом.
И что это даст?
Кварц можно подключить. И даже на 32 кгц.
А как же спортивный интерес?
Некогда спортом заниматься)
Я без частотомера проверяю. Ставлю миллис 1000 = 1 сек. Выставляю 10 минут, потом смотрю на сколько ушло, перевожу в проценты и корректирую 10 минут на эти проценты...
а ведь и правда, с частотомером побыстрее будет. Сам что-то не допёр. Спасибо.
Не надо программировать с помощью программ. Добавь кнопку, при коротком нажатии добавляешь десятки в регистр, при длинном убавляешь единчки. За день настроишь точность лучше 10 минут.
И что это даст?
Кварц можно подключить. И даже на 32 кгц.
.. и тут начнётся рост габаритов - кварц, кондюки для кварца.. да и размер самого маленького 32768 я видел, диаметром со спичку и длиной милиметров 7.
Тоже вариант. Заряжаешь таймер на какой то промежуток, час например, и считаешь расхождение. Корректируешь кнопкой (кнопками) и по новой, пока не получишь результат.
чот наткнулся, что в тини 85 внутренний кварц.. похоже лажа какая-то. скорее всего RC - генератор. Поправьте если это не так.
"Отличия attiny25 от 45 и 85 - объем памяти: 2, 4, 8 кб соответственно. Так же есть 13, 1 кб.
Из функций - пара независимых таймеров для ШИМ, 5(6) портов ввода вывода (6 потому что RESET тоже можно настроить, как порт ввода вывода, но для сброса понадобится специальное устройство), и самое приятное - внутренний кварц на 128 кГц, 1, 8 или 16 МГц, то есть внешний резонатор не нужен, а частоту работы можно изменить прямо в"
может не правильно написано?
Неправильно прочитано. 85, в отличие от 13, позволяет иметь внешний кварц. Стабильность RC у всех одинакова. Внутренних кварцев не бывает. У ds3231 разве что.
Если таймер суточный, то можно обойтись совсем без МК использую DS3231 с его будильниками
И кроме выставления времени и будильников вообще ничего не нужно
Если таймер суточный, то можно обойтись совсем без МК использую DS3231 с его будильниками
И кроме выставления времени и будильников вообще ничего не нужно
такой вариант прорабатывался.. в DC3231 нет возможности цикла, нужна еще микросхема.. нужен вариант: сутки на выходе МК присутствует - 0, а через сутки - 1, и так постояно пока есть питание..
... что-то пошло не так..
Итак: вечером 06.11.20 в 20:30 включил таймер. 07.11.20 в 20:35 таймер переключился с 0 на 1 (всё как и рассчитал - за 10 мин +2сек, как раз на пять минут за сутки убежали). Спать ложился уже около 00:00 часов - таймер работал, т.е на выходе была - 1., а сегодня утром встал, а там опять на выходе - 0. Когда переключился таймер ума не приложу. Сначала подумал, что сеть ночью пропадала, но нет, часы на плите не сбросились. Выходит, что с программой что-то не то?. Я вот и не знаю, что там внутри происходит, какие алгоритмы и процессы? Может в какой-то период таймер сбрасывается? или со счетчиками переполнения происходят? Тут уже помощь требуется - код который зашит в Аттини13 не может сбиваться через определенное время? Помогите, кто может!
на всякий случай еще проверил галочку на Watch-dog Timer - галочки нет..
Код забыл вставить
Если таймер суточный, то можно обойтись совсем без МК использую DS3231 с его будильниками
И кроме выставления времени и будильников вообще ничего не нужно
такой вариант прорабатывался.. в DC3231 нет возможности цикла, нужна еще микросхема.. нужен вариант: сутки на выходе МК присутствует - 0, а через сутки - 1, и так постояно пока есть питание..
И эта микросхема давно существует.
Называется она D триггер,
155ТМ2 или по новому 7474 с множеством вариаций ТТЛ КМОП
При соединении инверсного выхода и входа данных получается делитель на 2
Для начала объявить все без исключения временные промежутки unsigned long
что-то в программе не то?
что-то в программе не то?
Т е фраза объявить переменные вместо long написать unsigned long не понятна?
Не поможет, значит дальше разбираться.
Вы код то сами писали?
. Вы код то сами писали?
нет, код готовый брал отсюда http://robotosha.ru/arduino/multi-tasking-arduino.html, в середине статьи код
все Гуру сдулись?
"А царь-то, не настоящий!"..(С)
все Гуру сдулись?
ну пока народ думал, что форум вам ПОМОГАЕТ делать таймер - были предложения вариантов. А как выяснилось, что вы в коде ничего не смыслите и делать нужно за вас - думаю и интерес к теме пропал.
[/quote]
что вы в коде ничего не смыслите
[/quote]
ну да, в коде я ничего не смыслю, поэтому к местным Гуру и обратился, чтобы проблему разобрать. Код взят от другого Гуру, с другого сайта..Туда написал - никто не отвечает, поэтому сюда и обратился...
ну да, в коде я ничего не смыслю, поэтому к местным Гуру и обратился, чтобы проблему разобрать.
А0 - это RESET, 1-я нога тини13. Вы на нём собрались что то измерять?
Да и бипер у вас будет пищать вечно с этим скетчем.)
Естественно я вписывал не RESET все другие ноги. Вечно пищать? там же условие if (voltage < 11.9). На Arduino Pro Mini всё прекрасно работает, пищит только когда напряжение опускается ниже 11.9 и прекращает как только напряжение поднимается.
Прошу прощенья, я из за запарки стер в скетче w++. Да так получается вечный цикл вот исправил:
for (int w=0; w <= 2; w++)
Ну да, будет вечно пищать, если напряжение однажды станет ниже 11.9.
Все вписывать не надо. Нужно одну конкретную. Показывайте схему и скетч. Иначе ещё будете решать 8 часов.
[/quote]
Этим сейчас и занялся. Скачал AtmelStudio 7, читаю уроки на С++ и видео смотрю, разбираю принципы построения и функции.
Тяжко идет запоминание такого объема. Наверное с возрастом, нейроны в мозге с трудом записывают "1" в память... Сплошной мусор...
Да с возрастом не только единицы плохо записываются, но видимо и нули отличаются от стандарта. Сам такой, увлёкся на старости лет, в моей молодости не было таких умных микроконтроллеров.
Green; Игорь Я; Спасибо что ответили, но проблемы то и нет! Дело в Китайских ATTiny13, Заменил на другую и всё работает! А вот книжки читать надо, потому как на этом Arduino Wiring в мои любимые 13тые мало что помещается, например этот код что написан занял 98% памяти Тиньки, я даже не пойму почему? Раньше раз в 5 больше кода помещалась. Теперь не знаю хватит ли 2% на команды обработки полученных данных...
Ну вот здрасссте Закоментировл цикл и после компиляции пишет "Скетч использует 246 байт (24%) памяти устройства. Всего доступно 1024 байт." Это как понимать? С циклом как я писал занимал (98%)
float уберите, напряжение считайте в десятках вольт или даже в милливольтах.
Ну вот здрасссте
В блок после условия вставьте что-нибудь. Компиляторы сейчас умные - наверняка выкинул все ваши вычисления за ненадобностью.
вот может кому будет полезно -
занимает 186 байт
вот может кому будет полезно -
...
занимает 186 байт
И что это было? 102-е применение ATiny?
Особенно делей 1000 доставляет.
совсем забыл - это что бы с lightning кабеля питание получать. ну а что делей 1000? по хорошему нужно читать ответ кабеля и прекращать отправку, но для упрощения и так работает
Ахтунг! Яблофилы в Ардуино!!! Срочную санобработку! Два раза в день по 30 минут программирование в Андроид-студио!
Всем добрый день!
Хочу сразу предупредить, что в программировании я полный ноль, но так вышло, что очень нужно реализовать проект с attiny13(13a), dht11, rf433. То есть считываются показатели температуры и влажности с dht11, отправляются при помощи передатчика rf433, а приемник в идеале соединен с ардуино уно и выводит уже в монитор порта. Хотела уточнить, это вообще реально? Просто столкнулась с проблемой катастрофически маленькой памяти у attiny13. Прошивать attiny при помощи Arduino UNO и Arduino IDE наловчилась, но как дальше быть? Излазила уйму сайтов и перепробовала разные варианты, ничего толкового так и не вышло :(

Схема подключения:
Просто столкнулась с проблемой катастрофически маленькой памяти у attiny13.
Ну так надо начать и смотреть за расходом памяти. На глаз никто не скажет влезет или нет. Может и влезет. Какой модуль 433?
такого формата
Этот передатчик, по моему, от 5 до 12 вольт. Ну и дальность при 5 совсем небольшая.
Заявлено, что от 3 В. Дальность в проекте не особо важна, главное - чтоб передавал/принимал, дальность 20 см (или даже меньше) вполне устроит
Я бы советовал сначала связать 2 Ардуино проводами через Software serial на 1200 с инверсией. Затем через модули. Ну а дальше подключать к тини13.
Заявлено, что от 3 В. Дальность в проекте не особо важна, главное - чтоб передавал/принимал, дальность 20 см (или даже меньше) вполне устроит
Скажем так, свой протокол Вы вряд-ли будете писать, а если использовать готовые библиотеки, то в 1кб точно не впишетесь, для 433 сожрет только килобайт 5-6, не говоря что надо еще добавить для dht.
Да какой там протокол - здесь же одно ус-во. Преамбула, синхро, данные, КС - всё.
Lalen, по-моему сделано именно то, что вам надо.
http://homes-smart.ru/index.php/oborudovanie/bez-provodov-433-315mgts/besprovodnoj-datchik-temperatury-i-vlazhnosti-na-baze-radiomodulej-433-315
Господа. Есть ли у кого реальный опыт использования ATtiny 13/45/85 + софтСериал + JDY-40? Если есть, отпишитесь пожалуйста.
Хочу соорудить датчик уровня воды в емкости с автономным питанием. Тиньки подходят по всем параметрам, смущает термостабильность RC-генератора. Пишут разное, поэтому и прошу совета. Температура в помещении, где планирую использовать +1-+25. Или смотреть на что другое с кварцем?
Господа. Есть ли у кого реальный опыт использования ATtiny 13/45/85 + софтСериал + JDY-40?
У мня уличный даччик на 85+SoftSerial+JDY40. Раз в минуту шлёт данные. На компе я их ловлю, и на рабочий стол ложу. Скорость 9600, стабильность - ну примерно один пакет из 20 приходит битый.