Счетчик цифр для LED матрицы 16х32 на ардуино

svt75
Offline
Зарегистрирован: 31.05.2017

Необходим реализовать проет счетчика цифр на светодиодных модулях полноцветных 16 х 32 точки, цифры 000-999 переключаются в +1 при нажатии на кнопку, итого 2 матрицы, на каждой по 3 сивола. Матрицы сами примерно такие https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/connecting-with-jumper-wires

Onkel
Offline
Зарегистрирован: 22.02.2016

Пишите ydom@mail.ru . Напишу код, проверю на макете, так что вы получите на 100% рабочий проверенный код. если нужна надежная работа, напишу на честном С, за ту же цену. ydom@mail.ru

m_t
Offline
Зарегистрирован: 29.03.2012
Какие сроки и бюджет?
Пишите на почту
m_t01@mail.ru
в сообщении указывайте страницу объявления
 
qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Ну я делал подобный проект. Вот здесь пакет   https://yadi.sk/d/UJii_RcC3GL8T6  головной выложу 

/*Wire_Max7219.ino  
   подключена матрица с 2,3,4
   кнопка 1->5
   кнопка 2->6
   кнопка 3->8
   кнопка 4->9
*/
#include "Cl_Wire_Max7219.h"
#include "Cl_Matrix_Max7219.h"
const byte DOUT_pin = 2;
const byte CLK_pin = 4;
const byte CS_pin = 3;
Cl_Wire_Max7219 wire(DOUT_pin, CLK_pin, CS_pin, 4); // создать шину из 4 послед соед Max7219
Cl_Matrix_Max7219 Matrix1(& wire, 1); // поставить Matrix1 первой
Cl_Matrix_Max7219 Matrix2(& wire, 2); // поставить Matrix2 второй
Cl_Matrix_Max7219 Matrix3(& wire, 3); // поставить Matrix3 третей
Cl_Matrix_Max7219 Matrix4(& wire, 4); // поставить Matrix4 четвертой
// кнопка 1
#include "Cl_pinin.h"
#include "Cl_do_btn.h"
Cl_pinin In1(5); // сделать вывод 5 входным
void Do_Btn1() {
  Matrix1.blink_OFF();
  Matrix2.blink_OFF();
  Matrix3.blink_OFF();
  Matrix4.blink_OFF();
  Matrix1.write(0x31);// напечатать на 1 матрице '1'    =0x31
  Matrix2.write(0x31);// напечатать на 2 матрице '1'    =0x31
  Matrix3.write(0x31);// напечатать на 3 матрице '1'    =0x31
  Matrix4.write(0x31);// напечатать на 4 матрице '1'    =0x31
}
Cl_do_btn  Btn1(&In1, 0,// подключить к шине кнопку / шина уровень когда кнопка нажата
                & Do_Btn1); // функция выполняющая при нажатии
// кнопка 2
Cl_pinin In2(6); // сделать вывод 6 входным
void Do_Btn2() {
  Matrix1.writeON(0x32); // печатать при вкл на 1 матрице '2'    =0x32
  Matrix1.writeOFF(0x20);// напечатать при выкл на 1 матрице ' ' =0x20
  Matrix2.writeON(0x32); // печатать при вкл на 2 матрице '2'    =0x32
  Matrix2.writeOFF(0x20);// напечатать при выкл на 2 матрице ' ' =0x20
  Matrix3.writeON(0x32); // печатать при вкл на 3 матрице '2'    =0x32
  Matrix3.writeOFF(0x20);// напечатать при выкл на 3 матрице ' ' =0x20
  Matrix4.writeON(0x32); // печатать при вкл на 4 матрице '2'    =0x32
  Matrix4.writeOFF(0x20);// напечатать при выкл на 4 матрице ' ' =0x20
  Matrix1.blink(200);// 0,2 сек вкл 0,2 сек выкл
  Matrix2.blink(200);// 0,2 сек вкл 0,2 сек выкл
  Matrix3.blink(200);// 0,2 сек вкл 0,2 сек выкл
  Matrix4.blink(200);// 0,2 сек вкл 0,2 сек выкл

}
Cl_do_btn  Btn2(&In2, 0,// подключить к шине кнопку / шина уровень когда кнопка нажата
                & Do_Btn2); // функция выполняющая при нажатии
// кнопка 3
Cl_pinin In3(8); // сделать вывод 8 входным
void Do_Btn3() {
  Matrix1.writeON(0x33); // печатать при вкл на 1 матрице '3'    =0x33
  Matrix1.writeOFF(0x20);// напечатать при выкл на 1 матрице ' ' =0x20
  Matrix2.writeON(0x33); // печатать при вкл на 2 матрице '3'    =0x33
  Matrix2.writeOFF(0x20);// напечатать при выкл на 2 матрице ' ' =0x20
  Matrix3.writeON(0x33); // печатать при вкл на 3 матрице '3'    =0x33
  Matrix3.writeOFF(0x20);// напечатать при выкл на 4 матрице ' ' =0x20
  Matrix4.writeON(0x33); // печатать при вкл на 4 матрице '3'    =0x33
  Matrix4.writeOFF(0x20);// напечатать при выкл на 4 матрице ' ' =0x20
  Matrix1.blink(500);// 0,5 сек вкл 0,5 сек выкл
  Matrix2.blink(500);// 0,5 сек вкл 0,5 сек выкл
  Matrix3.blink(500);// 0,5 сек вкл 0,5 сек выкл
  Matrix4.blink(500);// 0,5 сек вкл 0,5 сек выкл
}
Cl_do_btn  Btn3(&In3, 0,// подключить к шине кнопку / шина уровень когда кнопка нажата
                & Do_Btn3); // функция выполняющая при нажатии
// кнопка 4
Cl_pinin In4(9); // сделать вывод 9 входным
void Do_Btn4() {
  Matrix1.blink_OFF();
  Matrix2.blink_OFF();
  Matrix3.blink_OFF();
  Matrix4.blink_OFF();
  Matrix1.write(0x34);// напечатать на 1 матрице '4' =0x34
  Matrix2.write(0x34);// напечатать на 2 матрице '4' =0x34
  Matrix3.write(0x34);// напечатать на 3 матрице '4' =0x34
  Matrix4.write(0x34);// напечатать на 4 матрице '4' =0x34
}
Cl_do_btn  Btn4(&In4, 0,// подключить к шине кнопку / шина уровень когда кнопка нажата
                & Do_Btn4); // функция выполняющая при нажатии
void setup() {
  wire.setup();
  Matrix1.setup();
  Matrix2.setup();
  Matrix3.setup();
  Matrix4.setup();
  Matrix1.write(0x31);// напечатать на 1 матрице '1' =0x31
  Matrix2.write(0x32);// напечатать на 2 матрице '2' =0x32
  Matrix3.write(0x33);// напечатать на 3 матрице '3' =0x33
  Matrix4.write(0x34);// напечатать на 4 матрице '4' =0x34
  Btn1.setup();
  Btn2.setup();
  Btn3.setup();
  Btn4.setup();
}

void loop() {
  Matrix1.loop();
  Matrix2.loop();
  Matrix3.loop();
  Matrix4.loop();
  Btn1.loop();
  Btn2.loop();
  Btn3.loop();
  Btn4.loop();
}

 

svt75
Offline
Зарегистрирован: 31.05.2017

qwone, контакт Ваш дайте 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

del