Народ, не кидайтесь тапками, старательно читал форум, но не хватило терпения. Хочу для начала только теоретический вопрос по Attiny13 задать. Одни и те же выводы у нее могут быть и цифровыми и аналоговыми? Судя по распиновке в даташите получается, что выводы PB5, PB2, PB4 и PB3 это аналоговые A0, A1, A2 и A3 соответственно(ADCX)? Ну т.е. в скетче мы их указываем как A0, A1, A2 и A3. А выводы PB0, PB1, PB2, PB3, PB4 и PB5 соответственно цифровые порты 0, 1, 2, 3, 4 и 5(PCINTX). При этом PB0 и PB1 поддерживают ШИМ (AINX). Или я не до конца понял распиновку?
Так же не до конца понял обозначения dW, CLKI, T0, INTX. Хотя dW, как и SCK, MISO, MOSI используются при программировании через Ардуино (возможно и не только).
Ну RESET вроде понятно, но тоже не разобрался каким уровнем сброс осуществляется. Туго у меня с английским, а Datasheet на нем родимом.
Или может ссылочку дайте, где об этом по русски почитать можно.
Пользуюсь, когда надо перевести художественный текст. Тогда и посмеятся можно над переводом. А когда ты начинающий и многих терминов и т.п. нее знаешь - тяжело.
Т.е. вы хотите сказать, что в датащите это (что я мпрашиваю) описано и разъяснено? Хм. Попробую еще раз почитать. Помоему там черезчур все мудрено и без определенной подготовки не въедешь.
Т.е. вы хотите сказать, что в датащите это (что я мпрашиваю) описано и разъяснено? Хм. Попробую еще раз почитать. Помоему там черезчур все мудрено и без определенной подготовки не въедешь.
абсолютно верно думаете.
Но только скажу вам, что "без определенной подготовки" оно и в переводе будет "черезчур все мудрено".
Так что путь один - набирать вот эту самую "подготовку", желательно одновременно с изучением английского
2. Attiny13 безнадежно устаревшая вещь. Ровно с теми же "ножками" и той же ценой attiny85.
1. Инфу пот портам вроде из видео на ютуб каналах брал. Ну разве что по поводу PB5 сильно сомневался.
А что конкретно неправильно? Вот скажем, что PB0 и PB1 с поддержкой ШИМ это в Datasheet написано, уже нашел. И что порты с PB2 по PB5 аналоговые, тоже в Datasheet написано.
Table 21. Port B Pins Alternate Functions
Port Pin Alternate Function
PB5 RESET/dW/ADC0/PCINT5(1)
PB4 ADC2/PCINT4(2)
PB3 ADC3/CLKI/PCINT3(3)
PB2 SCK/ADC1/T0/PCINT2(4)
PB1 MISO/AIN1/OC0B/INT0/PCINT1/RXD(5)
PB0 MOSI/AIN0/OC0A/PCINT0/TXD(6)
Notes: 1. Reset pin, debugWire I/O, ADC Input channel, or Pin Change Interrupt.
2. ADC Input channel or Pin Change Interrupt.
3. ADC Input channel, Clock Input, or Pin Change Interrupt.
4. Serial Clock Input, Timer/Counter Clock Input, ADC Input Channel 0, or Pin Change
Interrupt.
5. Serial Data Input, Analog Comparator Negative Input, Output Compare and PWM
Output B for Timer/Counter, External Interrupt 0 or Pin Change Interrupt.
6. Serial Data Output, Analog Comparator Positive Input, Output Compare and PWM
Output A for Timer/Counter, or Pin Change Interrupt.
По поводу устарела - не буду спорить. Наверное. Просто у меня она есть сейчас и я эксперементирую на ней. Выводы вроде там одинаковые. Ну памяти в 85 8кб. А выводы суда по картинке такие же и так же в Datasheet без пол литры не разберешся сразу.
Ну а опыта как-то надо набираться!? Я вот еще с пол года назад, пока Ардуинкой не занялся, вообще ничего о микропроцессорах не знал.
Пользуюсь, когда надо перевести художественный текст. Тогда и посмеятся можно над переводом. А когда ты начинающий и многих терминов и т.п. нее знаешь - тяжело.
Т.е. вы хотите сказать, что в датащите это (что я мпрашиваю) описано и разъяснено? Хм. Попробую еще раз почитать. Помоему там черезчур все мудрено и без определенной подготовки не въедешь.
Вы хоть скажите, то что я написал правильно?
да нормально для автомата - запрос на член 'положить' в 'MyBuffer', )))
В общем понятно. Без диплома о знании программирования на низком уровне сюда обращаться не стоит. Засмеют.
А у меня в принципе все правильно. Я уже прошил свою первую тиньку.
Я объясню, почему была такая реакция на твои посты.
Delphin911 пишет:
Одни и те же выводы у нее могут быть и цифровыми и аналоговыми?
Да, конечно. Это совсем детский вопрос. После такого вопроса складывается мнение о несерьёзности интереса новичка.Такие обычно кинут пару дурацких вопросов и исчезают. Думай, как выглядишь.
Delphin911 пишет:
Судя по распиновке в даташите получается, что выводы PB5, PB2, PB4 и PB3 это аналоговые A0, A1, A2 и A3 соответственно(ADCX)? Ну т.е. в скетче мы их указываем как A0, A1, A2 и A3. А выводы PB0, PB1, PB2, PB3, PB4 и PB5 соответственно цифровые порты 0, 1, 2, 3, 4 и 5(PCINTX). При этом PB0 и PB1 поддерживают ШИМ (AINX). Или я не до конца понял распиновку?
Обозначения зависят от выбранного ядра, их более чем одно. PCINTx сокращение для Pin Change Interrupt - прерывания изменения состояния пина, то есть ты понял, что вообще из другой оперы? AIN0 и AIN1 входы аналогового компаратора. К ШИМу никакого отношения.
Delphin911 пишет:
Так же не до конца понял обозначения dW, CLKI, T0, INTX. Хотя dW, как и SCK, MISO, MOSI используются при программировании через Ардуино (возможно и не только).
Каша в голове. Не сочетается с тем, что ты прошил тиньку. Основное описание тиньки - около 100 страниц на примитивном "школьном" аглицком. Что там непонятно?
Delphin911 пишет:
Ну RESET вроде понятно, но тоже не разобрался каким уровнем сброс осуществляется. Туго у меня с английским, а Datasheet на нем родимом.
Черта над словом RESET на схеме как бы намекает на активный низкий, нет?
Ну вот мы и добрались до основы: новичок признается, что не читает по аглицки. Что показывает полную несерьёзность интереса. Электроникой и программированием без аглицкого заниматься нельзя. Совсем нельзя. Без дискуссий и обсуждений этого факта.
=======================
Поэтому и отношение, как ты выразился: "через губу". Может ты окажешься счастливым исключением из правила?
Молодец. Ну или как далеко ловит? На сколько батарейки хватает?
Пробовал в пределах кухни, больше и не надо.
Потребление в спящем режиме 300 мкА, по примерным расчётам должно хватить на минимум 10 полноценных 6и часовых выгонов.
Вот еще нашел видео с простым и подробным описанием.
Приятно все-таки, когда делаешь что-то полезное :) Если остались вопросы - задавайте, можно под видео, можно тут, как хотите. Я сам далеко не гуру в ардуино и тем более непосредственно в AVR-микроконтроллерах, но зато может мне будет интереснее отвечать на вопросы, чем тем, кто ушел значительно дальше ;)
Этот код я видел, отдельно он комилируется без ошибок
У меня проектик такой - attiny13a + жк дисплей (б/у от промышленного автоматического выключателя, их много есть у меня) на контроллере pcf2111T и датчик температуры ds18b20.
Все это на батарейке красиво должно висеть на стене, и показывать температурку.
Я написал код для контроллера диспля, он работает, показывает любое число на экранчике.
Отдельно компилируется Ваш код.
Но вместе они вызывают странную ошибку:
error: can't find a register in class 'POINTER_REGS' while reloading 'asm'
Аттинька 700мкА на 1Мгц при 3Вольтах питания + контроллер с экраном ну пусть 150 мкА + ну чего-нибудь еще до кучи. Пусть будет 1мА в час. Если запитать от трех батареек АА, через повышающе/понижающий DC-DC, который высосет батарейки в нуль, ну допустим 3000мА, то хватит на 3000 часов или на 4 месяца.И это при непрерывной работе, а если использовать сон для аттиньки? У контроллера тоже есть режимы заморозки изображения и засыпания. Я надеюсь, на полгода минимум, а то и годик :)
Подскажите пожалуйста еще по вашему примеру, если возможно.
В конце описана функция getTemp(), выдающая в ответ на ее вызов переменную типа word (returnTReading;)
Далее я переменную с результатом функции getTemp() раскладываю в другой своей функции на цифры типа byte для экранчика по разрядам, и на этом у меня заканчивается память и ее очень сильно не хватает. Можете подсказать как бы получить температуру не в виде такой жирной переменной, а в виде чего-то более компактного, лучше трех цифирок типа byte например + 25,4 было бы просто 2 5 4? Я же комнатную температуру измеряю, тут отрицательных или слишком больших температур не ожидается.
700 мкА это огромная цифра для мк - откройте даташит, прочитайте потребление.
Вы определитесь - нужно постоянное отображение данных или по кнопке - тогда и скетч и задание совершенно разное.
Gettemp выдаёт жирную переменную чтоб её по rf передатчику отправить, соответственно ничего не мешает брать от неё один байт если всегда положительная температура.
Самая примитивная подмотка спидометра. Основана на millis. Точность вообще не нужна, настраивается на глаз. Регулирует период по отрицательному и положительному полупериоду. Может кому пригодится
Программируемый таймер, с настройкой через одну кнопку, с выводом на один светодиод на какое время запрограммирован (мигает светодиодом как сигнализация на машинах при программировании). Делалось для продувки котла на теплицу. Прошу язвительные комментарии типо (такой скетч в топку) не писать, или пишите, но тогда и пишите сразу по делу что где поменять, и что как сделать лучше. Оба скетча написаны для Attiny 13 ( по размеру влазят и работают)
Всем привет, только начинаю осваивать тему с микроконтрллерами и в частности с аттини13, так вот возник вопрос по части: у тиньки мало пинов для работы, хотелось бы еще задействовать RESET, как я понял он настраивается фьюзом RSTDISBL, после этого контроллер невозможно будет прошить обычным SPI-программатором. В даташите написано, что для прошивки на этот пин нужно будет подать напряжение +12в. Так вот: достаточно ли будет просто подключить +12в на ресет и прошить стандартным USBSPI программатором?
Пополню ряды любителей ATTiny13A) Мой проект "1-wire счетчик импульсов" (программная реализация DS2423) тоже работает на ATTyny13A
вброс засчитан.
Чтобы это было нормальным сообщением. нужно добавить схему и код
У этого МК 1024 байта памяти программ. Те, кто программирует под него более-менее сложные вещи, понимают, что это можно сравнить с искусством. Я лишь хотел сказать, что я тоже "в клубе" любителей этого МК.
Пополню ряды любителей ATTiny13A) Мой проект "1-wire счетчик импульсов" (программная реализация DS2423) тоже работает на ATTyny13A
вброс засчитан.
Чтобы это было нормальным сообщением. нужно добавить схему и код
У этого МК 1024 байта памяти программ. Те, кто программирует под него более-менее сложные вещи, понимают, что это можно сравнить с искусством. Я лишь хотел сказать, что я тоже "в клубе" любителей этого МК.
какое такое искуство? на PIC16F84 я делал контроллер управления вязальной машиной, там было более 10 программ пользователя, для управления двигателем переменного тока -программный детектор нуля, тормоз, реверс и т.д. памяти еще оставалось немного
какое такое искуство? на PIC16F84 я делал контроллер управления вязальной машиной, там было более 10 программ пользователя, для управления двигателем переменного тока -программный детектор нуля, тормоз, реверс и т.д. памяти еще оставалось немного
Вот если бы памяти не хватило, байт 10, а выкидывать никакую функциональность нельзя, тогда бы поняли, в чем искусство.
У этого МК 1024 байта памяти программ. Те, кто программирует под него более-менее сложные вещи, понимают, что это можно сравнить с искусством. Я лишь хотел сказать, что я тоже "в клубе" любителей этого МК.
и что? Смысл вашего поста в чем - прокричать "я тоже могу 20 раз", как в том анекдоте? :)
Я тут появлялся года 2 назад с темой программирования Attiny13, спасибо помогли.
Теперь новая загвоздка: на тини13 реализовать схему цикличного таймера на 24 часа. На выводе Pin3 через сутки меняется уровень с 0 на 1 (уход +- 10 минут за сутки допускается). На выводе Pin4 уровень меняется с частотой 0,5Гц - для светодиода.
Код зашил в аттини. На малых режимах времени работает нормально, но при установке 12 часов переключение происходит с запаздыванием почти на 40-50 минут в течение суток. Я представляю какой будет разброс если введу 24 часа...
Местные Гуру, помогите советом!
вот прога
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Эти переменные хранят временной шаблон для интервалов мигания
// и текущее состояние светодиодов
intledPin1=3;// номер пина со светодиодом
intledState1=LOW;// состояние светодиода
// последний момент времени, когда состояние светодиода изменялось
unsignedlongpreviousMillis1=0;
longOnTime1=42408000;// длительность свечения светодиода (в миллисекундах)
longOffTime1=42408000;// светодиод не горит (в миллисекундах)
intledPin2=4;// номер пина со светодиодом
intledState2=LOW;// состояние светодиода
// последний момент времени, когда состояние светодиода изменялось
unsignedlongpreviousMillis2=0;
longOnTime2=500;// длительность свечения светодиода (в миллисекундах)
longOffTime2=500;// светодиод не горит (в миллисекундах)
voidsetup(){
// устанавливаем цифровой пин со светодиодом как ВЫХОД
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
}
voidloop(){
// выясняем не настал ли момент сменить состояние светодиода
unsignedlongcurrentMillis=millis();// текущее время в миллисекундах
Прочитайте что нибудь про внутренний генератор. Например http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR053.htm
Его можно подстраивать и получить нужную Вам точность. А вообще всё это описано в мануале на процессор. Опять стандартный отсыл - почитать мануал перед тем как задавать вопрос или вообще перед работой с процессором. Что мешает это сделать?
Частоту-то я подстрою, только похоже подстройку я делал при питании от 5 вольт, а сейчас запитал от 3.6 вольта, может по этому и сбился внутренний генератор?
Да. Частота зависит от питания. В мануле есть график зависимости от питания. Можно измерять напряжение питания и подстраивать генератор. И также от температуры - измерять и подстраивать. Можно получить хороший результат.
А часы реального времени не спасут? В самом простом случае можно с них считать секундные импульсы. Мои часики идут уже более 3-х лет, ни разу их не подправлял. За это время ушли вперед меньше трех минут. Точность очень хорошая, а цена копеечная.
Можно купить такой модуль https://aliexpress.ru/item/32317422637.html , или отдельную микросхемку DC3231 и попробовать ее в деле. Точность фантастическая. Если не нужно считывать реальное время, дату, день недели, то можно просто использовать как точнейший генератор секундных импульсов. Попробуй, уверен, что точность удивит.
Народ, не кидайтесь тапками, старательно читал форум, но не хватило терпения. Хочу для начала только теоретический вопрос по Attiny13 задать. Одни и те же выводы у нее могут быть и цифровыми и аналоговыми? Судя по распиновке в даташите получается, что выводы PB5, PB2, PB4 и PB3 это аналоговые A0, A1, A2 и A3 соответственно(ADCX)? Ну т.е. в скетче мы их указываем как A0, A1, A2 и A3. А выводы PB0, PB1, PB2, PB3, PB4 и PB5 соответственно цифровые порты 0, 1, 2, 3, 4 и 5(PCINTX). При этом PB0 и PB1 поддерживают ШИМ (AINX). Или я не до конца понял распиновку?
Так же не до конца понял обозначения dW, CLKI, T0, INTX. Хотя dW, как и SCK, MISO, MOSI используются при программировании через Ардуино (возможно и не только).
Ну RESET вроде понятно, но тоже не разобрался каким уровнем сброс осуществляется. Туго у меня с английским, а Datasheet на нем родимом.
Или может ссылочку дайте, где об этом по русски почитать можно.
Спасибо!
старательно читал форум, но не хватило терпения.
Туго у меня с английским
Или может ссылочку дайте, где об этом по русски почитать можно.
https://translate.google.ru/
старательно читал форум, но не хватило терпения.
Туго у меня с английским
Или может ссылочку дайте, где об этом по русски почитать можно.
https://translate.google.ru/
Пользуюсь, когда надо перевести художественный текст. Тогда и посмеятся можно над переводом. А когда ты начинающий и многих терминов и т.п. нее знаешь - тяжело.
Т.е. вы хотите сказать, что в датащите это (что я мпрашиваю) описано и разъяснено? Хм. Попробую еще раз почитать. Помоему там черезчур все мудрено и без определенной подготовки не въедешь.
Вы хоть скажите, то что я написал правильно?
Т.е. вы хотите сказать, что в датащите это (что я мпрашиваю) описано и разъяснено? Хм. Попробую еще раз почитать. Помоему там черезчур все мудрено и без определенной подготовки не въедешь.
абсолютно верно думаете.
Но только скажу вам, что "без определенной подготовки" оно и в переводе будет "черезчур все мудрено".
Так что путь один - набирать вот эту самую "подготовку", желательно одновременно с изучением английского
Вы хоть скажите, то что я написал правильно?
1.Нет, почти всё неправильно.
2. Attiny13 безнадежно устаревшая вещь. Ровно с теми же "ножками" и той же ценой attiny85.
1.Нет, почти всё неправильно.
2. Attiny13 безнадежно устаревшая вещь. Ровно с теми же "ножками" и той же ценой attiny85.
1. Инфу пот портам вроде из видео на ютуб каналах брал. Ну разве что по поводу PB5 сильно сомневался.
А что конкретно неправильно? Вот скажем, что PB0 и PB1 с поддержкой ШИМ это в Datasheet написано, уже нашел. И что порты с PB2 по PB5 аналоговые, тоже в Datasheet написано.
Table 21. Port B Pins Alternate Functions
Port Pin Alternate Function
PB5 RESET/dW/ADC0/PCINT5(1)
PB4 ADC2/PCINT4(2)
PB3 ADC3/CLKI/PCINT3(3)
PB2 SCK/ADC1/T0/PCINT2(4)
PB1 MISO/AIN1/OC0B/INT0/PCINT1/RXD(5)
PB0 MOSI/AIN0/OC0A/PCINT0/TXD(6)
Notes: 1. Reset pin, debugWire I/O, ADC Input channel, or Pin Change Interrupt.
2. ADC Input channel or Pin Change Interrupt.
3. ADC Input channel, Clock Input, or Pin Change Interrupt.
4. Serial Clock Input, Timer/Counter Clock Input, ADC Input Channel 0, or Pin Change
Interrupt.
5. Serial Data Input, Analog Comparator Negative Input, Output Compare and PWM
Output B for Timer/Counter, External Interrupt 0 or Pin Change Interrupt.
6. Serial Data Output, Analog Comparator Positive Input, Output Compare and PWM
Output A for Timer/Counter, or Pin Change Interrupt.
По поводу устарела - не буду спорить. Наверное. Просто у меня она есть сейчас и я эксперементирую на ней. Выводы вроде там одинаковые. Ну памяти в 85 8кб. А выводы суда по картинке такие же и так же в Datasheet без пол литры не разберешся сразу.
Ну а опыта как-то надо набираться!? Я вот еще с пол года назад, пока Ардуинкой не занялся, вообще ничего о микропроцессорах не знал.
Вот еще нашел видео с простым и подробным описанием. https://www.youtube.com/watch?v=ibhgMzKOiJQ
Получается ошибался я только с 1 ногой, на которой только сброс.
старательно читал форум, но не хватило терпения.
Туго у меня с английским
Или может ссылочку дайте, где об этом по русски почитать можно.
https://translate.google.ru/
Пользуюсь, когда надо перевести художественный текст. Тогда и посмеятся можно над переводом. А когда ты начинающий и многих терминов и т.п. нее знаешь - тяжело.
Т.е. вы хотите сказать, что в датащите это (что я мпрашиваю) описано и разъяснено? Хм. Попробую еще раз почитать. Помоему там черезчур все мудрено и без определенной подготовки не въедешь.
Вы хоть скажите, то что я написал правильно?
да нормально для автомата - запрос на член 'положить' в 'MyBuffer', )))
В общем понятно. Без диплома о знании программирования на низком уровне сюда обращаться не стоит. Засмеют.
А у меня в принципе все правильно. Я уже прошил свою первую тиньку.
Я объясню, почему была такая реакция на твои посты.
Одни и те же выводы у нее могут быть и цифровыми и аналоговыми?
Да, конечно. Это совсем детский вопрос. После такого вопроса складывается мнение о несерьёзности интереса новичка.Такие обычно кинут пару дурацких вопросов и исчезают. Думай, как выглядишь.
Судя по распиновке в даташите получается, что выводы PB5, PB2, PB4 и PB3 это аналоговые A0, A1, A2 и A3 соответственно(ADCX)? Ну т.е. в скетче мы их указываем как A0, A1, A2 и A3. А выводы PB0, PB1, PB2, PB3, PB4 и PB5 соответственно цифровые порты 0, 1, 2, 3, 4 и 5(PCINTX). При этом PB0 и PB1 поддерживают ШИМ (AINX). Или я не до конца понял распиновку?
Обозначения зависят от выбранного ядра, их более чем одно. PCINTx сокращение для Pin Change Interrupt - прерывания изменения состояния пина, то есть ты понял, что вообще из другой оперы? AIN0 и AIN1 входы аналогового компаратора. К ШИМу никакого отношения.
Так же не до конца понял обозначения dW, CLKI, T0, INTX. Хотя dW, как и SCK, MISO, MOSI используются при программировании через Ардуино (возможно и не только).
Каша в голове. Не сочетается с тем, что ты прошил тиньку. Основное описание тиньки - около 100 страниц на примитивном "школьном" аглицком. Что там непонятно?
Ну RESET вроде понятно, но тоже не разобрался каким уровнем сброс осуществляется. Туго у меня с английским, а Datasheet на нем родимом.
Черта над словом RESET на схеме как бы намекает на активный низкий, нет?
Ну вот мы и добрались до основы: новичок признается, что не читает по аглицки. Что показывает полную несерьёзность интереса. Электроникой и программированием без аглицкого заниматься нельзя. Совсем нельзя. Без дискуссий и обсуждений этого факта.
=======================
Поэтому и отношение, как ты выразился: "через губу". Может ты окажешься счастливым исключением из правила?
Простенький термометр для дистиллятора (еще не доделал термостойкую коробочку), скетч отсюда:
http://arduino.ru/forum/programmirovanie/attiny13a-101-primenenie?page=32#comment-446373
добавил изменение времени отправки данных в зависимости от температуры
- приемник
-
Молодец. Ну или как далеко ловит? На сколько батарейки хватает?
Пробовал в пределах кухни, больше и не надо.
Потребление в спящем режиме 300 мкА, по примерным расчётам должно хватить на минимум 10 полноценных 6и часовых выгонов.
2032 на пределе по току, не? Я бы 3,6 акк поставил или даже АА/А.
2032 на пределе по току, не?
хз, там повышайка стоит, пока только первую выгонку устройство прожило, и то батарейка сильно б/у, так что понаблюдаю на сколько хватит.
Вот еще нашел видео с простым и подробным описанием.
Приятно все-таки, когда делаешь что-то полезное :) Если остались вопросы - задавайте, можно под видео, можно тут, как хотите. Я сам далеко не гуру в ардуино и тем более непосредственно в AVR-микроконтроллерах, но зато может мне будет интереснее отвечать на вопросы, чем тем, кто ушел значительно дальше ;)
Здравствуйте.
Попалась ATtiny13A, подскажите пример кода для датчика температуры DS18B20, чтобы он в нее влез.
В этой теме искал, но что-то не работает. Использую https://github.com/MCUdude/MicroCore это ядро.
Спасибо.
и в гугле нет? да ладно.....
и на этой ветке было страниц Х назад....
брал пару лет назад на каком то буржуйском форуме, выше в ветке где то даже ссылка на исходник была, на attiny85 точно работает, на 13ой тоже должно.
Спасибо большое!
Этот код я видел, отдельно он комилируется без ошибок
У меня проектик такой - attiny13a + жк дисплей (б/у от промышленного автоматического выключателя, их много есть у меня) на контроллере pcf2111T и датчик температуры ds18b20.
Все это на батарейке красиво должно висеть на стене, и показывать температурку.
Я написал код для контроллера диспля, он работает, показывает любое число на экранчике.
Отдельно компилируется Ваш код.
Но вместе они вызывают странную ошибку:
это на батарейке красиво должно висеть на стене, и показывать температурку.
батарейка будет размером больше чем устройство :(
Почему? PCF жрет сотни микроампер, аттини тоже не очень много.
сотни микроампер
вот и посчитайте какой емкости должна быть батарея чтоб экран непрерывно показывал информацию о температуре ну хотя бы сутки.
вот и посчитайте
Аттинька 700мкА на 1Мгц при 3Вольтах питания + контроллер с экраном ну пусть 150 мкА + ну чего-нибудь еще до кучи. Пусть будет 1мА в час. Если запитать от трех батареек АА, через повышающе/понижающий DC-DC, который высосет батарейки в нуль, ну допустим 3000мА, то хватит на 3000 часов или на 4 месяца.И это при непрерывной работе, а если использовать сон для аттиньки? У контроллера тоже есть режимы заморозки изображения и засыпания. Я надеюсь, на полгода минимум, а то и годик :)
Подскажите пожалуйста еще по вашему примеру, если возможно.
В конце описана функция getTemp(), выдающая в ответ на ее вызов переменную типа word (
return
TReading;)
Далее я переменную с результатом функции getTemp() раскладываю в другой своей функции на цифры типа byte для экранчика по разрядам, и на этом у меня заканчивается память и ее очень сильно не хватает. Можете подсказать как бы получить температуру не в виде такой жирной переменной, а в виде чего-то более компактного, лучше трех цифирок типа byte например + 25,4 было бы просто 2 5 4? Я же комнатную температуру измеряю, тут отрицательных или слишком больших температур не ожидается.
700 мкА это огромная цифра для мк - откройте даташит, прочитайте потребление.
Вы определитесь - нужно постоянное отображение данных или по кнопке - тогда и скетч и задание совершенно разное.
Gettemp выдаёт жирную переменную чтоб её по rf передатчику отправить, соответственно ничего не мешает брать от неё один байт если всегда положительная температура.
Аттинька 700мкА на 1Мгц при 3Вольтах питания + контроллер с экраном ну пусть 150 мкА
если у вас тинька 700 мкА жрет - что-то я сильно сомневаюсь. что экран всего 150...
Самая примитивная подмотка спидометра. Основана на millis. Точность вообще не нужна, настраивается на глаз. Регулирует период по отрицательному и положительному полупериоду. Может кому пригодится
Программируемый таймер, с настройкой через одну кнопку, с выводом на один светодиод на какое время запрограммирован (мигает светодиодом как сигнализация на машинах при программировании). Делалось для продувки котла на теплицу. Прошу язвительные комментарии типо (такой скетч в топку) не писать, или пишите, но тогда и пишите сразу по делу что где поменять, и что как сделать лучше. Оба скетча написаны для Attiny 13 ( по размеру влазят и работают)
Delphin911 в сети есть даташит на атмегу 128 на русском, гугл его знает, почти все в нем сайдет для тиньки...остальное так же гугл поможет ).
Всем привет, только начинаю осваивать тему с микроконтрллерами и в частности с аттини13, так вот возник вопрос по части: у тиньки мало пинов для работы, хотелось бы еще задействовать RESET, как я понял он настраивается фьюзом RSTDISBL, после этого контроллер невозможно будет прошить обычным SPI-программатором. В даташите написано, что для прошивки на этот пин нужно будет подать напряжение +12в. Так вот: достаточно ли будет просто подключить +12в на ресет и прошить стандартным USBSPI программатором?
достаточно ли будет просто подключить +12в на ресет и прошить стандартным USBSPI программатором?
Нет. Схема, канеш, ужасная там, но вот
https://habr.com/ru/post/249967/
Однажды тоже тестировал прошивки на ATtiny13 с использованием резетовой ноги, спаял себе доктора, работает отлично!
http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atme...
Пополню ряды любителей ATTiny13A) Мой проект "1-wire счетчик импульсов" (программная реализация DS2423) тоже работает на ATTyny13A
Пополню ряды любителей ATTiny13A) Мой проект "1-wire счетчик импульсов" (программная реализация DS2423) тоже работает на ATTyny13A
вброс засчитан.
Чтобы это было нормальным сообщением. нужно добавить схему и код
Пополню ряды любителей ATTiny13A) Мой проект "1-wire счетчик импульсов" (программная реализация DS2423) тоже работает на ATTyny13A
вброс засчитан.
Чтобы это было нормальным сообщением. нужно добавить схему и код
У этого МК 1024 байта памяти программ. Те, кто программирует под него более-менее сложные вещи, понимают, что это можно сравнить с искусством. Я лишь хотел сказать, что я тоже "в клубе" любителей этого МК.
Пополню ряды любителей ATTiny13A) Мой проект "1-wire счетчик импульсов" (программная реализация DS2423) тоже работает на ATTyny13A
вброс засчитан.
Чтобы это было нормальным сообщением. нужно добавить схему и код
У этого МК 1024 байта памяти программ. Те, кто программирует под него более-менее сложные вещи, понимают, что это можно сравнить с искусством. Я лишь хотел сказать, что я тоже "в клубе" любителей этого МК.
какое такое искуство? на PIC16F84 я делал контроллер управления вязальной машиной, там было более 10 программ пользователя, для управления двигателем переменного тока -программный детектор нуля, тормоз, реверс и т.д. памяти еще оставалось немного
какое такое искуство? на PIC16F84 я делал контроллер управления вязальной машиной, там было более 10 программ пользователя, для управления двигателем переменного тока -программный детектор нуля, тормоз, реверс и т.д. памяти еще оставалось немного
Вот если бы памяти не хватило, байт 10, а выкидывать никакую функциональность нельзя, тогда бы поняли, в чем искусство.
в 1024 байта еще и порнуху можно впихнуть !
в 1024 байта еще и порнуху можно впихнуть !
Во-во, ascii-art называется, есть и такое искусство)
У этого МК 1024 байта памяти программ. Те, кто программирует под него более-менее сложные вещи, понимают, что это можно сравнить с искусством. Я лишь хотел сказать, что я тоже "в клубе" любителей этого МК.
и что? Смысл вашего поста в чем - прокричать "я тоже могу 20 раз", как в том анекдоте? :)
Я и говорю "вброс"
Доброго дня (вечера) Всем!
Я тут появлялся года 2 назад с темой программирования Attiny13, спасибо помогли.
Теперь новая загвоздка: на тини13 реализовать схему цикличного таймера на 24 часа. На выводе Pin3 через сутки меняется уровень с 0 на 1 (уход +- 10 минут за сутки допускается). На выводе Pin4 уровень меняется с частотой 0,5Гц - для светодиода.
Код зашил в аттини. На малых режимах времени работает нормально, но при установке 12 часов переключение происходит с запаздыванием почти на 40-50 минут в течение суток. Я представляю какой будет разброс если введу 24 часа...
Местные Гуру, помогите советом!
вот прога
Прочитайте что нибудь про внутренний генератор. Например http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR053.htm
Его можно подстраивать и получить нужную Вам точность. А вообще всё это описано в мануале на процессор. Опять стандартный отсыл - почитать мануал перед тем как задавать вопрос или вообще перед работой с процессором. Что мешает это сделать?
Частоту-то я подстрою, только похоже подстройку я делал при питании от 5 вольт, а сейчас запитал от 3.6 вольта, может по этому и сбился внутренний генератор?
Да. Частота зависит от питания. В мануле есть график зависимости от питания. Можно измерять напряжение питания и подстраивать генератор. И также от температуры - измерять и подстраивать. Можно получить хороший результат.
А часы реального времени не спасут? В самом простом случае можно с них считать секундные импульсы. Мои часики идут уже более 3-х лет, ни разу их не подправлял. За это время ушли вперед меньше трех минут. Точность очень хорошая, а цена копеечная.
Или кварц поставить.... Тоже вариант
Кварц не спасёт. Если только внешний генератор. Калибровка внутреннего наиболее простое решение для 10 мин расхождения за сутки.
.................................... Калибровка внутреннего наиболее простое решение для 10 мин расхождения за сутки.
питание 5 вольт, в термостат и нагреть до 75 градусов, и завести свой таймер минут с корректировкой к примеру каждые 5 минут, на выбег за эти 5 минут
3х минут небыло, не сочиняйте.)
Можно купить такой модуль https://aliexpress.ru/item/32317422637.html , или отдельную микросхемку DC3231 и попробовать ее в деле. Точность фантастическая. Если не нужно считывать реальное время, дату, день недели, то можно просто использовать как точнейший генератор секундных импульсов. Попробуй, уверен, что точность удивит.