#1 2017-07-06 21:07:57

navi
Участник
Зарегистрирован: 2017-07-06
Сообщений: 3

нет реакции от max7219

подключаю Arduino Uno micro-usb к max7219 к двум четырехразрядным индикаторам. подключение проверял; менял чип на запасной; писал скетчи в arduino ide с использованием стандартной библиотеки spi, с использованием библиотеки ledcontrol; но нет реакции, а точнее в любом случае горят все сегменты. help)

#2 2017-07-06 21:19:30

Вячеслав Азаров
Участник
Из Запорожье
Зарегистрирован: 2017-05-25
Сообщений: 410

Re: нет реакции от max7219

Без изучения ваших схем, программ, и монтажа помочь не реально. Ищите грубую ошибку или в соединениях или в программах. Все должно работать, Максим брак не делает, проверено.

Редактировался Вячеслав Азаров (2017-07-06 21:19:49)

#3 2017-07-06 23:46:54

navi
Участник
Зарегистрирован: 2017-07-06
Сообщений: 3

Re: нет реакции от max7219

Max7219-4-digit-7-segment-LED-circuit.png

#include <SPI.h>

// What pin on the Arduino connects to the LOAD/CS pin on the MAX7219/MAX7221
#define LOAD_PIN 10

/**
 * Transfers data to a MAX7219/MAX7221 register.
 * 
 * @param address The register to load data into
 * @param value   Value to store in the register
 */
void maxTransfer(uint8_t address, uint8_t value) {

  // Ensure LOAD/CS is LOW
  digitalWrite(LOAD_PIN, LOW);

  // Send the register address
  SPI.transfer(address);

  // Send the value
  SPI.transfer(value);

  // Tell chip to load in data
  digitalWrite(LOAD_PIN, HIGH);
}
  

void setup() {
  
  // Set load pin to output
  pinMode(LOAD_PIN, OUTPUT);

  // Reverse the SPI transfer to send the MSB first  
  SPI.setBitOrder(MSBFIRST);
  
  // Start SPI
  SPI.begin();

  // Run test
  // All LED segments should light up
  maxTransfer(0x0F, 0x01);
  delay(1000);
  maxTransfer(0x0F, 0x00);
  
  // Enable mode B
  maxTransfer(0x09, 0xFF);
  
  // Use lowest intensity
  maxTransfer(0x0A, 0x00);
  
  // Only scan one digit
  maxTransfer(0x0B, 0x00);
  
  // Turn on chip
  maxTransfer(0x0C, 0x01);
  
  
  
}

void loop() {
  
  // Loop through each code
  for (uint8_t i = 0; i < 0x10; ++i)
  {
    maxTransfer(0x01, i);
    delay(500);
  }
  
}

#4 2017-07-07 07:25:12

Вячеслав Азаров
Участник
Из Запорожье
Зарегистрирован: 2017-05-25
Сообщений: 410

Re: нет реакции от max7219

Похоже, вы с командами напутали. Выключаете а не включаете.

Редактировался Вячеслав Азаров (2017-07-07 07:26:46)

#5 2017-07-07 15:03:56

navi
Участник
Зарегистрирован: 2017-07-06
Сообщений: 3

Re: нет реакции от max7219

В общем, оказалось, что распиновка моего индикатора SMA410364 с общим анодом. думаю как теперь изменить схему подключения

Редактировался navi (2017-07-07 15:12:42)

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела