#1 2018-10-29 12:14:58

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Выход D9 не работает

При подключении матричной клавиатуры столкнулся с некорректной работой платы нано (или среды?). Не нашел на форуме (поиском) соответствующей темы.
Программа типовая, простейшая (сократилась до нее): 4 пина выходы (9-6), 4 - входы (5-2). Выходы на строки входы на столбцы
Бегущий ноль с опросом входов. Пока входы непроинициализированы бегущий 0 бежит. Иначе на выходе 9 - черти-что(осциллографа нет). Вместо клавиатуры на выходы подключил светодиоды с 1кОм и  был удивлен работой, вернее не работой D9.

Неактивний

#2 2018-10-29 12:18:09

vvr
Учасник
Зареєстрований: 2015-04-12
Повідомлень: 874

Re: Выход D9 не работает

ну бывает))))
у меня на одной уне 10 пин не работает, а на другой А4...

Неактивний

#3 2018-10-29 12:27:26

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Re: Выход D9 не работает

а если повторяется на нескольких?

Неактивний

#4 2018-10-29 12:28:31

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Re: Выход D9 не работает

скетч пытаюсь вставить но пока не смог

Неактивний

#5 2018-10-29 12:29:34

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Re: Выход D9 не работает

const byte outs = 4; // 4 выхода
const byte inps = 4; // 4 входа

uint8_t outPins[outs] = {9, 8,7,6}; 
uint8_t inpPins[inps] = {5, 4,3,2}; 

void setup(void) 
{
  Serial.begin(9600);
  Serial.println("Hello!");
     for (int i = 0; i <= 4; i++) 
        {
          pinMode (outPins[i], OUTPUT); // инициализируем порты на выход 
//!!! если разремить след. строку, то Д9 почти потухнет          
//          pinMode (inpPins[i], INPUT);// инициализируем порты на вход
          delay(100);
          digitalWrite(outPins[i], HIGH);  
          delay(100);
        }
}

void loop(void) 
{

 for (int i = 0; i <= 4; i++) // цикл, передающий 0 по всем столбцам
  {
    digitalWrite(outPins[i], LOW);
    delay(100);
  digitalWrite(outPins[i], HIGH);
    delay(3);
  }
    delay(300);
}

Неактивний

#6 2018-10-29 12:30:19

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Выход D9 не работает

Могут быть непропаи, из за деффекта паяльной маски. Но, скорее всего, у вас ошибки в программе.

Неактивний

#7 2018-10-29 12:31:42

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Re: Выход D9 не работает

программу привел таки

Неактивний

#8 2018-10-29 12:32:47

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Re: Выход D9 не работает

непропай вряд ли, т.к. с заремленой инициализацией входов всё работает

Неактивний

#9 2018-10-29 12:33:08

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Выход D9 не работает

Ну да, так и есть. Ошибки диапазона индексов массивов. Внимательнее нужно, в языке С от этого защиты нет.

Неактивний

#10 2018-10-29 12:35:25

hvb
Учасник
Зареєстрований: 2017-07-08
Повідомлень: 7

Re: Выход D9 не работает

спасибо !

Неактивний

#11 2018-10-29 21:55:24

MikeM
Учасник
З Киев
Зареєстрований: 2017-11-03
Повідомлень: 160

Re: Выход D9 не работает

А где включение подтягивающих резисторов для входных портов?

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму