MAX7219 вывод чисел
- Войдите на сайт для отправки комментариев
Втр, 22/12/2020 - 17:58
Вывести числа от 0 до 1023 в разбросанном порядке на 7-сегментный дисплей MAX7219.
Вывести числа от 0 до 1023 в разбросанном порядке на 7-сегментный дисплей MAX7219.
Есть, мэм!
Здравствуйте! Вот задание такое, числа до 9 я могу вывести, и то, без промежутка времени, а все вместе от 0 до 9. Как мне сделать чтобы числа менялись? от 0 до 1023?
Ответ банальный: нужно менять числа. Вероятно, после каждой смены числа нужно немного подождать.
#define MAX7219_Data_IN 11
#define MAX7219_Chip_Select 9
#define MAX7219_Clock 13
void shift(byte send_to_address, byte send_this_data)
{
digitalWrite(MAX7219_Chip_Select, LOW);
shiftOut(MAX7219_Data_IN, MAX7219_Clock, MSBFIRST, send_to_address);
shiftOut(MAX7219_Data_IN, MAX7219_Clock, MSBFIRST, send_this_data);
digitalWrite(MAX7219_Chip_Select, HIGH);
}
void init_MAX7219() //Setup of MAX7219 chip
{
shift(0x0f, 0x00); //display test register - test mode off
shift(0x0c, 0x01); //shutdown register - normal operation
shift(0x0b, 0x07); //scan limit register - display digits 0 thru 7
shift(0x0a, 0x0f); //intensity register - max brightness
shift(0x09, 0xff); //decode mode register - CodeB decode all digits
}
void setup() {
pinMode(MAX7219_Data_IN, OUTPUT);
pinMode(MAX7219_Chip_Select, OUTPUT);
pinMode(MAX7219_Clock, OUTPUT);
digitalWrite(MAX7219_Clock, HIGH);
delay(200);
init_MAX7219(); //Setup of MAX7219 chip
//Data transfer (adr, num):
shift(0x08, 0x02);
shift(0x07, 0x03);
shift(0x06, 0x04);
shift(0x05, 0x05);
shift(0x04, 0x06);
shift(0x03, 0x07);
shift(0x02, 0x08);
shift(0x01, 0x09);
}
void loop() {
}
ну значит мне нужно millis добавлять?
init_MAX7219(); //Setup of MAX7219 chip
теперь shiftы мне надо заменять? и мне как, все числа до 1023 что ли расписывать?Можно использовать массив?
Можно и через millis. А если не планируется дальнейшее расширение функциональности, можно и через delay.
Я не совсем понял, что такое "разбросанный порядок", но если выводить 1024 числа, то лучше это делать в цикле, а не ручками.
Можно.