OLED на Attiny13
Re: OLED на Attiny13
zöner
молодец, надо как то попробовать, так как тинек много безхозых и экраны есть.
молодец, надо как то попробовать, так как тинек много безхозых и экраны есть.
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
Супер. Схемку бы.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
А все это редкое у нас зверье REF3033 MCP1541 MCP170 XC6220 чем-нибудь, например, в из линейки 1117-3.3, 1117-5.0 заменить никак?
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
Re: OLED на Attiny13
1117 выигрыша в точности не даст - запитайте контроллер прямо от 78L05
или возьмите 3.3В с OLED модуля
или возьмите 3.3В с OLED модуля
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
т.е., вопрос питания большей частью умозрительно-философский
.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
Re: OLED на Attiny13
зависит от требуемой точности - у 7805 ошибка до 5%
еще можно замерять питание и перекомпилировать прошивку з заменой ADC_REF
еще можно замерять питание и перекомпилировать прошивку з заменой ADC_REF
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: OLED на Attiny13
zöner красава!
Что там насчёт
[uquote="Demiurg",url="/forum/viewtopic.php?p=3537655#p3537655"]Физически невозможно...
[/uquote]Что там насчёт
[uquote="Demiurg",url="/forum/viewtopic.php?p=3537655#p3537655"]Физически невозможно...
И? Я когда писал, что физически невозможно, подразумевалось, что будет мало мальски серьёзное устройство. Как минимум, интерфейс, кнопки, меню. Именно в этом случае НЕВОЗМОЖНО впихнуться в 1 кБ флеша. В случае же ТС-а, это просто показометр. Я поглядел код. Ни усреднения, ничего. Очень много усилий на то, что влезть в ограниченный объем флеша ради показометра, который что то там показывает. Годно как устройство для личного употребления, тренировки впихнуться в крайне ограниченные ресурсы мк. Но не годно для массового тиража. Графический дисплей избыточен в показометре.
Лично я не стал бы изьебываться с си. И писал бы программу на асме. Так как знаю этот язык и архитектуру авр на достаточном уровне. Но! Для устройства класса показометр взял бы семисегментники.
Re: OLED на Attiny13
пишите, кто мешает... кстати, на асме много не выиграете - С компилится довольно компактно, а критичная часть - умножение - и так написано на асме...
зачем вольтметру кнопки и меню? мне - не нужно. 7-сегментники тянут за собой еще кучу выводов, резисторов и транзисторов
делалось для себя как замена китайскому го.ну, т.к. задолбала подсветка сегментов и медленное измерение, плюс нужно было несколько каналов, и OLEDы и Tiny валялись в загашнике...
зачем вольтметру кнопки и меню? мне - не нужно. 7-сегментники тянут за собой еще кучу выводов, резисторов и транзисторов
делалось для себя как замена китайскому го.ну, т.к. задолбала подсветка сегментов и медленное измерение, плюс нужно было несколько каналов, и OLEDы и Tiny валялись в загашнике...
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
зависит от требуемой точности
Во всяком случае, в процессе пайки/тестирования можно ставить то, что есть в наличии, что есть хорошо, улучшить можно позже, неспеша поискав комплектующие согласно схеме.это просто показометр
А бОльшего в подавляющем большинстве случаев и не требуется. И усреднять далеко не всегда есть хорошо. По стоимости вольтметрик получается сопоставим с нищебродскими китайскими поделками на LED, а по точности их переплюнет, на всех четырех каналах. Да еще и выглядит не в пример гламурнее. Да, мне важен гламур А желаете проф.прибор для репликации в промышленных масштабах - пачку баксов в карман, и вэлкам к ТС в личку
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: OLED на Attiny13
Посмотрел код. Можно ещё оптимальное сделать. При преобразования hex-dec единица не нужна. Когда отнял десятки, единицы выводятся как есть.
Код немного тяжеловат, так как используется гашение незначащих нулей и это единая функция вплоть до 32-разрядного числа.
Кстати, какой компилятор использовался?
Спойлер
Код: Выделить всё
#ifndef BCD_H
#define BCD_H
#include "bcd.h"
#include "main_def_func.h"
//==================
extern char num_str_buf [];
extern char tmp_num_str_buf [];
//==================
//==================
typedef enum
{
VAL_08_BIT = 0,
VAL_16_BIT,
VAL_32_BIT,
} type_val_t;
void val_to_str (u32 value, type_val_t type_val);
u16 str_to_int (void);
u32 str_to_long (void);
//==================
//==================
void clr_tmp_num_str_buf (void);
void clr_num_str_buf (void);
//==================
#endif //BCD_H
Спойлер
Код: Выделить всё
//==================
#include "bcd.h"
//==================
//==================
char num_str_buf [11];
char tmp_num_str_buf [11];
//==================
//==================
void clr_num_str_buf (void)
{
char *ptr = num_str_buf;
u08 cnt = 10;
while (cnt)
{
*ptr++ = ' ';
cnt--;
}
*ptr = 0;
}
//==================
//==================
void clr_tmp_num_str_buf (void)
{
char *ptr = tmp_num_str_buf;
u08 cnt = 10;
while (cnt)
{
*ptr++ = ' ';
cnt--;
}
*ptr = 0;
}
//==================
//==================
__flash u32 tab_hex_dec [] =
{
1000000000U,
100000000U,
10000000U,
1000000U,
100000U,
10000U,
1000U,
100U,
10U,
};
//==================
//==================
void val_to_str (u32 value, type_val_t type_val)
{
u32 a;
bool flag = false;
u08 cnt_1;
u08 cnt_2;
u08 displace;
clr_num_str_buf ();
switch (type_val)
{
case VAL_08_BIT:
displace = 7;
cnt_1 = 2;
break;
case VAL_16_BIT:
displace = 5;
cnt_1 = 4;
break;
case VAL_32_BIT:
displace = 0;
cnt_1 = 9;
break;
}
char *ptr = num_str_buf + displace;
u32 __flash *ptr_f = tab_hex_dec + displace;
while (cnt_1)
{
a = *ptr_f;
cnt_2 = 0;
while (value >= a)
{
value -= a;
cnt_2++;
}
if (flag == false)
{
if (cnt_2 == 0)
{
*ptr++ = ' '; // Гашение незначащих нулей.
}
else
{
*ptr++ = (cnt_2 | 0x30);
flag = true;
}
}
else
{
*ptr++ = (cnt_2 | 0x30);
}
ptr_f++;
cnt_1--;
}
*ptr++ = (value | 0x30);
*ptr = 0;
}
//==================
//==================
u16 str_to_int (void)
{
char *ptr_num = tmp_num_str_buf + 5;
u32 __flash *ptr_f = tab_hex_dec + 5;
u16 a;
u08 cnt = 0;
u16 tmp_value = 0;
while (cnt < 4)
{
if ((*ptr_num > 0x30) && (*ptr_num < 0x3A))
{
a = (*ptr_num - 0x30);
while (a)
{
tmp_value += *ptr_f;
a--;
}
}
*ptr_num++;
ptr_f++;
cnt++;
}
return tmp_value += (*ptr_num - 0x30);
}
//==================
//==================
u32 str_to_long (void)
{
char *ptr_num = tmp_num_str_buf;
u32 __flash *ptr_tab_10 = tab_hex_dec;
u32 a;
u08 cnt = 0;
u32 tmp_value = 0;
while (cnt < 9)
{
if ((*ptr_num > 0x30) && (*ptr_num < 0x3A))
{
a = (*ptr_num - 0x30);
while (a)
{
tmp_value += *ptr_tab_10;
a--;
}
}
*ptr_num++;
ptr_tab_10++;
cnt++;
}
return tmp_value += (*ptr_num - 0x30);
}
//==================
Код немного тяжеловат, так как используется гашение незначащих нулей и это единая функция вплоть до 32-разрядного числа.
Кстати, какой компилятор использовался?
Re: OLED на Attiny13
avr-gcc, выше есть строка компиляцииКстати, какой компилятор использовался?
10-битный АЦП с соответствующей опорой даст точность 0.2..0.3%, резисторы 0.1% уже не редкость - более чем достаточно для показометра...А бОльшего в подавляющем большинстве случаев и не требуется
если нужно большее разрешение - ads1110/1115 по 1..2$ на Али...
Re: OLED на Attiny13
индикатор оборотов (напр. дрели/микродрели), вход импульсов PB2
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
zöner, картинки индикатора оборотов в работе нет?
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
... какой смысл 5 разрядов, если прошивка на 4 разряда.
Ну и дрель как подключать, чтобы оно обороты/импульсы считало? Или достаточно подать напряжение питания? Обратно же, нет схемки счетчика оборотов, сиречь, тахометра, если я правильно все понял.
Ну и дрель как подключать, чтобы оно обороты/импульсы считало? Или достаточно подать напряжение питания? Обратно же, нет схемки счетчика оборотов, сиречь, тахометра, если я правильно все понял.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
Re: OLED на Attiny13
да, это тахометр. прошивка на 5 разрядов была на пост выше.
датчик оборотов - магнитик на вал и датчик Холла сбоку (в некоторых дрелях есть магнит на валу). Или оптопару на просвет / отражение.
датчик оборотов - магнитик на вал и датчик Холла сбоку (в некоторых дрелях есть магнит на валу). Или оптопару на просвет / отражение.
- webtime
- Опытный кот
- Сообщения: 844
- Зарегистрирован: Пт авг 31, 2018 21:53:52
- Откуда: ул. Островидова, общага напротив
Re: OLED на Attiny13
Более простой/доступный вариант для реализации в железе - стробоскоп на светодиоде.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.
Re: OLED на Attiny13
И? Я когда писал, что физически невозможно, подразумевалось, что будет мало мальски серьёзное устройство. Как минимум, интерфейс, кнопки, меню. Именно в этом случае НЕВОЗМОЖНО впихнуться в 1 кБ флеша. В случае же ТС-а, это просто показометр. Я поглядел код. Ни усреднения, ничего. Очень много усилий на то, что влезть в ограниченный объем флеша ради показометра, который что то там показывает. Годно как устройство для личного употребления, тренировки впихнуться в крайне ограниченные ресурсы мк. Но не годно для массового тиража. Графический дисплей избыточен в показометре.
Лично я не стал бы изьебываться с си. И писал бы программу на асме. Так как знаю этот язык и архитектуру авр на достаточном уровне. Но! Для устройства класса показометр взял бы семисегментники.
Лично я не стал бы изьебываться с си. И писал бы программу на асме. Так как знаю этот язык и архитектуру авр на достаточном уровне. Но! Для устройства класса показометр взял бы семисегментники.
Как ПОКАЗОМЕТР для измерения ЧСВ пойдёт? Рекомендую.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: OLED на Attiny13
вот за одну такую фразу на любительском форуме банил бы навечно. но именно по этой причине я и не модераторНо не годно для массового тиража.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!