0 / 0 / 0
Регистрация: 03.11.2023
Сообщений: 10

Attiny13+ TM1637 . не могу разобраться

08.05.2025, 21:53. Показов 1385. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! индикатор TM1637 прекрасно работает с Arduino UNO. не могу запустить на atinny13 .
Пытаюсь это делать в Atmel Studio 7.0.
По инструкции отсюда добавил библиотеки

https://mynobook.blogspot.com/... tudio.html
По этой инструкции все сделал

https://mynobook-mk.blogspot.c... iny13.html
ссылка на гитхаб: https://github.com/lpodkalicki... 38-library

вот код из примера библиотеки
\
код из папки "EXAMPELS"
C
1
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/**
 * Copyright (c) 2018, Łukasz Marcin Podkalicki <lpodkalicki@gmail.com>
 *
 * This is ATtiny13 "Running Digits, Dots 
 
and LEDs" example using attiny-tm1637-library,
 * https://github.com/lpodkalicki/attiny-tm1637-library .
 */
 
#include 
 
<avr/io.h>
#include <stdint.h>
#include <util/delay.h>
#include "tm1638.h"
 
static uint8_t scan_keys_demo(void);
static void 
 
digits_and_dots_demo(uint8_t n);
static void leds_demo(uint8_t n);
 
int
main(void)
{
    uint8_t n = 0, k = 0, keys;
 
    /* setup 
 
*/
    TM1638_init(1/*enable*/, 3/*brighness*/);
 
    /* loop */
    while (1) {
        keys = scan_keys_demo();
    
 
    if ((k % 10) == 0) { 
            digits_and_dots_demo(n);
            if (!keys) {
            
 
    leds_demo(n);
            }
            n++;
        }
        k++;
        
 
_delay_ms(30);
    }
}
 
uint8_t
scan_keys_demo(void)
{
    uint8_t i, keys;
 
    keys = TM1638_scan_keys();
    for (i = 0; i < 
 
8; ++i) {
        TM1638_set_led((i + 1) % 8, !!(keys & (1 << i)));
    }
 
    return keys;
}
 
void
digits_and_dots_demo(uint8_t n)
{
    uint8_t i;
 
    for (i = 0; i < 8; ++i) {
        TM1638_display_digit(i, 
 
(n + i) % 0x10, !!(n % 0x02));
    }
}
 
void
leds_demo(uint8_t n)
{
    uint8_t i;
 
    for (i = 0; i < 8; ++i) {
        
 
TM1638_set_led(i, !!((i + n) % 0x02));
    }
}
код из папки " refactoring"

C
1
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#ifndef _ATTINY_TM1637_H_
#define _ATTINY_TM1637_H_
 
#include <stdint.h>
 
// Main Settings
#define TM1637_DIO_PIN          PB0
#define TM1637_CLK_PIN          PB1
#define TM1637_DELAY_US         (5)
#define TM1637_BRIGHTNESS_MAX       (7)
#define TM1637_POSITION_MAX     (4)
 
// TM1637 commands
#define TM1637_CMD_SET_DATA     0x40
#define TM1637_CMD_SET_ADDR     0xC0
#define TM1637_CMD_SET_DSIPLAY      0x80
 
// TM1637 data settings (use bitwise OR to contruct complete command)
#define TM1637_SET_DATA_WRITE       0x00 // write data to the display register
#define TM1637_SET_DATA_READ        0x02 // read the key scan data
#define TM1637_SET_DATA_A_ADDR      0x00 // automatic address increment
#define TM1637_SET_DATA_F_ADDR      0x04 // fixed address
#define TM1637_SET_DATA_M_NORM      0x00 // normal mode
#define TM1637_SET_DATA_M_TEST      0x10 // test mode
 
// TM1637 display control command set (use bitwise OR to consruct complete command)
#define TM1637_SET_DISPLAY_OFF      0x00 // off
#define TM1637_SET_DISPLAY_ON       0x08 // on
 
 
/**
 * Initialize TM1637 display driver.
 * Clock pin (TM1637_CLK_PIN) and data pin (TM1637_DIO_PIN)
 * are defined at the top of this file.
 */
void TM1637_init(const uint8_t enable, const uint8_t brightness);
 
/**
 * Turn display on/off.
 * value: 1 - on, 0 - off
 */
void TM1637_enable(const uint8_t value);
 
/**
 * Set display brightness.
 * Min value: 0
 * Max value: 7
 */
void TM1637_set_brightness(const uint8_t value);
 
/**
 * Display raw segments at position (0x00..0x03)
 *
 *      bits:
 *        -- 0 --
 *       |       |
 *       5       1
 *       |       |
 *        -- 6 --
 *       |       |
 *       4       2
 *       |       |
 *        -- 3 --
 *
 * Example segment configurations:
 * - for character 'H', segments=0b01110110
 * - for character '-', segments=0b01000000
 * - etc.
 */
