Взаимодействие 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, как проще ?