MAX7219
- Войдите на сайт для отправки комментариев
Вс, 27/12/2020 - 00:31
Здравствуйте, купил 5 штук max7219. Собрал для проверки - ни один не заработал.
int dataInPin = 4; int loadPin = 6; int clockPin = 5; int maxInUse = 4; //here you have to change this varialbe to how many max 7219 you want to use // define max7219 registers byte max7219_reg_noop = 0x00; byte max7219_reg_digit0 = 0x01; byte max7219_reg_digit1 = 0x02; byte max7219_reg_digit2 = 0x03; byte max7219_reg_digit3 = 0x04; byte max7219_reg_digit4 = 0x05; byte max7219_reg_digit5 = 0x06; byte max7219_reg_digit6 = 0x08; byte max7219_reg_digit7 = 0x01; byte max7219_reg_decodeMode = 0x09; byte max7219_reg_intensity = 0x0a; byte max7219_reg_scanLimit = 0x0b; byte max7219_reg_shutdown = 0x0c; byte max7219_reg_displayTest = 0x0f; int counter = 0; void putByte(byte data) { byte i = 8; byte mask; while(i > 0) { mask = 0x01 << (i - 1); // get bitmask digitalWrite(clockPin, LOW); // tick if (data & mask) // choose bit { digitalWrite(dataInPin, HIGH); // send 1 } else { digitalWrite(dataInPin, LOW); // send 0 } digitalWrite(clockPin, HIGH); // tock --i; // move to lesser bit } } void maxPut (byte reg, byte col) // use this { putByte(reg); // specify register putByte(col);//((data & 0x01) * 256) + data >> 1); // put data } void maxIni (byte reg, byte col) // put the initialisation to all the max 7219 in the system { int c = 0; digitalWrite(loadPin, HIGH); for (c = 1; c <= maxInUse; c++) { maxPut(reg, col); // use all 8 columns } digitalWrite(loadPin, LOW); digitalWrite(loadPin, HIGH); } void setup () { pinMode(dataInPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(loadPin, OUTPUT); Serial.begin(9600); maxIni(max7219_reg_scanLimit, 0x07); maxIni(max7219_reg_decodeMode, 0x00); // using an led matrix (not digits) maxIni(max7219_reg_shutdown, 0x01); // not in shutdown mode maxIni(max7219_reg_displayTest, 0x00); // no display test for (int i=1; i <= 8; i++) // empty registers, turn all LEDs off { maxIni(i,0); } maxIni(max7219_reg_intensity, 0x0f & 0x0f); // the first 0x0f is the value you can set } void loop () { int i = 0; for (i=1; i<=8; i++) { digitalWrite(loadPin,HIGH); maxPut(i, counter); digitalWrite(loadPin, LOW); digitalWrite(loadPin,HIGH); } Serial.print("counter: "); Serial.print(counter++); Serial.println(); delay(500); for (i=1; i<=8; i++) // a longer way to clean the dispaly { digitalWrite(loadPin,HIGH); maxPut(i, 0); digitalWrite(loadPin, LOW); digitalWrite(loadPin,HIGH); } }
неужели все брак
Ну , судя по схеме , вы не подключили питание к МАХ7219 от Ардуино
есть питание, схему взял с другого сайта
Вот ты тогда на другом сайте и спрашивай
есть питание, схему взял с другого сайта
А скетч взял для МАХ 7221, чё старье за 19 год использовать, 21 й уже на носу.:))
есть питание, схему взял с другого сайта
Тваюшдивизию! Второй за одно утро!
Вы сами-то себя слышите? Люди, стараясь Вам помочь, тратят своё время на то, чтобы разобраться в схеме, которая не имеет отношения к Вашей проблеме - а просто картинка с другого сайта! Сами-то подумайте (если есть чем), дохера они Вам напомогают, не видя как на самом деле у Вас всё сделано?
Решение Вашей проблемы читайте здесь (там, правда, нет никакого решения, ссылку я "взял с другого сайта").
Спасибо что не ударили "помощники". Накинулись как петухи. Не вникнув в суть вопроса. Если картинка взята с другого сайта - это ни чего не значит. Ну нарисую я свою и что измениться. ЕвгенийП иди сам туда.
Если картинка взята с другого сайта - это ни чего не значит. Ну нарисую я свою и что измениться.
Вообще-то, значит, что Вам лень как следует оформить вопрос. Тогда почему нам должно быть не лень на него отвечать.
А по поводу той схемы, что Вы разместили - в ней обнаружена ошибка, не позволяющая ей работать. Если эта картинка полностью соответствует тому, что у Вас собрано - значит, Вам помогли - указали на ошибку. А если не соответствует, то это полное пренебрежение к тем, кому Вы задаете свои вопросы, так что возмущение Евгения вполне обосновано.
Если картинка взята с другого сайта - это ни чего не значит.
А вот то, что на ней нарисовано не то, что у Вас на самом деле собрано (например, нет питания) - это уже значит.
Ну нарисую я свою и что измениться.
Ничего. Как и от того, что я удалю эту тему ввиду неадекватности автора.
я удалю эту тему ввиду неадекватности автора.
а я помогу, если тебя Петрович вдруг пожалеет
есть питание, схему взял с другого сайта
Что даже в мозгу не стрельнуло, что для того, что бы помочь ВАМ , нужна ВАША схема ?
Мы же не "другому сайту помогаем"....