Взаимодействие Arduino Mega 2560 и 74HC4067
- Войдите на сайт для отправки комментариев
Пнд, 24/02/2014 - 09:30
Есть Arduino Mega 2560.
Пытаюсь освоить демультиплексор 74HC4067.
Соединения такие:
Выводы 10, 11, 14, 15 (S0, S1, S2, S3) ---> выводы arduino 8, 9, 10, 11 (pwm)
Вывод 1 ---> на +5в.
Вывод 15 ---> на землю
Пишу так:
byte controlPins[] = {B00000000,
B10000000,
B01000000,
B11000000,
B00100000,
B10100000,
B01100000,
B11100000,
B00010000,
B10010000,
B01010000,
B11010000,
B00110000,
B10110000,
B01110000,
B11110000 };
void setup()
{
DDRD = B11111111;
}
void setPin(int outputPin)
{
PORTD = controlPins[outputPin];
}
void loop()
{
for (int i = 0; i < 16; i++)
{
setPin(i);
delay(250);
}
}
При этом (по задумке) на 16 выходах, последовательно должна появиться лог. "1". Т.е. последовательно светодиоды должны загораться.
Но ничего не происходит.
Подскажите pls, что не так сделано ?
Вывод Z (1 нога) подключена на минус или плюс ?
А вижу, подключено.
Не верно задан массив чисел ,младший байт в конце ,т.е. B00001111 ,а не В11110000. Ознакомтесь с http://arduino.ru/forum/obshchii/pin-mapping-sootvetstvie-vyvodov-i-registrov
И вообще не нужны тут никакие массивы ..Можно сделать все проще. При текущем подходе нельзя будет использовать другие выводы порта D
Если Вам не трудно. Покажите pls, как проще ?