void TM1637_display_segments(const uint8_t position, const uint8_t segments);
 
/**
 * Display digit ('0'..'9') at position (0x00..0x03)
 */
void TM1637_display_digit(const uint8_t position, const uint8_t digit);
 
/**
 * Display colon on/off.
 * value: 1 - on, 0 - off
 */
void TM1637_display_colon(const uint8_t value);
 
/**
 * Clear all segments (including colon).
 */
void TM1637_clear(void);
 
#endif  /* !_ATTINY_TM1637_H_ */

Дисплей подключил в соответствии с


C
1
2
#define TM1637_DIO_PIN          PB0
#define TM1637_CLK_PIN          PB1

естествнно, не забыв про GND и VCC.

Но не работает.
Импульсы на CLK есть, проверил осциллографом.
На одном форуме прочитал, что всему виной могут быть кондестаторы между GND и DIO и CLK,
я их удалил.
напоминаю, под ардуино уно и в среде ардиуно индикатор работает.
скажите, пожулайтса, что я еще мог упустить?
Миниатюры
Attiny13+ TM1637 . не могу разобраться   Attiny13+ TM1637 . не могу разобраться  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2025, 21:53
Ответы с готовыми решениями:

AtTiny13 + DHT11 + TM1637. Странное поведение
Написал код для работы AtTiny13, DHT11, TM1637. Всё удачно уместилось в памяти микрухи. На первый...

Метеостанция на основе Attiny13 + Nrf24L01 + ds18b20 + tm1637
Добрый день форумчане, есть проект, нашел в сети не могу в нем разобраться не программист, нужна...

TM1637 keyboard
Добрый день! При моделировании в протеусе микросхемки TM1637 вывод идёт нормально, а при попытке...

11
12 / 9 / 4
Регистрация: 30.09.2020
Сообщений: 29
08.05.2025, 22:35
А все-таки, какой Вы используете чип 1637 или 1638 ? Это несколько разные микросхемы. TM1637 - это I2C, а TM1638 - spi.
В даташите на TM1637 есть пример кода на си и блок-схема как ее запустить.
0
21 / 19 / 2
Регистрация: 23.01.2019
Сообщений: 143
09.05.2025, 07:03
Цитата Сообщение от Polkovnik_ Посмотреть сообщение
TM1637 - это I2C,
нее.. TM1637 ни разу не I2C, и в ДШ это ясно обозначено. не всё двупроводное соответствует I2C/TWI

для TM1637 проще ногодрыг написать

Тема называется "Attiny13+ TM1637 . не могу разобраться", в блуд вгоняете чо ж не дописали, что ардуина

Attiny13 - это Attiny13, а TM1637 - это TM1637
и нужно наверное осозновать, что всё таки первичны алгоритмы управления, которые от платформы никак не не зависят, и работать нужно с алгоритмами, а не ардуиновскими библиотеками
0
0 / 0 / 0
Регистрация: 03.11.2023
Сообщений: 10
09.05.2025, 08:50  [ТС]
использую вот такой индикатор, микросхема TM1637
Миниатюры
Attiny13+ TM1637 . не могу разобраться  
0
0 / 0 / 0
Регистрация: 03.11.2023
Сообщений: 10
09.05.2025, 08:51  [ТС]
нет, я пытаюсь запустить TM1637 через AtmelStudio
0
21 / 19 / 2
Регистрация: 23.01.2019
Сообщений: 143
09.05.2025, 09:22
Цитата Сообщение от remontmob Посмотреть сообщение
нет, я пытаюсь запустить TM1637 через AtmelStudio
Я пишу на асме, компилю avrasm2 через батник, шью тоже через батник.. студиями и оконниками не пользуюсь... но это всё лирика..

плохо представляю что там у вас со студиями,
но:
Цитата Сообщение от remontmob Посмотреть сообщение
По этой инструкции все сделал
https://mynobook-mk.blogspot.c... iny13.html
и
Цитата Сообщение от remontmob Посмотреть сообщение
я пытаюсь запустить TM1637 через AtmelStudio
посмотрел "инструкцию".. по "инструкции" всё-таки такой заголовок: "Дисплей на tm1637 и его применение в Microchip Studio с микроконтроллерами AVR на примере Attiny13"

Может тогда прям по "инструкции" пальчиком и тыкать?

Опять же, я не в курсях чем эти студии отличаются между собой.. Я пишу по даташитам..

- - - - - - - - -
PS: это вообще нормально написано, или мне одному глаз режет ??:"Дисплей на tm1637 и его применение в Microchip Studio..."
и "...я пытаюсь запустить TM1637 через AtmelStudio..."

при помощи студий вы делаете вообще ЧТО?
0
21 / 19 / 2
Регистрация: 23.01.2019
Сообщений: 143
09.05.2025, 09:55
Цитата Сообщение от shonty Посмотреть сообщение
"Дисплей на tm1637 и его применение в Microchip Studio..."
Поясню:
Я применяю дисплей на tm1637 в кухонном таймере:
Кликните здесь для просмотра всего текста

но никак не в Microchip Studio , так как студия это лишь вспомогательный инструмент

придираюсь?

но для меня это важно, что первично, что вторично, что вспомогательно, и что где применяется
0
12 / 9 / 4
Регистрация: 30.09.2020
Сообщений: 29
09.05.2025, 19:50
shonty,
Цитата Сообщение от shonty Посмотреть сообщение
нее.. TM1637 ни разу не I2C, и в ДШ это ясно обозначено. не всё двупроводное соответствует I2C/TWI
Ну, да. Но, однако сигнал Start, Stop и ACK там присутствует, если верить даташиту
И работать с ней надо по другому, не так, как с TM1638, которая классический SPI.
0
12 / 9 / 4
Регистрация: 30.09.2020
Сообщений: 29
09.05.2025, 19:58
Вот, что говорит даташит
Миниатюры
Attiny13+ TM1637 . не могу разобраться  
0
21 / 19 / 2
Регистрация: 23.01.2019
Сообщений: 143
10.05.2025, 06:27
Цитата Сообщение от Polkovnik_ Посмотреть сообщение
Ну, да. Но, однако сигнал Start, Stop и ACK там присутствует, если верить даташиту
Polkovnik_, я наверное из тех многих бедолаг, которым не удалось запустить tm1637 на аппаратном i2c
Это было в году 2017..2018 примерно..
Но мне нужен был быстрый результат и тогда я реализовал это программно.
Данный дисплей использовал всего 2 раза, поэтому так и не стал с аппаратным i2c разбираться, что там и к чему.. Тем более программное управление всего 200 строк кода, и это с коментариями.
А последнее, что я делал пару месяцев назад - это кухонный часы/таймер. И в нём на аппаратном i2c висит DS3231, и не понятно как бы они стали взаимодействовать )) короче не стал рисковать

Одна из загвоздок при изучении этого чипа - это даташит. Переведённым на английский лучше не пользоваться, а использовать китайский
И привести потом к своему восприятию


Упс.. наврал
3 раза использовал. Таймер для УФ лампы ещё.. но он на attiny2313, так что программное управление))
0
0 / 0 / 0
Регистрация: 03.11.2023
Сообщений: 10
10.05.2025, 21:59  [ТС]
всем спасибо. разобрался и запустил дисплей
C++
1
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
/*
 * ATtiny timer with TM1637 display
 * Tauno Erik
 * 18.02.2018
 *  */
 
#include <stdint.h>
#include <avr/io.h>
#include <util/delay.h>
#include "tm1637.h" 
 
 
int main(void)
{
 
  TM1637_init(); 
 
  while (1)
  {
      
   TM1637_display_digit(0,2); // Высести цифру "2" в разряд 0
   TM1637_display_digit(1,0); // Высести цифру "0" в разряд 1
   TM1637_display_colon(1); //включить двоеточие
   TM1637_display_digit(2,2); // Высести цифру "2" в разряд 2
   TM1637_display_digit(3,3); // Высести цифру "3" в разряд 3
   
   
   
  
      
   
  }
  
}

библиотеку взял с гитхаба

https://github.com/taunoe/ATtiny13-Stopwatch
0
21 / 19 / 2
Регистрация: 23.01.2019
Сообщений: 143
10.05.2025, 23:04
Цитата Сообщение от remontmob Посмотреть сообщение
всем спасибо
да не на чем
Цитата Сообщение от remontmob Посмотреть сообщение
библиотеку взял с гитхаба
это не спортивно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2025, 23:04
Помогаю со студенческими работами здесь

Не могу прошить Attiny13
Тиньки пришли с Китая прошли через ФюзеБитДоктор, программатор avrysp mk2 clone, заливаю через...

Не могу прошить attiny13
Под рукой есть такой программатор: http://www.ebay.com/itm/-/190898815655?roken=cUgayN Он иногда...

ATtiny13. PWM (ШИМ)
прошу знающих пояснить принцип управления аппаратным ШИМом, а именно: 1. как в коде Си это...

ATtiny13. Работа с АЦП (Си)
необходима информация о том, как правильно можно использовать ЦАП и компаратор в паре, а именно с...

Attiny13. Реализация ШИМ
Добрый вечер уважаемые !! В этой теме прошу о помощи программистовAttiny13/ Просьба не пинать и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru