Несколько TM1637. Общая процедура вывода информации
- Войдите на сайт для отправки комментариев
Чт, 17/01/2019 - 22:45
Всем доброго!
Вопрос навеян этой темой.
В устройстве будет 3 индикатора TM1637. В топике есть обычный вариант применения:
01 |
#include "TM1637.h" // Подключаем библиотеку |
02 |
#define CLK_1 8 // первый семисегмент |
03 |
#define DIO_1 9 // |
04 |
#define CLK_2 10 // второй семисегмент |
05 |
#define DIO_2 11 // |
06 |
TM1637 disp_1(CLK_1, DIO_1); |
07 |
TM1637 disp_2(CLK_2, DIO_2); |
08 |
void setup () { |
09 |
disp_1. set (7); |
10 |
//disp_1.init(D4056A); |
11 |
disp_2. set (7); |
12 |
//disp_2.init(D4056A); |
13 |
} |
14 |
15 |
void loop () |
16 |
{ |
17 |
disp_1.display(1234); |
18 |
delay(2000); |
19 |
disp_2.display(5678); |
20 |
delay(2000); |
21 |
} |
Хотелось бы написать одну процедуру вывода на индикатор, где аргументом будет этот самый индикатор.
Подскажите, плс: как передать нужный дисплей в процедуру вывода (какой это тип данных)?
Как пример:
15 |
void out_disp(disp) |
16 |
{ |
17 |
disp.display(1234); |
18 |
delay(2000); |
19 |
disp.display(5678); |
20 |
delay(2000); |
21 |
} |
Возможно такое?
Спасибо.
Возможно. Надо в функцию передавать указатель на класс. Примерно так:
void out_disp(TM1637 * disp)
если уж ты проверку на NULL не делаешь, то передавать надо ссылку
void
out_disp(
const
TM1637 &disp)
то ошибка:
void
out_disp(
uint8_tTM1637 &disp)
Приведите полностью ваш скетч и целиком сообщение об ошибке
Всем спасибо! Разобрался.
Вот рабочий вариант:
Нальёшь при случае :)
Наливаю. Вот рабочий вариант подключения нескольких TM1637.
Таймер CLK подается на все одновременно. Сигнальный DIO - для каждого свой.
Можете помочь чайнику, видимо пенсию не зря назначают, перерыл весь инет и не нашел как вывести десятичные данные на ТМ1637. Думаю что нужно вставить строку "displayInt(value) - вывести на экран четырёхзначное число" Сделал вольтметр на 220В, в монитор порта выводит напряжение, а на индикатор не получается. Будет у Вас время посмотреть код.
А где код то?
1
вставьте код по правилам форума, без этого никто помогать не станет
Всё получилось, помогли добрые люди.