Дисплей на TM1637
- Войдите на сайт для отправки комментариев
Пнд, 22/01/2018 - 22:33
Привет, я дно.
Припаял к ардуинке(Atmega328) вот так указанный дисплей. Контакт вроде везде есть.
Какой код на неё загрузить чтобы на дисплее что-нибудь отобразилось? 
Код по ссылке из схемы.
та надо было просто их друг к другу саморезами прикрутить.
саморезами прикрутить.
Тут ещё исследовать надо, что эффективнее. Я - так за синюю изоленту!
+1 Только мне, вот блин, зелёные наны пришли, где теперь зелёную изоленту искать
а саморезы любые падходют. :)
Первый з гугла
#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
Первый з гугла
Не поможет, у ТС инет забанили.
Не поможет, у ТС инет забанили.
Если б только это!
Всё гораздо серьёзнее:
я запретил гуглить, яндексить, чебурашить.
Код по ссылке из схемы.
Для оглашённых задач
чтобы на дисплее что-нибудь отобразилось?
там слишком много лишнего.
та надо было просто их друг к другу саморезами прикрутить.
с саморзами был бы плохой контакт
и вообще
саморезами прикрутить.
Тут ещё исследовать надо, что эффективнее. Я - так за синюю изоленту!
+1 Только мне, вот блин, зелёные наны пришли, где теперь зелёную изоленту искать
а саморезы любые падходют. :)
для «ненадолго прихватить» на фото вообще всё отлично
Первый з гугла
Не поможет, у ТС инет забанили.
Не поможет, у ТС инет забанили.
Если б только это!
Всё гораздо серьёзнее:
я запретил гуглить, яндексить, чебурашить.
очевидно, что до этого я уже что-то пробовал, с отрицательным результатом
Первый з гугла
#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 соответсвенно)
Различие как минимум в библиотеках, которые Вы и adread используете (даже по названию видно). И забудте словосочетание "стандартная библиотека". Нет таких. Максимум что есть, это "библиотеки, поставляемые вместе с Arduino IDE". Но это, как я понимаю не Ваш случай.
Различие как минимум в библиотеках, которые Вы и adread используете (даже по названию видно). И забудте словосочетание "стандартная библиотека". Нет таких. Максимум что есть, это "библиотеки, поставляемые вместе с Arduino IDE". Но это, как я понимаю не Ваш случай.
Стандартная я имел ввиду что написана производителем модуля экранного. (По крайней мере вроде так написал человек где/у которого я скопировал скетч и скачал библиотеку).
Мне просто не понятно почему у них с тем скетчем и той библиотекой работало, а у меня нет.
Ошибок в коде скетчей нет?
Если Вам это действительно интересно, то берите код обеих библиотек и сравнивайте между собой. Процедуру инициализации модулей, процедуру вывода и т.д. Где-нибудь различия и вылезут. Или нет.
Ну и к слову, у Вас во всех примерах устанавливается яркость BRIGHT_TYPICAL (а у adread, кстати, максимум). Не пробовали максимальную поставить? Может вообще всё работает, только не видно ничего?
Не заработало с первыми тремя, потому как они кривые. Тоже на днях столкнулся.
Там какая то ошибка из за которой 1637виснет.
Покурил гитхаб, нашел ссылку оригинальную новую. А то что вы качали, все архивные.
С ТМ1637Display не сошлись характерами, много лишнего.
всё куда проще - надо найти 2 отличия (как для детей 2х лет на внимательность)
и оба кода заработают... (подсказда - смотри дефайны)
Речь о том что в первом примере прописано так:
а в двух других
?