Дисплей на TM1637

Dnyu
Offline
Зарегистрирован: 22.01.2018

Привет, я дно.
Припаял к ардуинке(Atmega328) вот так указанный дисплей. Контакт вроде везде есть.
Какой код на неё загрузить чтобы на дисплее что-нибудь отобразилось?

alex_r61
Offline
Зарегистрирован: 20.06.2012

Код по ссылке из схемы.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

та надо было просто их друг к другу саморезами прикрутить. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DetSimen пишет:

саморезами прикрутить. 

Тут ещё исследовать надо, что эффективнее. Я - так за синюю изоленту!

MaksVV
Offline
Зарегистрирован: 06.08.2015

+1 Только мне, вот блин, зелёные наны пришли, где теперь зелёную изоленту искать

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

а саморезы любые падходют. :)

adread
Offline
Зарегистрирован: 23.01.2018

Первый з гугла 

#include <TM1637Display.h>

const int CLK = 9; //Set the CLK pin connection to the display
const int DIO = 8; //Set the DIO pin connection to the display


int NumStep = 0;  //Variable to interate

TM1637Display display(CLK, DIO);  //set up the 4-Digit Display.

void setup()
{
  display.setBrightness(0x0a);  //set the diplay to maximum brightness
}


void loop()
{
  for(NumStep = 0; NumStep < 9999; NumStep++)  //Interrate NumStep
  {
    display.showNumberDec(NumStep); //Display the Variable value;
    delay(500);  //A half second delay between steps.
  }
}

библиотека: https://github.com/avishorp/TM1637

alex_r61
Offline
Зарегистрирован: 20.06.2012

adread пишет:

Первый з гугла 

Не поможет, у ТС инет забанили.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

alex_r61 пишет:

Не поможет, у ТС инет забанили.

Если б только это!

Всё гораздо серьёзнее:

Клапауций 232 пишет:

я запретил гуглить, яндексить, чебурашить.

Dnyu
Offline
Зарегистрирован: 22.01.2018

alex_r61 пишет:

Код по ссылке из схемы.

Для оглашённых задач

Dnyu пишет:

чтобы на дисплее что-нибудь отобразилось?

там слишком много лишнего.

DetSimen пишет:

та надо было просто их друг к другу саморезами прикрутить. 

с саморзами был бы плохой контакт

и вообще

ЕвгенийП пишет:

DetSimen пишет:

саморезами прикрутить. 

Тут ещё исследовать надо, что эффективнее. Я - так за синюю изоленту!

 

MaksVV пишет:

+1 Только мне, вот блин, зелёные наны пришли, где теперь зелёную изоленту искать

DetSimen пишет:

а саморезы любые падходют. :)

для «ненадолго прихватить» на фото вообще всё отлично

alex_r61 пишет:

adread пишет:

Первый з гугла 

Не поможет, у ТС инет забанили.

ЕвгенийП пишет:

alex_r61 пишет:

Не поможет, у ТС инет забанили.

Если б только это!

Всё гораздо серьёзнее:

Клапауций 232 пишет:

я запретил гуглить, яндексить, чебурашить.

очевидно, что до этого я уже что-то пробовал, с отрицательным результатом

Dnyu
Offline
Зарегистрирован: 22.01.2018

adread пишет:

Первый з гугла 

#include <TM1637Display.h>

const int CLK = 9; //Set the CLK pin connection to the display
const int DIO = 8; //Set the DIO pin connection to the display


int NumStep = 0;  //Variable to interate

TM1637Display display(CLK, DIO);  //set up the 4-Digit Display.

void setup()
{
  display.setBrightness(0x0a);  //set the diplay to maximum brightness
}


void loop()
{
  for(NumStep = 0; NumStep < 9999; NumStep++)  //Interrate NumStep
  {
    display.showNumberDec(NumStep); //Display the Variable value;
    delay(500);  //A half second delay between steps.
  }
}

библиотека: https://github.com/avishorp/TM1637

Спасибо, заработало

Осталось только понять, почему не работало (и не работает) с этим:
 

#include <TM1637.h>

#define CLK 3 //определим константы как номера пинов на которые будут соединены с одноименными пинами на модуле
#define DIO 2 //это нужно будет позже

TM1637 tm1637(CLK,DIO);//создаем экземпляр объекта типа «TM1637», с которым будем далее работать и задаем пины.
// можно было и не определять константы, а написать проще — вместо трёх предыдущих строк одну:
// TM1637 tm1637(3,2);, но так как мы сделали наглядней

void setup()
{
tm1637.init();// инициализация библиотеки «TM1637.h»
tm1637.set(BRIGHT_TYPICAL);//установка яркости указанная константа равна 2, значение по умолчанию
}void loop()
{
tm1637.display(1234);//выводим на индикатор целое «1234»
delay(3000);//ждём 3 секунды
tm1637.display(0,9);//выводим на первое знакоместо индикатора (с индексом 0) знак «9», таким образом у нас на экранчике — «9234»
delay(3000);}//опять ждём 3 секунды, чтобы заценить результат

с этим

 

#include "TM1637.h"

int8_t DispMSG[] = {1, 2, 3, 4};

//Определяем пины для подключения к плате Arduino
#define CLK 3
#define DIO 2

//Создаём объект класса TM1637, в качестве параметров
//передаём номера пинов подключения
TM1637 tm1637(CLK, DIO);

void setup()
{
  //Инициализация модуля
  tm1637.init();

  //Установка яркости горения сегментов
  /*
   * BRIGHT_TYPICAL = 2 Средний
   * BRIGHT_DARKEST = 0 Тёмный
   * BRIGHTEST = 7      Яркий
   */
  tm1637.set(BRIGHT_TYPICAL);
}

void loop()
{
  //Задание на включение разделителя
  tm1637.point(true);
  //Выводим массив на дисплей
  tm1637.display(DispMSG);
  //Задержка
  delay(1000);
  //Задание на выключение разделителя
  tm1637.point(false);
  //Выводим массив на дисплей
  tm1637.display(DispMSG);
  //Задержка
  delay(1000);
}

("первые з гугла" которые выдало вчера мне)

и даже(или не даже) с этим:
 

//  Author:Fred.Chu
//  Date:9 April,2013
//  catalex.taobao.com

//  This library is free software; you can redistribute it and/or
//  modify it under the terms of the GNU Lesser General Public
//  License as published by the Free Software Foundation; either
//  version 2.1 of the License, or (at your option) any later version.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#include "TM1637.h"
#define CLK 5//pins definitions for TM1637 and can be changed to other ports       
#define DIO 4
TM1637 tm1637(CLK,DIO);
void setup()
{
  tm1637.init();
  tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
}
void loop()
{
  int8_t NumTab[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//0~9,A,b,C,d,E,F
  int8_t ListDisp[4];
  unsigned char i = 0;
  unsigned char count = 0;
  delay(150);
  while(1)
  {
    i = count;
    count ++;
    if(count == sizeof(NumTab)) count = 0;
    for(unsigned char BitSelect = 0;BitSelect < 4;BitSelect ++)
    {
      ListDisp[BitSelect] = NumTab[i];
      i ++;
      if(i == sizeof(NumTab)) i = 0;
    }
    tm1637.display(0,ListDisp[0]);
    tm1637.display(1,ListDisp[1]); 
    tm1637.display(2,ListDisp[2]);
    tm1637.display(3,ListDisp[3]);
    delay(300);
  }
}

(пример из стандартной библиотеки, шедший в ней же)

(CLK и DIO везде естественно менял на 5 и 4 соответсвенно)

kalapanga
Offline
Зарегистрирован: 23.10.2016

Различие как минимум в библиотеках, которые Вы и adread используете (даже по названию видно). И забудте словосочетание "стандартная библиотека". Нет таких. Максимум что есть, это "библиотеки, поставляемые вместе с Arduino IDE". Но это, как я понимаю не Ваш случай.

Dnyu
Offline
Зарегистрирован: 22.01.2018

kalapanga пишет:

Различие как минимум в библиотеках, которые Вы и adread используете (даже по названию видно). И забудте словосочетание "стандартная библиотека". Нет таких. Максимум что есть, это "библиотеки, поставляемые вместе с Arduino IDE". Но это, как я понимаю не Ваш случай.


Стандартная я имел ввиду что написана производителем модуля экранного. (По крайней мере вроде так написал человек где/у которого я скопировал скетч и скачал библиотеку).
Мне просто не понятно почему у них с тем скетчем и той библиотекой работало, а у меня нет.
Ошибок в коде скетчей нет?

kalapanga
Offline
Зарегистрирован: 23.10.2016

Если Вам это действительно интересно, то берите код обеих библиотек и сравнивайте между собой. Процедуру инициализации модулей, процедуру вывода и т.д. Где-нибудь различия и вылезут. Или нет.

Ну и к слову, у Вас во всех примерах устанавливается яркость BRIGHT_TYPICAL (а у adread, кстати, максимум). Не пробовали максимальную поставить? Может вообще всё работает, только не видно ничего?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Не заработало с первыми тремя, потому как они кривые. Тоже на днях столкнулся.
Там какая то ошибка из за которой 1637виснет.
Покурил гитхаб, нашел ссылку оригинальную новую. А то что вы качали, все архивные.
С ТМ1637Display не сошлись характерами, много лишнего.

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

всё куда проще - надо найти 2 отличия (как для детей 2х лет на внимательность)

и оба кода заработают... (подсказда - смотри дефайны)

Dnyu
Offline
Зарегистрирован: 22.01.2018

Речь о том что в первом примере прописано так:

const int CLK = 9; //Set the CLK pin connection to the display
const int DIO = 8; //Set the DIO pin connection to the display

а в двух других

#define CLK 3
#define DIO 2

?