Счетчик цифр для LED матрицы 16х32 на ардуино
- Войдите на сайт для отправки комментариев
Ср, 31/05/2017 - 13:23
Необходим реализовать проет счетчика цифр на светодиодных модулях полноцветных 16 х 32 точки, цифры 000-999 переключаются в +1 при нажатии на кнопку, итого 2 матрицы, на каждой по 3 сивола. Матрицы сами примерно такие https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/connecting-with-jumper-wires
Пишите ydom@mail.ru . Напишу код, проверю на макете, так что вы получите на 100% рабочий проверенный код. если нужна надежная работа, напишу на честном С, за ту же цену. ydom@mail.ru
Ну я делал подобный проект. Вот здесь пакет 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(); }qwone, контакт Ваш дайте
del