Arduino и модуль расширения I2C на PCA8574AD
- Войдите на сайт для отправки комментариев
Вс, 27/11/2016 - 17:02
Добрый день!
Пытаюсь встроить сей модуль в проект.
Взял пример отсюда, вроде работает, но полного понимания что здесь и зачем нет.
Вот код:
#include <Wire.h> #define DEVICE_1 0x7C #define DEVICE_2 0x38 void setup() { Wire.begin(); IOexpanderWrite(DEVICE_2, 0x0F); } void loop() { byte k; for(byte i = 0; i<255; i++) { IOexpanderWrite(DEVICE_1, i); delay(50); k = IOexpanderRead(DEVICE_2); delay(50); IOexpanderWrite(DEVICE_2, (k<<4)|0x0F); delay(200); } } //Write a byte to the IO expander void IOexpanderWrite(byte address, byte _data ) { Wire.beginTransmission(address); Wire.write(_data); Wire.endTransmission(); } //Read a byte from the IO expander byte IOexpanderRead(int address) { byte _data; Wire.requestFrom(address, 1); if(Wire.available()) { _data = Wire.read(); } return _data; }
Подскажите, плиз, для начала, зачем мы гоняем этот цикл:
for(byte i = 0; i<255; i++)
И зачем мы записываем все значения i:
IOexpanderWrite(DEVICE_1, i)
Это текст по Вашей ссылке.
--------
The included Wire library allows to communicate to the I2C/TWI bus of Arduino.
The binary counter is incremented by every 300 mS and writes it to the Group 1 IO expander, where LEDs are connected and configured as digital output pins.
Lower nibble of Group 2 IO expander is read and displayed at upper nibble of the same IO expander.
Lower nibble is configured as inputs, and connected with 4 way dip switch.
Upper nibble is configured as output and connected with 4 LEDs.
---------
Вы читать не умеете? Верю, что умеете, тогда внятно скажите, что именно Вам непонятно? Потому, что ответы на Ваши вопросы из первого поста содержатся в описании кода.
Я собрал схему по варианту DIP+4LED.
Если в Loop оставить только
То всё работает и так. Вот мне и непонятно, даже из описания, ну извините, зачем добавлен этот цикл.
он касается первого регистра. Если Вы его не ставили, то он ни зачем не нужен. Это просто тест собранной схемы.
Вы точно можете читать написанное?
Я к тому, что незнание английского равно ПОЛНОЙ невозможности что-то делать в программировании и электронике.
Тут, да и на других форумах, много людей, которые не могут прочесть даташит, над ними даже смеются... жалеют и стесняются, как инвалида на паперти.